操做基本命令:node
經過yaml文件建立:vim
kubectl create -f xxx.yaml (不建議使用,沒法更新,必須先delete)app
kubectl apply -f xxx.yaml (建立+更新,能夠重複使用)ide
經過yaml文件刪除:spa
kubectl delete -f xxx.yamlrest
查看kube-system namespace下面的pod/svc/deployment 等等(-o wide 選項能夠查看存在哪一個對應的節點)日誌
kubectl get pod/svc/deployment -n kube-systemcomponent
查看全部namespace下面的pod/svc/deployment等等dns
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
解除不可調度狀態
kubectl uncordon node1
master運行podkubectl taint nodes master.k8s node-role.kubernetes.io/master-master不運行podkubectl taint nodes master.k8s node-role.kubernetes.io/master=:NoSchedule