kubeadm部署k8s集群问题汇总

4 篇文章 0 订阅
2 篇文章 0 订阅

集群部署过程中未使用负载的apiserver地址

背景
在使用kubeadm进行集群初始化过程中,本应该使用域名地址(域名方式负载多个apiserver服务),但是使用了单个节点的IP。使得后期该节点当即后,集群异常。
处理办法
首先集群使用上暂时没有问题(不严谨),但是kubectl服务无法连接管理集群,以及kubelet无法调度pod部署。
由于证书文件是共享的,所以只需要修改kubectl配置文件中apiserver的地址即可通过kubectl服务连接管理集群。

# 修改 $HOME/.kube/config 配置文件中server地址,修改为其他可连接的apiserver地址。
server: https://172.29.203.88:6443

其次修改
重新使用kubeadm对节点进行初始化(为管理节点)

# 这里的apiserverIP替换为其他可用节点的IP
kubeadm join 172.29.203.95:6443 --token oh3sn5.90dl9tbcbdqp1d89     --discovery-token-ca-cert-hash sha256:934412dd3ae81920c372f06047ec2154e87d86c7db7774ed0f23fdb7be8c114a     --control-plane --certificate-key 5a68eb9d175722f7d12ce5430d4e75da65b3c4f586a66f555a39ffbce19c3c69 -v=5
# -v=5 显示详细日志信息

出现如下报错:
在这里插入图片描述
提示连接地址失败。

# 在其他管理节点对集群的信息进行修改。
kubectl  edit cm -n kube-public cluster-info
#         server: https://172.29.203.95:6443 修改为可用apiserver地址

然后重新reset后重新执行,发现如下问题
在这里插入图片描述
这里可以看出是获取etcd pods信息失败,而且可以看出该信息还是从异常的apiserver获取的(88为异常的节点)。
继续修改集群配置。

# 修改kubeadm的配置文件,
kubectl  edit cm -n kube-system kubeadm-config
# 将该地址改为其他正常apiserver的地址
controlPlaneEndpoint: 172.29.203.95:6443

然后继续reset后重新执行join命令,继续发现如下报错。
在这里插入图片描述
这里的报错应该是从ectd获取到了所有的节点信息,然后验证节点是否正常。
最后我的解决办法使用通过--skip-phases check-etcd命令跳过该步骤即可。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值