Docker Kubernetes 常用命令


Docker Kubernetes 常用命令

 



  • # 通過文件名或標准輸入創建資源。
  • kubectl create
  •   # 讀取指定文件內容,進行創建。(配置文件可指定json,yaml文件)。
  •   kubectl create -f 配置文件
  •   # 創建指定文件內容,創建並指定服務版本。(配置文件可指定json,yaml文件)。
  •   kubectl create -f 配置文件 --edit --output-version=版本號 -o json

  •  # 將一個資源公開為一個新的Kubernetes服務,暴露服務。
  • kubectl expose
  •   # 創建Kubernetes 資源類型,並添加暴露端口。
  •   kubectl expose 資源類型 資源名稱 --port=暴露端口 --target-port=容器端口
  •   # 創建Kubernetes service 服務,並添加暴露端口。
  •   kubectl expose service 資源名稱 --port=暴露端口 --target-port=容器端口 --name=創建服務名稱
  •   # 創建Kubernetes ,並添加UDP暴露端口,使用默認容器端口。
  •   kubectl expose 資源類型 資源名稱 --port=暴露端口 --protocol=udp --name=創建服務名稱
  •   # 創建Kubernetes服務,根據yaml文件,並添加暴露端口。(配置文件可指定json,yaml文件)。
  •   kubectl expose -f 配置文件 --port=暴露端口 --target-port=容器端口

  • # 創建並運行一個特定的鏡像,可能是副本。創建一個deployment或job管理創建的容器。
  • kubectl run
  •   # 創建一個鏡像,運行。
  •   kubectl run 容器名 --image=鏡像名
  •   # 創建一個鏡像,運行。並啟用暴露端口。
  •   kubectl run 容器名 --image=鏡像名 --port=暴露端口
  •   # 創建一個鏡像,運行。並引入變量。
  •   kubectl run 容器名 --image=鏡像名 --env=“變量”
  •   # 創建一個鏡像,運行。並引入標簽。
  •   kubectl run 容器名 --image=鏡像名 --labels="key=value,env=prod"
  •   # 創建一個鏡像,運行。並設置副本數。默認1。
  •   kubectl run 容器名 --image=鏡像名 --replicas=副本數
  •   # 創建一個鏡像,運行。並添加-i-t訪問容器終端。並設置重啟策略(Never不重啟)。
  •   kubectl run -i -t 容器名 --image=鏡像名 --restart=重啟策略
  •   # 創建一個鏡像,運行。並指定容器內執行指定命令。
  •   kubectl run 容器名 --image=鏡像名 --command -- 指定命令


  • # 通過文件名、標准輸入、資源名稱或標簽選擇器來刪除資源
  • kubectl delete
  •   # 刪除指定資源。
  •   kubectl delete 資源類型 資源名
  •   # 刪除所有指定資源。
  •   kubectl delete 資源類型 -all
  •   # 通過指定文件刪除指定資源。(配置文件.json .yaml)
  •   kubectl delete -f 配置文件

  • # 維護期間排除容器名
  • kubectl drain
  •   # 排除指定容器名。
  •   kubectl drain 容器名


  • # 配置應用資源。修改現有應用程序資源。
  • kubectl set
  •   # 更新pod內的環境變量。
  •   kubectl set env 資源類型 資源名稱 添加變量=值
  •   # 更新pod鏡像。
  •   kubectl set image 資源類型 資源名稱 容器名=升級鏡像版本
  •   # 更新pod內的資源。
  •   kubectl set resources 資源類型 資源名稱 [請求——限制= & =請求][選項]
  •   # 通過配置文件更新pod內的資源。(配置文件.json .yaml)
  •   kubectl set resources -f 配置文件

  • # 使用默認的編輯器編輯一個資源。
  • kubectl edit
  •   # 動態更新服務配置參數。
  •   kubectl edit 資源類型 資源名稱

  • # 管理資源的發布。
  • kubectl rollout
  •   # 回滾到上一個版本。
  •   kubectl rollout undo 資源類型 資源名稱
  •   # 指定版本回滾。
  •   kubectl rollout undo 資源類型 資源名稱 --to-revision=3
  •   # 查看當前的資源狀態。
  •   kubectl rollout status 資源類型 資源名稱
  •   # 查看歷史修訂版本
  •   kubectl rollout history 資源類型 資源名稱
  •   # 查看指定歷史修訂版本
  •   kubectl rollout history 資源類型 資源名稱 --revision=版本數

  • # 執行指定復制控制的滾動更新。
  • kubectl rolling-update
  •   # 滾動更新v1版本,通過json配置文件跟新到v2版本。
  •   kubectl rolling-update 服務名稱-v1 -f 服務名稱-v2.json
  •   # 滾動更新v1版本,到v2,並指定更新鏡像。
  •   kubectl rolling-update 服務名稱-v1 服務名稱-v2 --image=image:v2

  • # 擴容或縮容Pod數量,Deployment、ReplicaSet、RC或Job
  • kubectl scale
  •   # 擴容縮容副本數。
  •   kubectl scale --replicas=副本數 資源類型 資源名稱
  •   # 擴容縮容副本數。對多個資源擴容。
  •   kubectl scale --replicas=副本數 資源類型/資源名稱1 資源類型/資源名稱2
  •   # 擴容縮容副本數。如果當前副本數為N個就擴容為Y個。
  •   kubectl scale --current-replicas=副本數N --replicas=副本數Y 資源類型 資源名稱

  • # 創建一個自動選擇擴容或縮容並設置Pod數量
  • kubectl autoscale
  •   # 設置該資源類型的副本數自動擴容到相關值
  •   kubectl autoscale 資源類型 資源名稱 --min=最小值 --max=最大值
  •   # 設置該資源類型的副本數自動擴容到相關值。並根據CPU閾值擴容縮容。
  •   kubectl autoscale 資源類型 資源名稱 --max=最大值 --最小值 --cpu-percent=80

  • # 修改證書資源。
  • kubectl certificate

  • # 標記節點不可調度
  • kubectl cordon
  •   # 標記指定節點不可調度
  •   kubectl cordon 節點名

  • # 標記節點可調度
  • kubectl uncordon
  •   # 標記指定節點可調度
  •   kubectl uncordon 節點名

  •  # 更新一個或多個節點上的nodes。
  • kubectl taint

  •  # 執行命令到容器。
  • kubectl exec
  •   # 執行指定命令到容器中。
  •   kubectl exec 容器名 命令
  •   # 分配偽終端已宿主級向容器添加命令。
  •   kubectl exec 容器名 -- bash -c “命令”
  •   # 進入指定節點容器內。
  •   kubectl exec 容器名 -it bash

  • # 轉發一個或多個本地端口到一個pod。
  • kubectl port-forward
  •   # 將宿主級端口轉發到容器中。
  •   kubectl port-forward 容器名 宿主級端口:容器端口

  • # 為kubernetes API Server啟動服務代理
  • kubectl proxy

  • # 拷貝文件或目錄到容器中。
  • kubectl cp

  •  # 附加到一個進程到一個已經運行的容器。
  • kubectl attach
  •   # 進入到一個運行的容器終端。
  •   kubectl attach 容器名

  •  # 通過文件名或標准輸入對資源應用配置
  • kubectl apply
  • # 更新部署配置文件信息(配置文件格式.json .yaml)
  • kubectl apply -f 配置文件

  •  # 使用補丁修改、更新資源的字段。
  • kubectl patch

  • # 通過文件名或標准輸入替換一個資源。
  • kubectl replace
  •   # 重新創建配置文件內的資源 。配置文件可是(.yaml、.json)
  •   kubectl replace -f 配置文件 --force

  •  # 不同的API版本之間轉換配置文件。YAML和JSON格式都接受。
  • kubectl convert

  • # 更新資源上的標簽
  • kubectl label

  • # 在一個或多個資源上更新注釋。
  • kubectl annotate

  • # 修改kubeconfig文件(用於訪問API,比如配置認證信息)
  • kubectl config


  • # 顯示一個或多個資源
  • kubectl get
  •   # 查看組件運行狀態
  •   kubectl get componentstatus
  •   # 查看節點加入信息
  •   kubectl get node
  •   # 查看所有資源
  •   kubectl get all
  •   # 查看pods狀態
  •   kubectl get pods
  •   # 查看pods及運行節點位置,查看更多信息
  •   kubectl get pods -o wide
  •        # 查看pods下其他命名空間(kube-system等)
  •        kubectl get pods -n 命名空間
  •   # 查看endpoints節點
  •   kubectl get endpoints
  •   # 查看sservice暴露宿主級訪問地址描述信息
  •   kubectl get service
  •   # 根據標簽查找資源描述信息。--output=wide查看更多信息。
  •   kubectl get 資源類型 --selector="key=value" --output=wide
  •   # 查看資源所有標簽
  •   kubectl get 資源類型 --show-labels
  •   # 根據標簽查看資源
  •   kubectl get 資源類型 -l app=example
  •   # 查看指定命名空間的資源
  •   kubectl get 資源類型 --namespace=kube-system
  •        # 查看命名空間
  •        kubectl get ns

  • # 文檔參考資料,可查看yaml文件字段指令含義。
  • kubectl explain
  •   # 獲得資源的特定字段的文檔
  •   kubectl explain pods.spec.containers
  •   # 獲得資源及其字段的文檔
  •   kubectl explain pods

  • # 顯示集群信息
  • kubectl cluster-info
  •   # 顯示詳細集群信息
  •   kubectl cluster-info dump

  • # 顯示資源(CPU/Memory/Storage)使用。需要Heapster運行。
  • kubectl top

  • # 顯示特定資源或資源組的詳細信。
  • kubectl describe
  •   # 查看資源詳細信息
  •   kubectl describe 資源類型 資源名稱
  •   # 指定標簽。詳細信息。
  •   kubectl describe 資源類型 -l name=標簽名
  •        # 查看node資源使用詳情信息
  •        kubectl describe nodes NodeIP

  • # 在od或指定的資源中容器打印日志。如果od只有一個容器,容器名稱是可選的。
  • kubectl logs
  •   # 查看指定節點服務日志。
  •   kubectl logs 容器名
  •   # 查看指定容器日志。
  •   kubectl logs pod 節點名 -c 容器名
  •   # 查看指定容器日志。實時查看。
  •   kubectl logs pod 容器名 -f
  •   # 通過標簽查看容器日志
  •   kubectl logs -l key=value

其他


  • # 檢查認證授權
  • kubectl auth

  • # 用於實現kubectl工具自動補全
  • kubectl completion

  • # 執行實現自動補全動作
  • source <(kubectl completion bash)

  • # 打印受支持的API版本
  • kubectl api-versions

  • # 所有命令幫助。
  • kubectl help

  • # 運行一個命令行插件。
  • kubectl plugin

  • # 打印客戶端和服務版本信息
  • kubectl version

 

# kubernetes官網

https://kubernetes.io/

 

# kubernetes官方文檔其他命令

https://v1-8.docs.kubernetes.io/docs/reference/generated/kubectl/kubectl-commands

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM