You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

重启Kubernetes主节点后Worker节点NotReady的预防方案咨询

解决Kubernetes主节点重启后Worker节点NotReady的持久化方案

常见触发原因

  • kubelet与kube-apiserver的连接依赖主节点证书或kubeconfig配置,主节点重启后可能出现证书过期、kubeconfig路径异常
  • 主节点kube-proxy、etcd等组件重启后,Worker节点的网络插件(如flannel、calico)未自动恢复连接
  • Worker节点kubelet服务未配置开机自启,或主节点重启后kubelet进程未重新发起连接

具体避免措施

1. 确保Worker节点kubelet服务开机自启

  • 执行命令设置开机启动:systemctl enable kubelet
  • 验证配置:systemctl is-enabled kubelet,正常输出应为enabled

2. 优化kubelet连接配置

  • 检查Worker节点kubeconfig文件(默认路径/var/lib/kubelet/kubeconfig),确保apiserver地址使用主节点固定IP或域名,而非临时地址
  • 查看kubelet配置文件(如/var/lib/kubelet/config.yaml),确认staticPodPath、clusterDNS等参数配置正确,避免依赖主节点临时状态
  • 在kubelet启动参数中添加--kube-api-qps=100、--kube-api-burst=200,提升API请求并发数,缓解主节点重启后的连接拥堵

3. 保障网络插件自动恢复

  • Calico插件:确保Calico-node DaemonSet的restartPolicy设为Always,并配置存活探针和就绪探针,示例片段:
    livenessProbe:
      exec:
        command:
        - /usr/bin/calico-node
        - -felix-live
      periodSeconds: 10
      initialDelaySeconds: 10
      failureThreshold: 6
    readinessProbe:
      exec:
        command:
        - /usr/bin/calico-node
        - -felix-ready
      periodSeconds: 10
    
  • Flannel插件:设置flanneld服务开机自启:systemctl enable flanneld,并确保/run/flannel/subnet.env能自动同步主节点网络配置

4. 主节点组件高可用配置(生产环境推荐)

  • 部署多主节点集群,避免单主节点重启导致API服务中断
  • 配置etcd集群高可用,确保主节点重启后etcd数据快速同步,Worker节点kubelet可正常获取集群状态

5. 定期检查并自动续期证书

  • 主节点kube-apiserver、etcd等组件证书需保证有效期充足,或使用kubeadm自动续期:kubeadm certs renew all
  • Worker节点kubelet证书同样配置自动续期,避免证书过期导致连接失败

内容的提问来源于stack exchange,提问作者Luis Enrique

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 23:42:10