通過yaml檔案建立:
kubectl create -f xxx.yaml (不建議使用,無法更新,必須先delete)
kubectl apply -f xxx.yaml (建立+更新,可以重複使用)
通過yaml檔案删除:
kubectl delete -f xxx.yaml
檢視kube-system namespace下面的pod/svc/deployment 等等(-o wide 選項可以檢視存在哪個對應的節點)
kubectl get pod/svc/deployment -n kube-system
檢視所有namespace下面的pod/svc/deployment等等
kubectl get pod/svc/deployment --all-namcpaces
重新開機pod(無法删除對應的應用,因為存在deployment/rc之類的副本控制器,删除pod也會重新拉起來)
kubectl get pod -n kube-system
檢視pod描述:
kubectl describe pod XXX -n kube-system
檢視pod 日志 (如果pod有多個容器需要加-c 容器名)
kubectl logs xxx -n kube-system
删除應用(先确定是由說明建立的,再删除對應的kind):
kubectl delete deployment xxx -n kube-system
根據label删除:
kubectl delete pod -l app=flannel -n kube-system
擴容
kubectl scale deployment spark-worker-deployment --replicas=8
導出配置檔案:
導出proxy
kubectl get ds -n kube-system -l k8s-app=kube-proxy -o yaml>kube-proxy-ds.yaml
導出kube-dns
kubectl get deployment -n kube-system -l k8s-app=kube-dns -o yaml >kube-dns-dp.yaml
kubectl get services -n kube-system -l k8s-app=kube-dns -o yaml >kube-dns-services.yaml
導出所有 configmap
kubectl get configmap -n kube-system -o wide -o yaml > configmap.yaml
複雜操作指令:
删除kube-system 下Evicted狀态的所有pod:
kubectl get pods -n kube-system |grep Evicted| awk '{print $1}'|xargs kubectl delete pod -n kube-system
以下為維護環境相關指令:
重新開機kubelet服務
systemctl daemon-reload
systemctl restart kubelet
修改啟動參數
vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
# 檢視叢集資訊
kubectl cluster-info
# 檢視各元件資訊
kubectl get componentstatuses
#檢視kubelet程序啟動參數
ps -ef | grep kubelet
檢視日志:
journalctl -u kubelet -f
設為不可排程狀态:
kubectl cordon node1
将pod趕到其他節點:
kubectl drain node1