Kubectl 命令 - daniel-qa/Azure-Kubernetes-Service GitHub Wiki
Basic Commands
- 拷貝檔案
要注意,pod預設路徑為 workdir, 只能拷貝檔案
kubectl cp laravel-7c56d657f7-zg467:readme.md /opt/tmp/test.txt
kubectl cp laravel-7c56d657f7-zg467:.env /opt/tmp/.env
- 查詢 POD
kubectl get deploy laravel -o wide
kubectl describe pod busybox
- 刪除 deploymetn 相關資源
kubectl delete -f .\aspnetapp-deployment.yml # 將部署與服務刪除.
#
查看和查找资源- 查看 Node 資源 ( cpu / memory 使用率)
kubectl describe nodes my-node
kubectl describe nodes aks-agentpool-47518295-vmss000002
更新資源
用 set image 失效時,把 image 名稱改成不同的名稱,再指定,就可成功更新鏡像 (一般為Image使用相同名稱造成)
kubectl rollout
kubectl set image deployment/frontend www=image:v2 # 滚动更新 "frontend" Deployment 的 "www" 容器镜像
kubectl set image deployment/laravel laravel=debian_laravel:latest # Deployment, Image
kubectl rollout history deployment/laravel # 查記 rollout 歷史紀錄
kubectl rollout undo deployment/laravel # 回滚到上次部署版本
# 用 kubectl describe 查看 deploy 和 pod 的 image 是否已經更新
kubectl describe deploy laravel
kubectl describe pod laravel
https://kubernetes.io/docs/reference/kubectl/cheatsheet/
Kubectl Config 指令集
- 查看 config 指令集
kubectl config
檢查 Config 詳情
kubectl config view
切換 Cluster
kubectl config get-contexts # display list of contexts
kubectl config use-context MyCluster # set the default context to my-cluster-name
- 說明
要存取某個 Kubernetes 的 cluster,必須先設定好 Kubernetes 的 context,
context 裡面會描述要如何存取到你的 Kubernetes 的 cluster。
當你今天有兩個 Kubernetes 的 cluster 的時候,分別是正式版的 cluster 跟測試用的 cluster,很頻繁在這兩個 cluster 作切換,
這時候只需要分別對兩個不同的 context 就可以了,然後利用 kubectl 提供的指令,就能在不同的 cluster 作切換。
- Context
在 Kubernetes 裡面,切換不同的 cluster 是以 context 為單位,一個 context 裡面必需要三個元件,
分別是 User、Server、Certification。這三個東西說起來也很直觀,
有個使用者 (User) 必須要有憑證 (Certification) 才能連到某個 Cluster (Server)。