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官網
# kubernetes官方文檔其他命令
https://v1-8.docs.kubernetes.io/docs/reference/generated/kubectl/kubectl-commands
