K8s集群搭建问题
警告Cgroup Driver不一致节点加入集群会警告 docker 和 kubelet 的 Cgroup Driver 不一致,但是暂未发现影响,如图:解决办法:修改 dock
警告Cgroup Driver不一致
节点加入集群会警告 docker 和 kubelet 的 Cgroup Driver 不一致,但是暂未发现影响,如图:
解决办法:修改 docker 的 Cgroup Driver 为 systemd
vim /usr/lib/systemd/system/docker.service# 修改下面这项,后面加上 --exec-opt native.cgroupdriver=systemdExecStart=/usr/bin/dockerd --exec-opt native.cgroupdriver=systemdnecho "重新加载并重启" > /dev/nullnsystemctl daemon-reloadsystemctl restart docker
用这个命令查看当前 Docker Cgroup 驱动
docker info | grep Cgroup
forward策略为drop
我不确定这个会不会引发集群问题,先记录下。
解决办法:就是修改 iptables forward 策略为 ACCEPT。可以在系统中直接改,但是重启后又会复原。可以通过修改docker配置达到永久生效的目的。
vim /lib/systemd/system/docker.service# 在[Service]标签下加入如下参数ExecStartPost=/sbin/iptables -P FORWARD ACCEPTnecho "重新加载并重启" > /dev/nullnsystemctl daemon-reloadsystemctl restart docker
用这个命令查看 iptables 策略
iptables -nL
重复 init/join 集群报错
- 主节点初始化(init)失败,再次尝试报错
解决办法:在主节点执行重置操作。
echo "重置,询问时输入y回车" > /dev/nullnkubeadm reset
- 工作节点加入集群时出错了修改后再次加入报错;主节点删除了工作节点,工作节点再次加入报错等情况。如图:
解决办法:在工作节点重置后再执行 Join 命令
echo "重置,询问时输入y回车" > /dev/nullnkubeadm reset
使用kubectl报错-1
重置集群(kubeadm reset)后,重新初始化(kubeadm init)集群,然后使用kubectl命令(如:kubectl get nodes)报错。
Unable to connect to the server: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kubernetes")
解决办法:删掉之前产生的配置文件,执行初始化后打印的脚本重新生成
echo "删除配置" > /dev/nullnrm -rf $HOME/.kubennecho "重新生成" > /dev/nullnmkdir -p $HOME/.kubensudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/confignsudo chown $(id -u):$(id -g) $HOME/.kube/config
其实删除配置这个在重置集群后控制台有提示。
使用kubectl报错-2
使用kubectl命令(如:kubectl get nodes)报错,原因是没有执行初始化后打印的脚本生成配置。
error: no configuration has been provided, try setting KUBERNETES_MASTER environment variable
解决办法:初始化后打印的脚本
mkdir -p $HOME/.kubensudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/confignsudo chown $(id -u):$(id -g) $HOME/.kube/config
上一篇:smz
下一篇:K8s 容器运行时相关资料