常用kubectl命令總結

風靈使發表於2019-04-05

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
    根據目錄下所有.yaml、.yml、.json檔案的定義進行建立操作
    kubectl create -f <directory>

  2. 檢視資源物件

    檢視所有Pod列表
    kubectl get pods
    檢視rcservice列表
    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
    刪除所有包含某個labelPodservice
    kubectl delete pods,services -l name=<label-name>
    刪除所有Pod
    kubectl delete pods --all

  5. 執行容器的命令

    執行Poddata命令,預設是用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直接指定映象名稱的方式直接升級。

相關文章