Я пытаюсь подключить экземпляр службы Azure Kubernetes к «локальному» серверу SQL через шлюз VPN.
Я использую эту команду для создания кластера:
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
Однако это создаст кластер AKS и виртуальную сеть по умолчанию в группе ресурсов с именем MC _ $ {rg}.$ {имя}$ {location}. Vnet имеет адресное пространство 10.0.0.0/8.
Эта виртуальная сеть не позволяет мне подключиться к VPN-шлюзу, поскольку 10.0.0.0/8 конфликтует со всеми возможными IP-адресами в диапазоне 10.X.X.X.
Как правильно настроить VPN-шлюз для службы Azure Kubernetes?
В используемом вами методе AKS создает виртуальную сеть, в которой он находится, поэтому вы не можете контролировать ее настройку и т. Д., Это называется сетью Kubenet.
Чтобы вы могли контролировать, как настраивается виртуальная сеть, настраивать VPN и т. Д., Вам необходимо использовать так называемую сеть CNI, которая позволяет создавать виртуальную сеть заранее или использовать существующую виртуальную сеть, а затем добавлять AKS к этой виртуальной сети.
Чтобы использовать CNI, вы по-прежнему используете команду az aks create, но указываете флаг «--network-plugin Azure». Затем вам также потребуется предоставить дополнительную информацию, такую как идентификатор vnet. Полные инструкции можно найти Вот.