kubernetes常用操作命令

kubernetes 命令記錄

操作基本命令:

通過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
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

查看各組件信息

kubectl get componentstatuses

查看kubelet進程啓動參數

ps -ef | grep kubelet

查看日誌:
journalctl -u kubelet -f

設爲不可調度狀態:
kubectl cordon node1

將pod趕到其他節點:
kubectl drain node1

解除不可調度狀態
kubectl uncordon node1

master運行pod
kubectl taint nodes master.k8s node-role.kubernetes.io/master-
master不運行pod
kubectl taint nodes master.k8s node-role.kubernetes.io/master=:NoSchedule

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章