Частное подключение для кластеров Kubernetes с поддержкой Arc с помощью приватного канала (предварительная версия)

Приватный канал Azure позволяет безопасно связать службы Azure с виртуальной сетью с помощью частных конечных точек. Это означает, что вы можете подключить локальные кластеры Kubernetes к Azure Arc и отправить весь трафик через Azure ExpressRoute или VPN-подключение типа "сеть — сеть" вместо использования общедоступных сетей. В Azure Arc можно использовать модель области Приватный канал, чтобы разрешить нескольким кластерам Kubernetes взаимодействовать с ресурсами Azure Arc с помощью одной частной конечной точки.

В этом документе рассматривается, когда следует использовать и как настроить azure Arc Приватный канал (предварительная версия).

Важно!

Функция Azure Arc Приватный канал в настоящее время находится в предварительной версии во всех регионах, где присутствует Kubernetes с поддержкой Azure Arc, кроме юго-восточной Азии. Юридические условия, применимые к функциям Azure, которые находятся в состоянии бета-версии, предварительной версии или иным образом еще не выпущены в общедоступной версии, см. на странице Дополнительные условия использования предварительных версий в Microsoft Azure.

Достоинства

Приватный канал предоставляет следующие возможности:

  • Частное подключение к Azure Arc без открытия доступа к общедоступной сети.
  • Убедитесь, что данные из кластера Kubernetes с поддержкой Arc доступны только через авторизованные частные сети.
  • Предотвращение кражи данных из частных сетей путем определения определенных кластеров Kubernetes с поддержкой Azure Arc и других ресурсов служб Azure, таких как Azure Monitor, которые подключаются через частную конечную точку.
  • Безопасное подключение частной локальной сети к Azure Arc с помощью ExpressRoute и Приватного канала.
  • Удержание всего трафика внутри магистральной сети Microsoft Azure.

Дополнительные сведения см. в разделе "Основные преимущества Приватный канал Azure".

Как это работает

Область azure Arc Приватный канал подключает частные конечные точки (и виртуальные сети, которые они содержатся) к ресурсу Azure, в этом случае кластеры Kubernetes с поддержкой Azure Arc. При включении любого из поддерживаемых расширений Kubernetes с поддержкой Arc, таких как Azure Monitor, для этих сценариев может потребоваться подключение к другим ресурсам Azure. Например, в случае с Azure Monitor журналы, собранные из кластера, отправляются в рабочую область Log Analytics.

Подключение тивность к другим ресурсам Azure из кластера Kubernetes с поддержкой Arc, перечисленным ранее, требует настройки Приватный канал для каждой службы. Пример см. в Приватный канал для Azure Monitor.

Текущие ограничения

При планировании настройки Приватный канал учитывайте эти текущие ограничения.

  • Вы можете связать с виртуальной сетью не более одной области приватного канала Azure Arc.

  • Кластер Kubernetes с поддержкой Azure Arc может подключаться только к одной области Приватный канал Azure Arc.

  • Все локальные кластеры Kubernetes должны использовать одну и ту же частную конечную точку, разрешая правильные сведения о частной конечной точке (полное доменное имя и частный IP-адрес) с помощью одного и того же dns-сервера пересылки. Дополнительные сведения см. в статье Конфигурация DNS для частной конечной точки Azure. Кластер Kubernetes с поддержкой Azure Arc, область Приватный канал Azure Arc и виртуальная сеть должны находиться в одном регионе Azure. Частная конечная точка и виртуальная сеть также должны находиться в одном регионе Azure, но этот регион может отличаться от региона azure Arc Приватный канал области и кластера Kubernetes с поддержкой Arc.

  • Трафик к идентификатору Microsoft Entra, Azure Resource Manager и тегам службы реестра контейнеров Майкрософт необходимо разрешить через локальный брандмауэр сети во время предварительной версии.

  • Другие используемые службы Azure, например Azure Monitor, должны иметь собственные частные конечные точки в виртуальной сети.

    Примечание.

    Функция Подключение кластера (и, следовательно, пользовательское расположение) не поддерживается в кластерах Kubernetes с поддержкой Azure Arc с включенным частным подключением. Это планируется и будет добавлено позже. Сетевое подключение с помощью частных ссылок для служб Azure Arc, таких как службы данных с поддержкой Azure Arc и службы приложений с поддержкой Azure Arc, которые используют эти функции, пока не поддерживаются. Дополнительные сведения см. в разделе ниже для списка расширений кластера или служб Azure Arc, поддерживающих сетевое подключение через частные каналы.

В кластерах Kubernetes с поддержкой Azure Arc, настроенных с частными ссылками, следующие расширения поддерживают сквозное подключение через частные каналы. Сведения о поддержке приватных каналов см. в руководстве, связанном с каждым расширением кластера.

Чтобы подключить кластер Kubernetes к Azure Arc через приватный канал, необходимо настроить сеть для выполнения следующих действий:

  1. Установите подключение между локальной сетью и виртуальной сетью Azure с помощью VPN типа "сеть — сеть" или канала ExpressRoute.
  2. Разверните область Приватный канал Azure Arc, которая управляет тем, какие кластеры Kubernetes могут взаимодействовать с Azure Arc по частным конечным точкам и связать ее с виртуальной сетью Azure с помощью частной конечной точки.
  3. Обновите конфигурацию DNS в локальной сети, чтобы разрешить адреса частной конечной точки.
  4. Настройте локальный брандмауэр, чтобы разрешить доступ к идентификатору Microsoft Entra, Azure Resource Manager и Реестру контейнеров Майкрософт.
  5. Свяжите кластеры Kubernetes с областью Приватный канал Azure Arc с поддержкой Azure Arc.
  6. При необходимости развертывайте частные конечные точки для других служб Azure, которыми управляет кластер Kubernetes с поддержкой Azure Arc, например Azure Monitor. В остальной части этого документа предполагается, что вы уже настроили канал ExpressRoute или VPN-подключение типа "сеть — сеть".

Сетевая конфигурация

Kubernetes с поддержкой Azure Arc интегрируется с несколькими службами Azure, чтобы обеспечить управление облаком и управление в гибридных кластерах Kubernetes. Большинство этих служб уже предлагают частные конечные точки, но необходимо настроить правила брандмауэра и маршрутизации, чтобы разрешить доступ к идентификатору Microsoft Entra и Azure Resource Manager через Интернет, пока эти службы не предлагают частные конечные точки. Кроме того, необходимо разрешить доступ к Реестру контейнеров Майкрософт (и AzureFrontDoor.FirstParty в качестве предшественника реестра контейнеров Майкрософт) для извлечения изображений и диаграмм Helm, чтобы включить такие службы, как Azure Monitor, а также для первоначальной настройки агентов Azure Arc в кластерах Kubernetes.

Этого можно достигнуть двумя способами:

  • Если сеть настроена для маршрутизации всего трафика, связанного с Интернетом, через канал VPN Или ExpressRoute, можно настроить группу безопасности сети (NSG), связанную с подсетью в Azure, чтобы разрешить исходящий доступ TCP 443 (HTTPS) к идентификатору Microsoft Entra, Azure Resource Manager, Azure Front Door и Реестру контейнеров Майкрософт с помощью тегов службы. Правила NSG должны выглядеть так, как показано ниже:

    Параметр Правило идентификатора Microsoft Entra Правило Azure Resource Manager Правило AzureFrontDoorFirstParty Правило реестра контейнеров Майкрософт
    Оригинал Виртуальная сеть Виртуальная сеть Виртуальная сеть Виртуальная сеть
    Диапазоны исходных портов * * * *
    Назначение Тег службы Тег службы Тег службы Тег службы
    Назначение: тег службы AzureActiveDirectory AzureResourceManager AzureFrontDoor.FirstParty MicrosoftContainerRegistry
    Диапазоны портов назначения 443 443 443 443
    Протокол TCP TCP TCP TCP
    Действие Разрешить Разрешить Разрешить (как входящий, так и исходящий) Разрешить
    Приоритет 150 (должен быть ниже всех правил, блокирующих доступ к Интернету) 151 (должен быть ниже всех правил, блокирующих доступ к Интернету) 152 (должно быть меньше правил, которые блокируют доступ к Интернету) 153 (должно быть ниже любых правил, которые блокируют доступ к Интернету)
    Имя. AllowAADOutboundAccess AllowAzOutboundAccess AllowAzureFrontDoorFirstPartyAccess AllowMCROutboundAccess
  • Настройте брандмауэр в локальной сети, чтобы разрешить исходящий доступ TCP 443 (HTTPS) к идентификатору Microsoft Entra, Azure Resource Manager и Реестру контейнеров Майкрософт, а также для входящего и исходящего доступа к AzureFrontDoor.FirstParty с помощью скачиваемых файлов тегов службы. JSON-файл содержит все диапазоны общедоступных IP-адресов, используемые идентификатором Microsoft Entra, Azure Resource Manager, AzureFrontDoor.FirstParty и реестром контейнеров Майкрософт, и обновляется ежемесячно, чтобы отразить любые изменения. Тег службы Microsoft Entra — AzureActiveDirectory, тег службы Azure Resource Manager — AzureResourceManager, тег службы Реестра контейнеров Майкрософт — MicrosoftContainerRegistry, а тег службы Azure Front Door — AzureFrontDoor.FirstParty. Обратитесь к администратору сети и поставщику сетевых брандмауэров, чтобы узнать, как настроить правила брандмауэра.

  1. Войдите на портал Azure.

  2. Перейдите к разделу "Создание ресурса в портал Azure", а затем найдите область Приватный канал Azure Arc. Вы также можете перейти непосредственно на страницу Приватный канал области Azure Arc на портале.

  3. Нажмите кнопку создания.

  4. Выберите подписку и группу ресурсов. Во время предварительной версии виртуальная сеть и кластеры Kubernetes с поддержкой Azure Arc должны находиться в той же подписке, что и область Приватный канал Azure Arc.

  5. Укажите имя для области приватного канала Azure Arc.

  6. Кроме того, для отправки данных в службу через частную конечную точку можно требовать каждый кластер Kubernetes с поддержкой Приватный канал Arc, связанный с этой областью Azure Arc. Если выбрать включение доступа к общедоступной сети, кластеры Kubernetes, связанные с этой областью Приватный канал Azure Arc, могут взаимодействовать со службой через частные или общедоступные сети. Этот параметр можно изменить после создания область по мере необходимости.

  7. Выберите Review + Create (Просмотреть и создать).

    Screenshot of the Azure Arc Private Link Scope creation screen in the Azure portal.

  8. После завершения проверки нажмите кнопку "Создать".

Создание частной конечной точки

После создания области Azure Arc Приватный канал необходимо подключить ее к одной или нескольким виртуальным сетям с помощью частной конечной точки. Частная конечная точка предоставляет доступ к службам Azure Arc с частного IP-адреса в адресном пространстве виртуальной сети.

Частная конечная точка в виртуальной сети позволяет достичь конечных точек кластера Kubernetes с поддержкой Azure Arc через частные IP-адреса из пула сети, а не использовать общедоступные IP-адреса этих конечных точек. Это позволяет продолжать использовать кластеры Kubernetes с поддержкой Azure Arc, не открывая виртуальную сеть для незарегистраированного исходящего трафика. Трафик из частной конечной точки в ресурсы будет проходить через Microsoft Azure и не направляется в общедоступные сети.

  1. В ресурсе области щелкните Подключения к частной конечной точке в меню ресурсов слева. Щелкните Добавить, чтобы запустить процесс создания конечной точки. Вы также можете утвердить подключения, которые были запущены в центре Приватный канал, выбрав их, а затем выбрав "Утвердить".

    Screenshot of the Private Endpoint connections screen in the Azure portal.

  2. Выберите подписку, группу ресурсов и имя конечной точки и регион, который вы хотите использовать. Это должен быть тот же регион, что и виртуальная сеть.

  3. По завершении выберите Далее: Ресурс.

  4. На странице ресурсов выполните следующие действия:

    1. Выберите подписку, содержащую ресурс Azure Arc Приватный канал Scope.
    2. Для типа ресурса выберите Microsoft.HybridCompute/privateLinkScopes.
    3. В раскрывающемся списке ресурсов выберите область Azure Arc Приватный канал, созданную ранее.
    4. Выберите Далее: Конфигурация.
  5. На странице "Конфигурация" выполните следующие действия:

    1. Выберите виртуальную сеть и подсеть, из которой требуется подключиться к кластерам Kubernetes с поддержкой Azure Arc.

    2. Для параметра Интеграция с частной зоной DNS выберите Да. Будет создана новая зона Частная зона DNS. Фактические зоны DNS могут отличаться от тех, которые показаны на снимке экрана ниже.

      Screenshot of the Configuration step to create a private endpoint in the Azure portal.

      Примечание.

      Если вы выберете "Нет" и предпочитаете управлять записями DNS вручную, сначала завершите настройку Приватный канал, включая эту частную конечную точку и конфигурацию частной области. Затем настройте DNS в соответствии с инструкциями в конфигурации DNS частной конечной точки Azure. Не создавайте пустые записи при подготовке к настройке Приватного канала. Создаваемые записи DNS могут переопределить существующие параметры и повлиять на подключение к кластерам Kubernetes с поддержкой Arc.

    3. Выберите Review + create (Просмотреть и создать).

    4. Дождитесь завершения проверки.

    5. Нажмите кнопку создания.

Настройка локальной пересылки DNS

Локальные кластеры Kubernetes должны иметь возможность разрешать записи DNS приватного канала с IP-адресами частной конечной точки. Настройка зависит от того, используете ли вы частные зоны DNS Azure для хранения записей DNS или использования собственного DNS-сервера в локальной среде, а также от того, сколько кластеров вы настраиваете.

Настройка DNS с помощью частных зон DNS, интегрированных с Azure

Если при создании частной конечной точки настроены частные зоны DNS для кластеров Kubernetes с поддержкой Azure Arc, локальные кластеры Kubernetes должны иметь возможность перенаправить DNS-запросы на встроенные dns-серверы Azure DNS для правильного разрешения адресов частных конечных точек. Вам потребуется сервер пересылки DNS в Azure (специализированная виртуальная машина или экземпляр Брандмауэра Azure с включенным DNS-прокси), после чего можно настроить локальный DNS-сервер для пересылки запросов в Azure для разрешения IP-адресов частной конечной точки.

В документации по частной конечной точке содержится руководство по настройке локальных рабочих нагрузок с помощью сервера пересылки DNS.

Настройка DNS-сервера вручную

Если вы отказались использовать частные зоны DNS Azure во время создания частной конечной точки, необходимо создать необходимые записи DNS на локальном DNS-сервере.

  1. Переход на портал Azure.

  2. Перейдите к ресурсу частной конечной точки, связанному с виртуальной сетью и областью Приватный канал Azure Arc.

  3. В области слева выберите Конфигурация DNS, чтобы просмотреть список записей DNS и соответствующих IP-адресов, которые необходимо настроить на DNS-сервере. Полные доменные имена и IP-адреса изменятся в зависимости от региона, выбранного для частной конечной точки, и доступных IP-адресов в подсети.

    Screenshot showing manual DNS server configuration in the Azure portal.

  4. Следуйте указаниям поставщика DNS-сервера, чтобы добавить необходимые зоны DNS и записи для сопоставления с таблицей на портале. Убедитесь, что выбран DNS-сервер, соответствующий вашей сети. Каждый кластер Kubernetes, использующий этот DNS-сервер, теперь разрешает IP-адреса частной конечной точки и должен быть связан с областью Приватный канал Azure Arc, или подключение будет отказано.

Примечание.

Настройка частных ссылок для кластеров Kubernetes с поддержкой Azure Arc поддерживается начиная с версии 1.3.0 connectedk8s расширения CLI, но требуется версия Azure CLI больше 2.3.0. Если вы используете версию более 1.3.0 для connectedk8s расширения CLI, мы ввели проверки, чтобы проверка и успешно подключить кластер к Azure Arc, только если вы используете версию Azure CLI больше 2.3.0.

Вы можете настроить частные ссылки для существующего кластера Kubernetes с поддержкой Azure Arc или при подключении кластера Kubernetes к Azure Arc впервые с помощью следующей команды:

az connectedk8s connect -g <resource-group-name> -n <connected-cluster-name> -l <location> --enable-private-link true --private-link-scope-resource-id <pls-arm-id>
Наименование параметра Description
--enable-private-link Свойство для включения и отключения функции приватных ссылок. Установите для него значение True, чтобы включить подключение с частными ссылками.
--private-link-область-resource-id Идентификатор закрытого канала область ресурса, созданного ранее. Например: /subscriptions//resourceGroups//providers/Microsoft.HybridCompute/privateLinkScopes/

Для кластеров Kubernetes с поддержкой Azure Arc, настроенных перед настройкой приватного канала Azure Arc, можно настроить частные каналы с помощью область портал Azure, выполнив следующие действия.

  1. На портале Azure перейдите к ресурсу области приватного канала Azure Arc.

  2. В левой области выберите ресурсы Azure Arc, а затем + Добавить.

  3. Выберите кластеры Kubernetes в списке, который вы хотите связать с областью Приватный канал, а затем нажмите кнопку "Выбрать", чтобы сохранить изменения.

    Примечание.

    В списке отображаются только кластеры Kubernetes с поддержкой Azure Arc, находящиеся в той же подписке и регионе, что и область Приватный канал.

    Screenshot of the list of Kubernetes clusters for the Azure Arc Private Link Scope.

Устранение неполадок

При возникновении проблем могут помочь следующие рекомендации.

  • Проверьте локальные DNS-серверы, чтобы убедиться, что они либо пересылаются Azure DNS, либо настроены с соответствующими записями в зоне приватного канала. Эти команды поиска должны возвращать общедоступные IP-адреса в виртуальной сети Azure. Если они разрешают общедоступные IP-адреса, дважды проверьте настройку DNS компьютера или сервера и сети.

    nslookup gbl.his.arc.azure.com
    nslookup agentserviceapi.guestconfiguration.azure.com
    nslookup dp.kubernetesconfiguration.azure.com
    
  • Если у вас возникли проблемы с подключением кластера Kubernetes, убедитесь, что вы добавили идентификатор Microsoft Entra, Azure Resource Manager, AzureFrontDoor.FirstParty и теги службы реестра контейнеров Майкрософт в брандмауэр локальной сети.

Следующие шаги