Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В частных кластерах AKS конечная точка сервера API не имеет общедоступного IP-адреса. Для управления сервером API необходимо использовать виртуальную машину или контейнер, имеющий доступ к виртуальной сети кластера AKS. Существует несколько вариантов установления сетевого подключения к частному кластеру:
- Используйте экземпляр Azure Cloud Shell , развернутый в подсети, подключенной к серверу API для кластера.
- Используйте встроенную функцию туннелирования клиента Azure Bastion (предварительный просмотр).
- Используйте виртуальную машину в отдельной сети и настройте пиринг виртуальных сетей.
- Используйте подключение к частной конечной точке .
- Создайте виртуальную машину в той же виртуальной сети, что и кластер AKS, используя
az vm createкоманду с флагом--vnet-name. - Используйте подключение Express Route или VPN.
- Используйте функцию AKS
command invoke.
Выбор параметра подключения
Azure Cloud Shell и Бастион Azure (предварительная версия) — это самые простые варианты. Express Route и VPNs добавляют затраты и требуют дополнительной сложности сети. Для соединения виртуальных сетей необходимо спланировать диапазоны сети CIDR, чтобы убедиться в отсутствии перекрывающихся диапазонов.
В следующей таблице описаны основные различия и ограничения использования Azure Cloud Shell и Бастиона Azure.
| Вариант | Azure Cloud Shell | Бастион Azure (предварительная версия) |
|---|---|---|
| Основные отличия | • Временный доступ на основе браузера. • Экономично. • Поставляется с предварительно установленными инструментами, такими как az cli и kubectl. |
• Устойчивый, долговременный доступ. • Подходит для управления несколькими кластерами. • Используйте собственные инструменты родного клиента. |
| Ограничения | • Не поддерживается с автоматическими кластерами AKS или кластерами с блокировкой группы сетевых ресурсов (NRG). • Нельзя одновременно использовать несколько сеансов Cloud Shell в разных виртуальных сетях. |
• Не поддерживается с автоматическими кластерами AKS или кластерами с блокировкой NRG. |
Подключение с помощью Azure Cloud Shell
Для подключения к частному кластеру AKS через Azure Cloud Shell требуется выполнить следующие действия:
- Развертывание необходимых ресурсов: Необходимо развернуть Cloud Shell в виртуальной сети, которая может получить доступ к частному кластеру. Этот шаг подготавливает необходимую инфраструктуру. Хотя Cloud Shell является бесплатной службой, использование Cloud Shell в виртуальной сети требует некоторых ресурсов, которые несут затраты. Дополнительные сведения см. в статье Deploy Cloud Shell в виртуальной сети.
- Настройка подключения: После развертывания ресурсов любой пользователь в подписке с соответствующими разрешениями в кластере может настроить Cloud Shell для развертывания в виртуальной сети, чтобы разрешить безопасное подключение к частному кластеру.
Развертывание необходимых ресурсов
Чтобы развернуть и настроить необходимые ресурсы, необходимо назначить роль владельца в подписке. Сведения о просмотре и назначении ролей см. в разделе "Список владельцев подписки".
Вы можете развернуть необходимые ресурсы с помощью портала Azure или предоставленного шаблона ARM, если вы управляете инфраструктурой как кодом или имеете политики организации, требующие определенных соглашений об именовании ресурсов.
При необходимости можно оставить развернутые ресурсы на месте для будущих подключений или удалить и повторно создать их по мере необходимости.
Использование портала Azure (предварительная версия)
Этот параметр создает отдельную виртуальную сеть с необходимыми ресурсами для Cloud Shell и настраивает пиринг виртуальной сети для вас.
- На портале Azure перейдите к ресурсу частного кластера.
- На странице "Обзор" выберите "Подключиться".
- На вкладке Cloud Shell в разделе "Предварительные требования для подключения к частному кластеру" выберите "Настроить ", чтобы развернуть необходимые ресурсы.
- Развертывание создает новую группу ресурсов с именем
RG-CloudShell-PrivateClusterConnection-{RANDOM_ID}.
- Развертывание создает новую группу ресурсов с именем
- После успешного развертывания в разделе "Задать контекст кластера" выберите Open Cloud Shell.
Замечание
Если вы уже настроили Cloud Shell в виртуальной сети для определенного кластера, повторите эти действия, чтобы параметры пользователя Cloud Shell были правильно согласованы с этой виртуальной сетью.
Использование шаблона ARM
Чтобы получить больше контроля над конфигурацией развертывания, используйте предоставленный шаблон ARM.
Вы можете развернуть Cloud Shell в той же виртуальной сети, что и частный кластер AKS с выделенной подсетью, или развернуть в новой виртуальной сети и подключиться через пиринг виртуальной сети.
Настройка подключения к частному кластеру
После развертывания необходимых ресурсов любой пользователь в подписке может настроить cloud Shell для развертывания в данной виртуальной сети, выполнив действия, описанные в разделе "Настройка Cloud Shell" для использования виртуальной сети.
Убедитесь, что у пользователя есть соответствующий доступ на уровне Kubernetes для успешного подключения к частному кластеру. Дополнительные сведения см. в разделе "Параметры доступа и удостоверения" для службы Azure Kubernetes (AKS).
Подключение с помощью Бастиона Azure (предварительная версия)
Бастион Azure — это полностью управляемая служба PaaS, которую вы подготавливаете для безопасного подключения к частным ресурсам через частные IP-адреса. Чтобы использовать функцию туннелирования собственного клиента Бастиона, см. статью "Подключение к частному кластеру AKS" с помощью Бастиона Azure.
Подключение с помощью пиринга виртуальной сети
Чтобы использовать пиринг виртуальных сетей, необходимо настроить связь между виртуальной сетью и частной зоной DNS. Пиринг виртуальной сети можно настроить с помощью портала Azure или Azure CLI.
Использование портала Azure
На портале Azure перейдите к группе ресурсов узла и выберите ресурс частной зоны DNS.
В меню службы в разделе "Управление DNS" выберите"Добавить ссылки >виртуальной сети".
На странице "Добавление канала виртуальной сети " настройте следующие параметры:
- Имя ссылки: введите имя для ссылки виртуальной сети.
- виртуальная сеть. Выберите виртуальную сеть, содержащую виртуальную машину.
Выберите "Создать", чтобы создать ссылку виртуальной сети.
Перейдите к группе ресурсов, содержащей виртуальную сеть кластера AKS, и выберите ресурс виртуальной сети.
В меню сервиса в разделе "Параметры" выберите соединения>, Добавить.
На странице "Добавление пиринга " настройте следующие параметры:
- Имя ссылки пиринга: введите имя ссылки пиринга.
- Виртуальная сеть: выберите виртуальную сеть виртуальной машины.
Нажмите Добавить, чтобы создать ссылку пиринга.
Для получения дополнительной информации, см. Взаимодействие виртуальных сетей.
Использование командной строки Azure CLI
Создайте новую ссылку, чтобы добавить виртуальную сеть виртуальной машины в частную зону DNS с помощью
az network private-dns link vnet createкоманды.az network private-dns link vnet create \ --name <new-link-name> \ --resource-group <node-resource-group-name> \ --zone-name <private-dns-zone-name> \ --virtual-network <vm-virtual-network-resource-id> \ --registration-enabled falseСоздайте пиринг между виртуальной сетью виртуальной машины и виртуальной сетью группы ресурсов узла с помощью
az network vnet peering createкоманды.az network vnet peering create \ --name <new-peering-name-1> \ --resource-group <vm-virtual-network-resource-group-name> \ --vnet-name <vm-virtual-network-name> \ --remote-vnet <node-resource-group-virtual-network-resource-id> \ --allow-vnet-accessСоздайте второй пиринг между виртуальной сетью группы ресурсов узла и виртуальной сетью виртуальной машины с помощью
az network vnet peering createкоманды.az network vnet peering create \ --name <new-peering-name-2> \ --resource-group <node-resource-group-name> \ --vnet-name <node-resource-group-virtual-network-name> \ --remote-vnet <vm-virtual-network-resource-id> \ --allow-vnet-accessПеречислить пиринги виртуальной сети, созданные с помощью
az network vnet peering listкоманды.az network vnet peering list \ --resource-group <node-resource-group-name> \ --vnet-name <private-dns-zone-name>
Использование подключения к частной конечной точке
Вы можете настроить частную конечную точку, чтобы виртуальная сеть не должна быть пиринговой для взаимодействия с частным кластером. Чтобы настроить подключение к частной конечной точке, сначала создайте в виртуальной сети новую частную конечную точку, содержащую потребляемые ресурсы, а затем создадите связь между виртуальной сетью и новой частной зоной DNS в той же сети.
Это важно
Если виртуальная сеть настроена с пользовательскими DNS-серверами, необходимо настроить частный DNS соответствующим образом для среды. Дополнительные сведения см. в документации по разрешению имен виртуальной сети.
Создайте ресурс частной конечной точки
На домашней странице портала Azure выберите "Создать ресурс".
Найдите частную конечную точку и выберите "Создать>частную конечную точку".
Нажмите кнопку "Создать".
На вкладке Основные сведения настройте следующие параметры:
Сведения о проекте
- Подписка. Выберите подписку, в которой находится частный кластер.
- Группа ресурсов: выберите группу ресурсов, содержащую виртуальную сеть.
Сведения об инстанции
- Имя: введите имя частной конечной точки, например myPrivateEndpoint.
- Регион. Выберите тот же регион, что и виртуальная сеть.
Нажмите "Далее: Ресурс" и настройте следующие параметры:
- Метод подключения. Выберите "Подключиться к ресурсу Azure" в моем каталоге.
- Подписка. Выберите подписку, в которой находится частный кластер.
- Тип ресурса: выберите Microsoft.ContainerService/managedClusters.
- Ресурс. Выберите частный кластер.
- Целевой вложенный ресурс: выберите управление.
Нажмите кнопку "Далее": виртуальная сеть и настройте следующие параметры:
-
Сети
- Виртуальная сеть: выберите виртуальную сеть.
- Подсеть: выберите подсеть.
-
Сети
Нажмите кнопку Далее: DNS>Далее: теги и (необязательно) настройте значения ключей по мере необходимости.
Нажмите кнопку "Далее": проверка и создание.>
После создания ресурса запишите частный IP-адрес частной конечной точки для дальнейшего использования.
Создание частной зоны DNS
Создав частную конечную точку, создайте частную зону DNS с тем же именем, что и частная зона DNS, созданная частным кластером. Не забудьте создать эту зону DNS в виртуальной сети, содержащей потребляемые ресурсы.
На портале Azure перейдите к группе ресурсов узла и выберите ресурс частной зоны DNS.
В меню службы в разделе "Управление DNS" выберите наборы записей и обратите внимание на следующее:
- Имя частной зоны DNS, которая соответствует шаблону
*.privatelink.<region>.azmk8s.io. - Имя записи
A(кроме частного DNS имени). - Время жизни (TTL) — период времени, через который данные становятся недействительными или удаляются из системы.
- Имя частной зоны DNS, которая соответствует шаблону
На домашней странице портала Azure выберите "Создать ресурс".
Найдите частную зону DNS и выберите "Создать>частную зону DNS".
На вкладке Основные сведения настройте следующие параметры:
Сведения о проекте
- Выберите вашу подписку.
- Выберите группу ресурсов, в которой вы создали частную конечную точку.
Сведения об инстанции
- Имя. Введите имя зоны DNS, полученной из предыдущих шагов.
- Регион: по умолчанию устанавливается расположение группы ресурсов.
Выберите Просмотреть и создать>Создать.
A Создание записи
После создания частной зоны DNS создайте запись, которая связывает частную конечную A точку с частным кластером.
Перейдите к ресурсу частной зоны DNS.
В меню службы в разделе "Управление DNS" выберите "Наборы записей">Добавить.
На странице "Добавление набора записей " настройте следующие параметры:
-
Имя. Введите имя, полученное
Aиз записи в зоне DNS частного кластера. - Тип: выберите A - Адресная запись.
-
TTL: введите число из
Aзаписи в зоне DNS частного кластера. - Единица TTL: измените значение в раскрывающемся списке, чтобы оно соответствовало значению в записи из зоны DNS частного кластера.
- IP-адрес: введите IP-адрес созданной частной конечной точки.
-
Имя. Введите имя, полученное
Нажмите кнопку "Добавить ", чтобы создать
Aзапись.
Это важно
При создании A записи используйте только имя и не полное доменное имя (FQDN).
Связывание частной зоны DNS с виртуальной сетью
A После создания записи свяжите частную зону DNS с виртуальной сетью, которая получит доступ к частному кластеру.
Перейдите к ресурсу частной зоны DNS.
В меню службы в разделе "Управление DNS" выберите"Добавить ссылки >виртуальной сети".
На странице "Добавление канала виртуальной сети " настройте следующие параметры:
- Имя ссылки: введите имя для ссылки виртуальной сети.
- Подписка. Выберите подписку, в которой находится частный кластер.
- виртуальная сеть. Выберите виртуальную сеть частного кластера.
Нажмите кнопку "Создать", чтобы создать ссылку.
Для завершения операции может потребоваться несколько минут. После создания ссылки виртуальной сети вы можете получить доступ к ней на вкладке "Ссылки виртуальной сети ", которую вы использовали на шаге 2.
Предупреждение
- Если частный кластер остановлен и перезапущен, исходная служба приватной связи частного кластера удаляется и создается заново, что разрывает соединение между вашей частной конечной точкой и частным кластером. Чтобы устранить эту проблему, удалите и повторно создайте все созданные пользователем частные конечные точки, связанные с частным кластером. Если у повторно созданной частной конечной точки есть новые IP-адреса, необходимо также обновить записи DNS.
- Если вы обновляете записи DNS в частной зоне DNS, убедитесь, что узел, из которых вы пытаетесь подключиться, использует обновленные записи DNS. Это можно проверить с помощью
nslookupкоманды. Если вы заметили, что обновления не отражаются в выходных данных, может потребоваться очистить кэш DNS на компьютере и повторить попытку.
Создание виртуальной машины в одной виртуальной сети
Чтобы создать виртуальную машину в той же виртуальной сети, что и частный кластер AKS, используйте az vm create команду с флагом --vnet-name , чтобы указать виртуальную сеть.
az vm create \
--resource-group <resource-group-name> \
--name <vm-name> \
--image <image-name> \
--vnet-name <vm-virtual-network-name> \
--subnet <subnet-name> \
--admin-username <admin-username> \
--admin-password <admin-password>
Используйте подключение ExpressRoute или VPN.
Сведения об использовании подключения Express Route или VPN см. в статье "Сведения о шлюзах виртуальной сети ExpressRoute".
Используйте функцию AKS command invoke
Чтобы использовать функцию AKS command invoke для подключения к частному кластеру, см. статью "Доступ к частному кластеру с помощью command invoke".
Связанный контент
Дополнительные сведения о частных кластерах в AKS см. в статье "Создание частного кластера Службы Azure Kubernetes (AKS).