Назад | Перейти на главную страницу

Настройка VPN-шлюза для службы Azure Kubernetes

Я пытаюсь подключить экземпляр службы 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. Полные инструкции можно найти Вот.