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

OCI Kubernetes集群(OKE)节点被污点标记致Pod无法调度的修复咨询

修复OKE节点node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule污点问题

以下是针对该问题的排查与修复方案:

1. 检查cloud-controller-manager组件状态

该污点由Kubernetes云控制器初始化未完成导致,首先确认kube-system命名空间下的cloud-controller-manager Pod是否正常运行:

kubectl get pods -n kube-system | grep cloud-controller-manager

若Pod处于未就绪、崩溃或重启状态,查看日志定位具体错误:

kubectl logs -n kube-system <cloud-controller-manager-pod-name>

常见问题包括OCI API访问权限不足、网络连通性故障,需重点关注日志中与OCI服务交互相关的报错。

2. 验证节点与OCI服务端点的连通性

即使配置了NAT网关,仍需确认Worker节点能正常访问OCI的API服务:

  • 登录目标Worker节点,执行以下命令测试连通性:
curl https://iaas.<your-region>.oraclecloud.com

只要能收到OCI API的响应(无需认证成功,确保TCP连接建立即可),说明网络连通正常。

  • 若连通失败,重点排查:
    • Application-Subnet的路由表是否已配置0.0.0.0/0指向NAT网关的规则
    • 子网的NACL是否允许出站443端口流量到OCI服务网段(可直接放行所有出站443流量)
    • 节点所在安全列表是否允许出站访问443端口

3. 临时移除污点(应急方案)

若需快速恢复Pod调度能力,可手动移除节点污点:

kubectl taint nodes <node-name> node.cloudprovider.kubernetes.io/uninitialized-

⚠️ 注意:此为临时方案,未解决根源问题的情况下,节点将无法与OCI服务正常集成(如负载均衡创建、块存储卷挂载等)。

4. 排查节点初始化日志

登录Worker节点,查看初始化过程中的报错信息:

  • 查看cloud-init日志:
cat /var/log/cloud-init.log
  • 查看kubelet启动日志:
journalctl -u kubelet

重点关注与云提供商初始化、元数据获取相关的错误信息。

5. 重建节点(终极方案)

若以上步骤均无法解决问题,可删除异常节点,让OKE节点池自动重建新节点:

kubectl delete node <node-name>

重建后的节点将重新执行初始化流程,确保网络、权限配置正确的情况下,应能自动完成云控制器初始化并移除污点。

内容的提问来源于stack exchange,提问作者Edcel Cabrera Vista

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 05:25:29