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 容器運行時相關資料









