节点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

[黑五]ProfitServer新加坡/德国/荷兰/西班牙VPS五折,不限流量KVM月付2.88美元起

ProfitServer已开启了黑色星期五的促销活动,一直到本月底,商家新加坡、荷兰、德国和西班牙机房VPS直接5折,无码直购最低每月2.88美元起,不限制流量,提供IPv4+IPv6。这是一家始于2003年的俄罗斯主机商,提供虚拟主机、VPS、独立服务器、SSL证书、域名等产品,可选数据中心包括俄罗斯、法国、荷兰、美国、新加坡、拉脱维亚、捷克、保加利亚等多个国家和地区。我们随便以一个数据中心为例...

knownhost西雅图/亚特兰大/阿姆斯特丹$5/月,2个IP1G内存/1核/20gSSD/1T流量

美国知名管理型主机公司,2006年运作至今,虚拟主机、VPS、云服务器、独立服务器等业务全部采用“managed”,也就是人工参与度高,很多事情都可以人工帮你处理,不过一直以来价格也贵。也不知道knownhost什么时候开始运作无管理型业务的,估计是为了扩展市场吧,反正是出来较长时间了。闲来无事,那就给大家介绍下“unmanaged VPS”,也就是无管理型VPS,低至5美元/月,基于KVM虚拟,...

云步云72.5元/月起云服务器,香港安畅/葵湾/将军澳/沙田/大浦CN2机房,2核2G5M

云步云怎么样?云步云是创建于2021年的品牌,主要从事出售香港vps、美国VPS、日本VPS、香港独立服务器、香港站群服务器等,机房有香港、美国、日本东京等机房,目前在售VPS线路有CN2+BGP、CN2 GIA,香港的线路也是CN2直连大陆,该公司旗下产品均采用KVM虚拟化架构。目前,云步云提供香港安畅、沙田、大浦、葵湾、将军澳、新世界等CN2机房云服务器,2核2G5M仅72.5元/月起。点击进...

怎么创建群为你推荐
involving网易yeah2019支付宝五福支付宝集五福在哪里看到conn.asp数据库连接出错,请打开conn.asp文件检查连接字串。支付宝调整还款日月底30号用花呗到时候下个月什么时候还款?河南省全民健康信息平台建设指引(试行)文档下载手机下载的文件在哪里能找到泉州商标注册泉州商标注册找什么公司?三五互联南京最专业的网站建设公司是哪家?双尚网络做的好不好? 给分求答案如何发帖子请问在网上发帖子怎么发?付款方式工程付款方式有哪些
动态域名 申请免费域名 天猫双十一秒杀 免费网站申请 刀片服务器的优势 静态空间 免费phpmysql空间 电信主机 starry 工信部网站备案查询 服务器论坛 阿里云邮箱登陆 域名转入 卡巴斯基官网下载 umax 葫芦机 shuangcheng register.com 木马检测 域名商城 更多