节点kubeadm创建k8s集群一直失败排查

怎么创建群  时间:2021-03-20  阅读:()

kubeadm创建k8s集群一直失败排查

背景

某环境使用kubeadm创建3个master节点的高可用集群但是一直失败。

img

排查

1 .从日志可以看出 10.197.145.24为集群的kube-api的地址使用kubeadmjoin命令想把10.197.145.25节点添加到集群时报错报错提

示/etc/kubernetes/kubelet.conf  /etc/kubernetes/bootstrap-kubelet.conf存在貌似是节点残留文件导致节点join失败。

2.使用清理脚本清理10.197.145.25的残留从新添加节点发现错误仍然存在且报错内容一样清理脚本如下

#!/bin/bashrm -rf /etc/kubernetessystemctl stop kubelet 2>/dev/nulldocker rm -f $(docker ps -aq) 2>/dev/nullsystemctl stop docker 2>/dev/nullip link del cni0 2>/etc/nullfor port in 80 2379 6443 8086 {10249. .10259} ; dofuser -k -9 ${port}/tcpdonerm -fv /root/.kube/configrm -rfv /var/lib/kubeletrm -rfv /var/lib/cnirm -rfv /etc/cnirm -rfv /var/lib/etcdrm -rfv /var/lib/postgresql /etc/core/token /var/lib/redis /storage /chart_storagesystemctl start docker 2>/dev/null

3.于是检查10.197.145.25节点情况docker和kubelet运行情况

• systemctl status docker

该节点docker进程为active和running的

• systemctl status kublet

节点kubelet进程为inactive状态

4.通过syste mctl restart kubelet重启kubelet进程发现启动后kubelet进程启动后一会后进程退出。

5.检查节点的message日志发现kubelet有如下报错kubelet: F0727 11:39:07.530805 23779 docker_service.go:414] Streaming server stopped unexpectedly: listen tcp

172.0.0.1:0: bind: cannot assign requested address

image-20200731221748691

1 . google上述错误发现如下链接

Minikube Start Fai lure

检查该节点的/etc/hosts,确实发现没有localhost的解析文件了。经咨询得知客户为了配置一个域名的自定义解析采用了echo “1.2.3.4 a.b.co m” > /etc/hosts的操作导致/etc/hosts中localhost解析被清空。

解决

参照https://coding-stream-of-consciousness.com/2020/01/15/minikube-start-fai lure-streaming-server-stopped-cannot-assign-requested-address/修复方式我们在/etc/hosts文件中增加localhost解析后 kubelet启动正常了节点添加成功。

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

: :1 localhost localhost.localdomain localhost6 localhost6.localdomain6

后记

1 . /etc/hosts中localhost的回环地址解析绝大多数应用都会依赖因此生产环境绝对不能删除。

2.在使用kubeadm创建k8s集群时进行必备条件的checkl ist检查常见检查条件如下

• 内核模块

须加载iptable_nat  br_netfi lter内核模块

• 内核参数net.ipv4.ip_forward = 1net.bridge.bridge-nf-call-iptables = 1net.bridge.bridge-nf-call-arptables = 1

• 关闭sel inux

参照官方文档 https://kubernetes. io/docs/tasks/configure-pod-container/security-context/ 新版本的kubernetes可以开启sel inux但是sel inux配置很复杂开启sel inux时 docker可能无法创建出容器。除非安全要求很严格的场景一般情况建议关闭。

• 关闭节点swap

默认开启swap会导致kubelet无法启动

• 时间同步节点时区统一

建议时区设置为Asia/Shanghai

• 防火墙设置kubernetes组件运行需要的端口须保持开放如6443  2379 2380等。

• /etc/hosts文件

所有服务器可以通过hostname解析成ip 可以将localhost解析成127.0.0.1 同时hosts文件内不能有重复的hostname。

• /tmp/权限

/tmp目录的权限是777

• 集群全部节点安装socat软件包socat不仅kubeadm创建集群需要 helm使用时也需要。

• iptablesiptables FORWARD链为ACCEPTiptables -P FORWARD ACCEPT

Linode 18周年庆典活动 不断改进产品结构和体验

今天早上相比很多网友和一样收到来自Linode的庆祝18周年的邮件信息。和往年一样,他们会回顾在过去一年中的成绩,以及在未来准备改进的地方。虽然目前Linode商家没有提供以前JP1优化线路的机房,但是人家一直跟随自己的脚步在走,确实在云服务器市场上有自己的立足之地。我们看看过去一年中Linode的成就:第一、承诺投入 100,000 美元来帮助具有社会意识的非营利组织,促进有价值的革新。第二、发...

半月湾hmbcloud升级500Mbps带宽,原生VPS,$4.99/月

关于半月湾HMBCloud商家之前也有几篇那文章介绍过这个商家的产品,对于他们家的其他产品我都没有多加留意,而是对他们家的DC5机房很多人还是比较喜欢的,这个比我们有些比较熟悉的某商家DC6 DC9机房限时,而且半月湾HMBCloud商家是相对便宜的。关于半月湾DC5机房的方案选择和介绍:1、半月湾三网洛杉矶DC5 CN2 GIA同款DC6 DC9 1G内存 1TB流量 月$4.992、亲测选择半...

SugarHosts糖果主机圣诞节促销 美国/香港虚拟主机低至6折

SugarHosts 糖果主机商我们算是比较熟悉的,早年学会建站的时候开始就用的糖果虚拟主机,目前他们家还算是为数不多提供虚拟主机的商家,有提供香港、美国、德国等虚拟主机机房。香港机房CN2速度比较快,美国机房有提供优化线路和普通线路适合外贸业务。德国欧洲机房适合欧洲业务的虚拟主机。糖果主机商一般是不会发布黑五活动的,他们在圣圣诞节促销活动是有的,我们看到糖果主机商发布的圣诞节促销虚拟主机低至6折...

怎么创建群为你推荐
intranetwebservererrorunknow server error什么意思 怎么解决wordpress模板wordpress 模板和wordpress主题有什么不同开启javascript怎样打开JavaScript?linux防火墙设置如何使用iptables命令为Linux系统配置防火墙cuteftp什么是CuteFTP?如何将网站内容上传(FTP)到网站空间?sqlserver2000挂起安装sqlserver2000时总提示有挂起操作!申请支付宝账户如何申请支付宝账户Aliasedinternal温州都市报招聘在温州哪里好找工作?
高防服务器租用 广州服务器租用 linuxapache虚拟主机 主机测评网 外国服务器 42u机柜尺寸 360抢票助手 申请空间 qq数据库 个人免费空间 cpanel空间 广州服务器 香港新世界中心 shopex主机 超级服务器 双12 域名dns 帽子云排名 免费网络 lamp兄弟连 更多