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


Использование частного подключения для кластеров 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 Arc, использующие Приватный канал и те, которые не могут совместно использовать одну виртуальную сеть или зону DNS. Ресурсы Azure Arc без Приватный канал должны разрешаться в общедоступные конечные точки.

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

    Примечание.

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

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

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

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

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

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

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

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

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

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

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

После создания области 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.

      Внимание

      Ту же зону виртуальной сети и DNS нельзя использовать для обоих ресурсов Arc с помощью приватного канала и тех, которые не используют приватный канал. Ресурсы 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-адресов частной конечной точки.

Дополнительные сведения см. в статье "Частный сопоставитель Azure" с локальным dns-сервером пересылки.

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

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

  1. В портал Azure перейдите к ресурсу частной конечной точки, связанному с виртуальной сетью и областью приватного канала.
  2. В меню службы в разделе "Параметры" выберите конфигурацию DNS, чтобы просмотреть список записей DNS и соответствующих IP-адресов, которые необходимо настроить на DNS-сервере. Полные доменные имена и IP-адреса изменятся в зависимости от региона, выбранного для частной конечной точки, и доступных IP-адресов в подсети.
  3. Следуйте указаниям поставщика 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 и теги службы реестра контейнеров Майкрософт в брандмауэр локальной сети.

Дополнительные советы по устранению неполадок см. в статье "Устранение неполадок с подключением к частной конечной точке Azure".

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