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

EC2 Ubuntu实例部署K8s集群遇6443连接拒绝及Pod异常求助

Kubernetes集群部署异常排查与修复建议

1. 检查节点基础状态

  • 执行kubectl get nodes确认节点状态,若显示NotReady,执行kubectl describe node ip-172-31-46-185查看Conditions字段,定位NetworkUnavailable等核心异常。
  • 检查kubelet运行状态:systemctl status kubelet,确认服务无崩溃或配置错误。

2. 解决Flannel Pod Pending问题

Flannel依赖集群初始化时指定的10.244.0.0/16 Pod网段,若初始化未配置会导致调度失败:

  • 检查kubeadm初始化命令是否包含--pod-network-cidr=10.244.0.0/16,若缺失,修改kube-controller-manager配置:
    1. 编辑静态Pod配置:vi /etc/kubernetes/manifests/kube-controller-manager.yaml
    2. 在command列表中添加--cluster-cidr=10.244.0.0/16
    3. 保存后kubelet会自动重启该组件
  • 移除控制节点调度污点(单节点集群需允许Pod调度到控制节点):kubectl taint nodes --all node-role.kubernetes.io/control-plane-
  • 重新应用Flannel配置:kubectl apply -f <你的flannel.yaml路径>
  • 查看Flannel Pod调度日志:kubectl describe pod kube-flannel-ds-b7c2w -n kube-flannel,根据Events字段排查具体阻塞原因。

3. 修复kube-proxy CrashLoopBackOff

  • 查看崩溃日志:kubectl logs kube-proxy-rgm5g -n kube-system --previous
  • 常见修复方案:
    • 重置iptables规则:iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X,然后删除Pod触发重启:kubectl delete pod kube-proxy-rgm5g -n kube-system
    • 检查/var/lib/kube-proxy/config.conf中的apiserver地址是否为172.31.46.185:6443,确认节点能正常访问该地址。

4. 修复kube-scheduler READY 0/1问题

  • 查看调度器日志:kubectl logs kube-scheduler-ip-172-31-46-185 -n kube-system
  • 常见修复:
    • 编辑静态Pod配置/etc/kubernetes/manifests/kube-scheduler.yaml,确保command中包含--bind-address=0.0.0.0(或节点内网IP),且kubeconfig路径正确。
    • 验证RBAC权限:执行kubectl get clusterrolebinding kube-scheduler,若权限缺失,创建以下RBAC绑定文件并应用:
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        name: kube-scheduler
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: system:kube-scheduler
      subjects:
      - kind: ServiceAccount
        name: kube-scheduler
        namespace: kube-system
      
      执行kubectl apply -f kube-scheduler-rbac.yaml

5. 验证CNI配置正确性

检查节点上的Flannel CNI配置文件/etc/cni/net.d/10-flannel.conflist是否存在且内容正确:

{
  "name": "cbr0",
  "cniVersion": "0.3.1",
  "plugins": [
    {
      "type": "flannel",
      "delegate": {
        "hairpinMode": true,
        "isDefaultGateway": true
      }
    },
    {
      "type": "portmap",
      "capabilities": {
        "portMappings": true
      }
    }
  ]
}

若文件缺失,手动创建后重启kubelet:systemctl restart kubelet

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 03:32:07