Поделиться через


Использование частного подключения для кластеров 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. Например, при использовании 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, которые используют эти функции, в настоящее время не поддерживаются.

В кластерах 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 Azure или 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 ID, 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 Arc. Вы также можете перейти непосредственно на страницу Приватный канал области Azure Arc в портал Azure.

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

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

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

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

    Снимок экрана: экран создания области Приватный канал Azure Arc в портал Azure.

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

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

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

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

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

  1. В портал Azure перейдите к созданному ресурсу области Azure Arc Приватный канал.

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

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

    Снимок экрана: экран подключений к частной конечной точке в портал Azure.

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

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

  6. Если эти значения еще не выбраны, сделайте следующее:

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

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

    1. Для параметра Интеграция с частной зоной DNS выберите Да. Создается новая зона Частная зона DNS.

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

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

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

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

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

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

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

Если вы выбрали "Да " для интеграции с частной зоной DNS при создании частной конечной точки, локальные кластеры 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-адресов в подсети.
  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-scope-resource-id Идентификатор ресурса области приватного канала, созданного ранее. Например: /subscriptions//resourceGroups//providers/Microsoft.HybridCompute/privateLinkScopes/

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

  1. На портале Azure перейдите к ресурсу области приватного канала Azure Arc.
  2. В меню ресурсов в разделе "Настройка" выберите ресурсы Azure Arc. а затем щелкните Добавить.
  3. Все кластеры Kubernetes с поддержкой Arc отображаются в той же подписке и регионе, что и область Приватный канал. Установите флажок для каждого кластера Kubernetes, который требуется связать с областью Приватный канал. По завершении нажмите кнопку "Выбрать ", чтобы сохранить изменения.

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

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

  • Проверьте локальный DNS-сервер, чтобы убедиться, что он перенаправляется в Azure DNS или настроен с соответствующими записями A в зоне приватного канала. Эти команды поиска должны возвращать общедоступные 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 и теги службы реестра контейнеров Майкрософт в брандмауэр локальной сети.

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