k8s克隆节点引起的系统崩溃问题

k8s克隆了集群且在老集群尚在运行的情况下,新克隆的服务器开机。导致了集群的ip一直在跳,一会是老ip一会是新ip,且集群在rancher上不可访问,但是在服务器上仍可使用kubectl命令,就是有点延迟。

表现:查看到calico node的pod都down了

处理操作1:

使用calicoctl查看:

安装calicoctl,通过镜像查看本机calico版本为v3.17.2,将calicoctl移到/usr/local/bin/下

chmod +x /usr/local/bin/calicoctl
编写calicoctlcfg.yaml
apiVersion: projectcalico.org/v3
kind: CalicoAPIConfig
metadata:
spec:
  datastoreType: "kubernetes"
  kubeconfig: "/root/.kube/config"   # 确保这个路径是正确的

执行apply

kubectl apply -f  calicoctlcfg.yaml
#查看节点信息
calicoctl get nodes
#获取 BGP 对等体状态
calicoctl node status

看到bgp里都是新服务器的ip,需要更新节点配置

apiVersion: projectcalico.org/v3
kind: Node
metadata:
  name: <node-name>  # 替换为您的节点名称
spec:
  bgp:
    ipv4Address: 192.168.1.100/24  # 替换为新的 BGP IPv4 地址

等都更新完后,在racnher里集群状态转为正常。但是外部应用访问服务非常慢。

排查问题,发现是网络的问题,表象是服务不是每个ip+端口都能访问通的,不同的服务访问通的ip是不同的。深入查看发现同一命名空间内,35 节点的pod与其他节点的pod互相是ping不通的,38和41的在节点上是ping不通其他pod的,将所有的节点都删除然后重新加入,网络恢复正常。

 

 
posted @   潇潇暮鱼鱼  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
点击右上角即可分享
微信分享提示