购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.6 注意事项与技巧

注意事项:

·实验时三台虚拟机要保持时间同步,如果你用vagrant完成实验,那么基本不会出现这种问题。

·要注意当前的操作用户,安装软件时使用的是sudo模拟root用户,在操作kubernetes集群时,使用的是vagrant普通用户。

1.Pod无法启动的排错步骤

1)查看Pod日志:


$ kubectl logs pod-name

2)查看Pod详细信息。

重点查看事件(events)信息:


$ kubectl describe pod-name

3)查看Docker日志。

通过下面的命令找到容器运行的节点:


$ kubectl get pod -o wide

登录到容器运行的节点,找到出错容器:


$ sudo docker ps -a

查看容器日志:


$ sudo docker logs container-id

4)查看Kubelet及其他组件日志:


$ sudo journalctl -u kubelet

2.创建集群失败后如何快速重来

当创建集群失败后,可以通过如下的命令快速恢复到没有初始化集群的状态,如下命令需要在master节点和已经加入集群的node节点上执行:


$ sudo kubeadm reset

3.重新获取集群的join命令

可以通过以下两种方法重新获取join命令。

获取一个有过期时间的token:


$ sudo kubeadm token create --print-join-command
kubeadm join 11.11.11.111:6443 --token uhuqes.c6u9p96s0dfipj3h --discovery-token-ca-cert-hash sha256:c6290480baaef64f3f1c6b6861de8685ca74d5a4a7c2703eace18a2e2117e87d

获取一个永不过期的token:


$ sudo kubeadm token create --print-join-command --ttl=0
kubeadm join 11.11.11.111:6443 --token k6j5ic.xh3b29r8unfsbvax --discovery-token-ca-cert-hash sha256:c6290480baaef64f3f1c6b6861de8685ca74d5a4a7c2703eace18a2e2117e87d

4.让masterI不再接收负载

使用如下的命令来停止master再接收普通pod负载,但是已经调度到master节点上的pod不受影响: 3R42k4w1jNMcDbQ9CqgexUTr9PjNqMEkQNksBzm8CIBELUJE/NCrKDBkeV5UtSvb


$ kubectl taint nodes lab1 node-role.kubernetes.io/master=true:NoSchedule
node/lab1 tainted

点击中间区域
呼出菜单
上一章
目录
下一章
×