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

启用Calico安装AKS遇部署超时、节点Not Ready问题求助

解决AKS配置Calico网络策略后部署超时、节点Not Ready的问题

我之前碰到过一模一样的情况,给你几个关键的排查和解决步骤:

  • 首先确认配置时机是否正确

    划重点:AKS的Calico网络策略只能在集群创建阶段指定,无法对已存在的集群修改networkPolicy属性启用Calico。如果是在现有集群上修改这个配置,不仅不会生效,还可能导致集群部署异常、节点无法就绪。这种情况下只能重新创建集群并在创建时正确配置。

  • 验证networkProfile配置格式是否正确
    创建集群时,networkProfile的正确配置示例如下:
    用az cli创建的命令:

    az aks create \
      --resource-group myResourceGroup \
      --name myAKSCluster \
      --network-plugin azure \
      --network-policy calico \
      --node-count 2
    

    如果用ARM模板,对应的JSON片段:

    "networkProfile": {
      "networkPlugin": "azure",
      "networkPolicy": "calico",
      "loadBalancerSku": "standard"
    }
    

    注意:networkPlugin可以是azure或kubenet,但部分区域对kubenet+Calico的支持有限,优先推荐使用azure插件搭配Calico。

  • 排查节点Not Ready的具体原因

    1. 先查看集群的部署状态:
      az aks show --resource-group <你的资源组> --name <集群名称> --query provisioningState
      
      如果状态是Failed,可以查看详细的错误信息:
      az aks show --resource-group <你的资源组> --name <集群名称> --query provisioningErrors
      
    2. 查看节点的系统日志,重点排查Calico组件的启动问题:
      az aks node-logs --resource-group <你的资源组> --name <集群名称> --node-name <节点名称> --tail 100
      
      常见的问题包括Calico镜像拉取失败、节点网络配置错误、权限不足等。
  • 检查Calico组件的运行状态
    当集群创建完成后(如果部署成功的话),kube-system命名空间下的Calico相关Pod应该处于Running状态:

    kubectl get pods -n kube-system | grep calico
    

    如果有Pod处于CrashLoopBackOff或Pending状态,查看Pod的日志定位问题:

    kubectl logs <calico-pod-name> -n kube-system
    

    比如常见的问题是节点无法访问Calico的镜像仓库,或者Calico的网络配置与现有VPC规则冲突。

  • 确认区域和资源权限

    • 确保你选择的Azure区域支持AKS的Calico网络策略(大部分主流区域都支持,但若使用较偏的区域可能存在限制)。
    • 确认集群使用的服务主体或托管身份拥有Network Contributor权限,以便Calico能正确配置节点网络规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:14:36