[TOC]html
經常使用查看資源對象(|rc|
)有namespace(ns)
pods
service(svc)
endpoints(ep)
deployment(deploy)
pvc
ingresses(ing)
,括號內爲最簡寫法。 kubectl get |rc|
顯示更多信息,在後面接-o wide
、-ojson
或者-o yaml
,同時查看多個資源對象用英文逗號隔開。
查看資源對象全名,可經過kubectl rc,|rc|
linux
建立時,注意文件內是否有namespace,若是沒有,請在命令後面指定-n |namespace-name|
。
根據yaml配置文件一次性建立資源對象 kubectl create -f service.yaml -f deployment.yaml
根據|directory|
目錄下全部.yaml
、.yml
、.json
文件的定義進行建立操做 kubectl create -f |directory|
json
對資源進行配置,最經常使用功能。 kubectl apply -f service.yaml
kubectl apply -f |directory|
windows
編輯資源對象時,編輯器爲vi
,須要熟悉vi
命令操做。 kubectl edit deploy |deployment-name|
bash
若是日常是使用yaml文件維護,注意下次修改時的配置。 app
顯示service
的詳細信息 kubectl describe svc |service-name|
顯示pod
的詳細信息,其中顯示的pod
啓動過程事件能夠幫助排錯。 kubectl describe pods/|pod-name|
tcp
相似create
命令用法
基於deployment.yaml
定義的名稱刪除deployment
kubectl delete -f deployment.yaml
根據|directory|
目錄下全部.yaml
、.yml
、.json
文件的定義進行建立刪除 kubectl delete -f |directory|
刪除全部包含某個label
的pod
和service
kubectl delete pods,svc -l name=|label-name|
編輯器
執行pod
的ls
命令,默認是用pod
中的第一個容器執行 kubectl exec -it |pod-name| -- ls
指定pod
中某個容器執行ls
命令 kubectl exec |pod-name| -c |container-name| ls
登陸容器(容器中命令存在時) kubectl exec -it |pod-name| /bin/sh
kubectl exec -it |pod-name| /bin/bash
ide
查看容器的所有日誌。pod
中有多個容器時須要指定容器名kubectl logs |pod-name| [|container-name|]
相似tail -f
實時輸出日誌 kubectl logs -f |pod-name|
查看最近多少時間以來日誌,並實時輸出,適用於日誌較多,運行較久的pod
kubectl logs -f |pod-name| --since 10m
ui
通常配合kubectl describe pods/|pod-name|
進行排錯。
執行擴容縮容pod的操做,支持的資源對象有deployment
statefulset
daemonset
kubectl scale deploy |deployment-name| --replicas=2
擴容與縮容是相對於當前的replicas
數。若是日常是使用yaml文件維護,注意下次修改時的配置。
執行滾動升級操做 kubectl rolling-update |deployment-name| -f deployment.yaml
能夠使用kubeclt rolling-update |deployment-name| --image=example:v2.0
直接指定鏡像名稱的方式直接升級。
還能夠使用kubectl edit
命令達到滾動升級目的。若是日常是使用yaml文件維護,注意下次修改時的配置。
在集羣節點外面鏈接集羣,避免大量端口管理,能夠做爲開發調試經常使用功能。當前v1.12
版本還未支持tcp keepalived鏈接,所以鏈接不活動容易中斷。kubectl port-forward svc/|service-name| 本機端口:服務端口 …
注意windows和linux目錄斜杆差異 kubectl cp /local_path/filename |namespace|/|pod-name|:/container_path/
kubectl cp |namespace|/|pod-name|:/container_path/ /local_path/filename
其它技巧:
https://jimmysong.io/kubernetes-handbook/guide/kubectl-cheatsheet.html