【问题标题】:Cannot create ACI for new AKS cluster connected to existing on-prem Vnet无法为连接到现有本地 Vnet 的新 AKS 群集创建 ACI
【发布时间】:2021-05-28 06:12:14
【问题描述】:

我正在尝试使用 Kubernetes 版本 1.19.7 和虚拟机规模集创建新的 AKS 群集,并将其连接到现有的本地 vnet。在我的第一次尝试中,除了在 Azure 中创建实际的 ACI 之外,一切都成功了。 aci-connector 节点在 Kubernetes 中创建,但仍处于 CrashLoopBackOff 状态,每次在 kubernetes 日志中出现以下错误:

错误:初始化提供程序时出错 azure:设置网络时出错 配置文件:无法将子网“xxxxxxxxx”委托给 Azure 容器 实例,因为它引用了路由表 '/subscriptions/yyyyyyyy/resourceGroups/zzzzzzzz/providers/Microsoft.Network/routeTables/rrrrrrr'。

我尝试根据 MS 文档中隐藏的限制以不同的方式重新创建集群(使用服务主体,空子网不包含其他资源,将适当的角色权限应用于服务帐户)。仍然没有运气。在网络方面也尝试了一些其他调整,但无济于事。

以下是我在有/没有服务主体的情况下使用的 Azure CLI 命令(名称经过混淆处理):

使用托管身份

az aks create -g yyyyyyyyy -n zzzzzzzz --aad-admin-group-object-ids 00000000-0000-0000-0000-000000000000 --aci-subnet-name myAciSubnet --assign-identity /subscriptions/xxxxxxx/resourcegroups/yyyyyyy/providers/Microsoft.ManagedIdentity/userAssignedIdentities/k8s-admin-qa --docker-bridge-address 172.17.0.1/16 --dns-service-ip 10.2.0.10 --enable-aad --enable-addons virtual-node --enable-managed-identity --generate-ssh-keys --kubernetes-version 1.19.7 --location eastus2 --network-plugin azure --service-cidr 10.2.0.0/16 --subscription xxxxxxx --vnet-subnet-id /subscriptions/xxxxxxx/resourceGroups/myNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet

使用服务主体

az aks create -g yyyyyyy -n zzzzzzz --aad-admin-group-object-ids 00000000-0000-0000-0000-000000000000 --aci-subnet-name myAciSubnet --docker-bridge-address 172.17.0.1/16 --dns-service-ip 10.2.0.10 --enable-aad --enable-addons virtual-node --generate-ssh-keys --kubernetes-version 1.19.7 --location eastus2 --network-plugin azure --service-cidr 10.2.0.0/16 --subscription xxxxxxx --vnet-subnet-id /subscriptions/xxxxxxx/resourceGroups/myNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet  --service-principal ppppppppp --client-secret SSSSSSSSSSS 

如果有人能够使用具有虚拟机规模集的 ACI 成功部署/配置 AKS 群集,连接到本地网络,或者可以帮助进行故障排除或配置,我很乐意听取您的意见你!

【问题讨论】:

    标签: azure kubernetes networking


    【解决方案1】:

    ACI 的子网不应是除 ACI 以外的其他资源,也不应是附加的路由表。因为 Azure 会为其附加容器组的配置文件。错误显示您要用于 ACI 的子网已经附加了路由表。因此,您可以创建一个没有任何内容的新子网,或者只是将路由表与子网解除关联。

    【讨论】:

    • 谢谢查尔斯(好名字顺便说一句哈哈)。实际上,我大约在您发布此答案并使其现在可以正常工作的同时发现了这一点。接下来,自定义 DNS。
    猜你喜欢
    • 2021-09-07
    • 2022-01-15
    • 2018-04-22
    • 2019-11-23
    • 2021-11-17
    • 1970-01-01
    • 2021-10-12
    • 2020-05-06
    • 2019-06-26
    相关资源
    最近更新 更多