command kubectl
kubectl 輸出格式
- 顯示Pod的更多信息
kubectl get pod <pod-name> -o wide
- 以yaml格式顯示Pod的詳細信息
kubectl get pod <pod-name> -o yaml
kubectl 操作示例
1. 創建資源對象
- 根據yaml配置文件一次性創建service和rc
kubectl create -f my-service.yaml -f my-rc.yaml
- 根據
<directory>
目錄下所有.yaml、.yml、.json文件的定義進行創建操作
kubectl create -f <directory>
2. 查看資源對象
- 查看所有Pod列表
kubectl get pods
- 查看rc和service列表
kubectl get rc,service
3. 描述資源對象
- 顯示Node的詳細信息
kubectl describe nodes <node-name>
- 顯示Pod的詳細信息
kubectl describe pods/<pod-name>
- 顯示由RC管理的Pod的信息
kubectl describe pods <rc-name>
4. 刪除資源對象
- 基於Pod.yaml定義的名稱刪除Pod
kubectl delete -f pod.yaml
- 刪除所有包含某個label的Pod和service
kubectl delete pods,services -l name=<label-name>
- 刪除所有Pod
kubectl delete pods --all
5. 執行容器的命令
- 執行Pod的data命令,默認是用Pod中的第一個容器執行
kubectl exec <pod-name> data
- 指定Pod中某個容器執行data命令
kubectl exec <pod-name> -c <container-name> data
- 通過bash獲得Pod中某個容器的TTY,相當於登錄容器
kubectl exec -it <pod-name> -c <container-name> bash
6.Pod的擴容與縮容
- 執行擴容縮容Pod的操作
kubectl scale rc redis --replicas=3
我們需要確認的是在rc配置文件中定義的replicas數量,當我們執行上述命令的結果大於replicas的數量時,則我們執行的命令相當於擴容操作,反之相反,可以理解為我們填寫的數量是我們需要的Pod數量。需要注意的是,當我們需要進行永久性擴容時,不要忘記修改rc配置文件中的replicas數量。
7.Pod的滾動升級
- 執行滾動升級操作
kubectl rolling-update redis -f redis-rc.update.yaml
需要注意的是當我們執行
rolling-update
命令前需要准備好新的RC配置文件以及ConfigMap配置文件,RC配置文件中需要指定升級后需要使用的鏡像名稱,或者可以使用kubeclt rolling-update redis --image=redis-2.0
直接指定鏡像名稱的方式直接升級。