博客 K8S部署常见错误及解决方法

K8S部署常见错误及解决方法

   数栈君   发表于 2023-08-15 10:32  1946  0

1、node节点kubelet服务起不来

问题:node节点kublet起不来服务器内存资源不足,node节点kubelet服务启动不了也不保存

解决方法:top命令然后按shift 加M可按内存排序,然后找到对应进程使用lsof | grep 进程查看进程运行的是什么内容,将不需要的进程关闭。或者添加内存


2、安装cni网络插件时 kubectl get node master和node一直noready

①有延时,需要等待10分钟左右,超过15分钟则有问题
②查看kubelet的服务 状态中有此报错failed to find plugin"flannel" in path [/opt/cni/bin]],是由于在/opt/cni/bin下缺少可 执行的flannel。

解决方法:重新上传cni插件包或者重新网络源下载

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/875a08519564643abbf666ae171dee2c..png
  


③ kubcectl get -n kube-system查看pod信息上发现kube-flannel-ds开头的三个都为0/1则是网络安装cni网络插件拉取镜像失败。使用kubectl describe pod kube-flannel-ds-rxh5w(pod名称) -n kube-system可以查看日志。

解决方法:使用命令手动拉取镜像 docker pull quay.io/coreos/flannel:v0.14.0

拉取完毕后修改镜像命 docker tar 源名称 目的名称(改为没有拉取成功的名称)

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/bf6822ad7102680927caa39f4b849517..png
  

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/09df039f55e4b69c58edc2bea0d01311..png
  

3、部署报错kubectl get nodes No resources found

kubectl get nodes
#查看节点信息
报错问题:kubectl get nodes No resources found

排查思路:
所有节点:
1.关闭防火墙:
systemctl stop firewalld
systemctl disable firewalld

2.关闭selinux:
sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0

3.关闭swap:
swapoff -a 临时
vim /etc/fstab 永久

4.添加主机名与IP对应关系(记得设置主机名):
cat /etc/hosts
master 192.168.30.11
node1 192.168.30.12
node2 192.168.30.13

5.node节点
vim /usr/lib/systemd/system/docker.service
#在[Service]区域下增加一行
......
[Service]
ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT
......

systemctl daemon-reload
systemctl restart docker

4、k8s部署报错error:kubectl get csr No resources found

kubectl get csr
#查看csr节点申请信息
No resources found.
#报错信息
报错原因方法:因为原来的ssl证书在重启后失效了,不删除的话,即重启kubelet也无法与master通讯
解决方法:
node节点:删除所有证书
cd /opt/kubernetes/ssl
ls
kubelet-client-2023-05-11-08-41-36.pem kubelet-client-current.pem kubelet.crt kubelet.key
# 删除所有的证书
rm -rf *
# 关闭开启的kubelet
systemctl stop kubelet
master节点: 删除证书重新创建
kubectl delete clusterrolebinding kubelet-bootstrap
clusterrolebinding.rbac.authorization.k8s.io "kubelet-bootstrap" deleted

kubectl create clusterrolebinding kubelet-bootstrap --clusterrole=system:node-bootstrapper --user=kubelet-bootstrap
clusterrolebinding.rbac.authorization.k8s.io/kubelet-bootstrap created
node节点:重新执行kubelet安装
#node01
bash kubelet.sh 192.168.30.11
#node02
bash kubelet.sh 192.168.30.12
master节点:测试是否成功
kubectl get csr




免责申明:


本文系转载,版权归原作者所有,如若侵权请联系我们进行删除!

《数据治理行业实践白皮书》下载地址:https://fs80.cn/4w2atu

《数栈V6.0产品白皮书》下载地址:
https://fs80.cn/cw0iw1

想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:
https://www.dtstack.com/?src=bbs

同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:
https://github.com/DTStack

0条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料
钉钉扫码加入技术交流群