一. 設置kubectl輸入命令自動補全
依次執行一下命令:
yum install -y bash-completion
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc
二. 名稱簡寫
po (pod)
ns (命名空間namespace)
instance (實例)
svc (service服務): 定義一個pod的邏輯分組,一種可以訪問他們的策略(微服務)。
cm (configMap): 存儲全局配置變量的,將分布式系統中不同模塊的環境變量統一到一個對象中管理。
ds (deamonSet):在每台計算機節點上運行一個守護進程(如日志采集等),有時pod處於pending可能是因為某個deamonSet沒起來。
deploy (deployment)
三. 常用命令
kubectl獲取命令
kubectl get node
獲取節點信息
kubectl get pods -o wide
獲取pod詳細信息
kubectl get ns
獲取所有namespace
bukectl get deployment
獲取deployment信息
kubectl get svc
查看service信息
kubectl describe svc
查看service信息
kubectl get svc -n kube-system
查看service的ip地址
kubectl -n {$namespace} get pods
在指定的namespace下獲取資源
kebuctl logs nginx
獲取nginx pod的日志信息
kubectl創建pod
kubectl run nginx-deploy --image=nginx --port=80 --replicas=1 --dry-run=true
nginx-deploy 表示deployment的名稱
--images 表示鏡像的地址
--port 表示pod暴露的端口
--replicas 表示副本的個數
--dry-run 表示測試,不真正執行命令(測試命令是否正確),去掉該參數即真正執行命令
kubectl創建service
kubectl expose deployment nginx-deploy --name=nginx --port=80 --target-port=80 --protocol=TCP --type=ClusterIP
deployment nginx-deploy 表示導出哪個deployment到service
--name 創建service的名稱
--port 表示service開放的端口
--target-port 表示pod的遠端端口
--protocol 表示傳輸方式(tcp/udp)
--type 表示該service展現的范圍(ClusterIP表示在集群內部使用)
kubectl創建交互式pod
kubectl run client --image=busybox --restart=Never --replicas=1 -it
創建一個交互式dns服務器的pod,當退出時該pod刪除(--restart=Never)
kubectl升級pod
kubectl set image deployment nginx-deploy nginx-deploy=nginx:20190424
升級deployment為nginx-deploy的pod, 所使用的的鏡像是nginx:20190424
kubectl rollout status deployment nginx-deploy
顯示deployment為nginx-deploy的跟新過程.屬於輪詢更新,一個個更新的
kubectl rollout undo deployment nginx-deploy
如不指明nginx-deploy=nginx:20190424,那么就是回滾到上一個版本
kubectl修改配置
kubectl edit svc nginx
修改service的nginx的type類型為NodePort
kubectl針對資源清單的簡單命令
kubectl create -f pod-demo.yaml
創建一個pod-demo的資源清單
bukectl descride pod pod-demo
查看pod-demo創建詳情過程
kubectl logs pod-demo nginx-deploy
查看pod-demo的pod中的nginx-deploy容器日志
kubectl exec -it pod-demo -c nginx-deploy --/bin/bash
交互式進入nginx-deploy容器進行操作
kubectl delete pod pod-demo
刪除pod-demo的pod
kubectl delete -f pod-demo.yaml
刪除pod-demo的pod