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的,将所有的节点都删除然后重新加入,网络恢复正常。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂