如果集群初始化失敗需要的操作:
master:
kubeadm reset #回答y
執行一條它提示給你的iptables命令即可
node:
systemctl stop kubelet
rm -rf /etc/kubernetes/*
注意:檢查防火牆、swap分區、內存
kubernetes使用
運行pod的兩種方式:命令行、yaml文件
控制器:deploy rs ds sts job cj(簡寫)
命令行操作deploy:
kubectl delete deploy httpd #刪除要指定資源類型,這里的資源類型是deploy
kubectl delete deploy nginx
kubectl get po
kubectl run nginx --image=nginx -r 2
kubectl run nginx --image=nginx --replicas=2
kubectl get po
kubectl get deploy
#deploy管理多副本,但是不是直接管理,而是通過rs管理多副本。
kubectl get deploy
kubectl describe deploy nginx
#能夠發現的是replicaset的名稱是deployment的name上加上一串隨機字符串,pod的name又是在rs的基礎上再加上一個隨機字符串。
#describe中的Events可以當作簡單日志來看,有時候的pod沒有起來,可以通過描述下對應的deploy來查看。
kubectl get rs
kubectl describe rs nginx-2dhorht341
#會發現其中有一項叫做controlled by :deployment/nginx
#也印證了pod rs deploy三者之間的命名規則。
刪除pod:
在刪除的時候要指定資源類型,pod是資源的一種。
k8s的一些基本資源類型:
deploy rs pod ns svc pv pvx
kubectl delete po --force nginx-12sdfgfdsgs-w4ntd
kubectl get pod #發現刪除后又重新起來一個pod,這是因為受deploy管控的pod會自動按照要求啟動相應數量的pod,少了一個會再重啟一個。
這個時候要想刪除pod就要連同deploy一起刪掉。
kubectl delete deploy nginx
kubectl get po #發現刪除成功,但是所有的deploy下的pod均被刪除了。
命令行實現動態replicas的伸縮
kubectl run nginx --image=nginx --replicas 2
kubeclt get po
kubectl scale --replicas 5 deploy nginx
kubectl get pod
kubectl get po -w #-w watch——監控
kubectl scale --replicas 3 deploy nginx #縮容為三個
如果pod起不來,如何排錯?
kubectl describe deploy nginx #查看Events
kubectl describe po nginx-qwehtqg12sdge-wq3rg
kubectl logs nginx-qwehtqg12sdge-wq3rg #logs只能存放pod日志,所以無需指定資源類型。
kubectl get po -o wide #可產看相應的node信息
kubectl logs nginx-qwehtqg12sdge-wq3rg -f #持續監控