如果集群初始化失败需要的操作:
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 #持续监控