我正在尝试通过 VPN 网关将 Azure Kubernetes 服务实例连接到“本地”SQL Server。
我正在使用此命令来创建集群:
az aks create \
--resource-group ${rg} \
--name ${name} \
--node-count ${nodeCount} \
--node-vm-size ${vmsize} \
--service-principal ${appId} \
--client-secret ${password} \
--generate-ssh-keys \
--pod-cidr 10.2.244.0/24 \
--service-cidr 10.2.10.0/24 \
--dns-service-ip 10.2.10.10 \
--docker-bridge-address 172.17.0.1/16 \
--network-plugin kubenet \
--vm-set-type VirtualMachineScaleSets \
--kubernetes-version 1.15.7 \
--load-balancer-sku standard
但是,这将在名为 MC_${rg} 的资源组中创建 AKS 集群和默认 Vnet${名称}${location}。Vnet 具有地址空间 10.0.0.0/8。
该 Vnet 阻止我连接 VPN 网关,因为 10.0.0.0/8 与 10.XXX 范围内的每个可能的 IP 地址冲突。
设置 Azure Kubernetes 服务的 VPN 网关的正确方法是什么?
答案1
您使用的方法让 AKS 为您创建它所在的 vnet,因此您无法控制它的配置方式等,这称为 Kubenet 网络。
为了能够控制 vNet 的配置方式和 VPN 的设置等,您需要使用所谓的 CNI 网络,它允许您预先创建 vNet 或使用现有的 vNet,然后将 AKS 添加到该 vNet。
要使用 CNI,您仍需使用 az aks create 命令,但需提供“--network-plugin Azure”标志。然后,您还需要提供其他信息,例如 vnet ID。完整说明可在此处找到这里。