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


Упрощение требований к конфигурации сети с помощью шлюза Azure Arc (предварительная версия)

Если вы используете корпоративные прокси-серверы для управления исходящим трафиком, шлюз Azure Arc (предварительная версия) может упростить процесс включения подключения.

Шлюз Azure Arc (предварительная версия) позволяет:

  • Подключитесь к Azure Arc, открыв доступ к общедоступной сети только к семи полным доменным именам (FQDN).
  • Просмотр и аудит всего трафика, который агенты Arc отправляют в Azure через шлюз Arc.

Внимание

Шлюз Azure Arc в настоящее время находится в предварительной версии.

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

Как работает шлюз Azure Arc

Шлюз Arc работает, введя два новых компонента

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

Прокси Arc — это новый компонент, который выполняется как собственный модуль pod (называемый "Прокси Azure Arc"). Этот компонент выступает в качестве прокси-сервера пересылки, используемого агентами и расширениями Azure Arc. Для прокси-сервера Azure Arc не требуется конфигурация. Начиная с версии 1.21.10 агентов Kubernetes с поддержкой Arc этот модуль теперь является частью основных агентов Arc, и он выполняется в контексте кластера Kubernetes с поддержкой Arc. 

Когда шлюз находится на месте, трафик передается через следующие прыжки: агенты Arc → прокси-сервер Azure Arc → корпоративный прокси-сервер → Шлюз Arc → целевая служба.

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

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

Во время общедоступной предварительной версии применяются следующие ограничения. Учитывайте эти факторы при планировании конфигурации.

  • Конечные прокси-серверы TLS не поддерживаются шлюзом Arc.
  • Вы не можете использовать VPN-подключение ExpressRoute или VPN типа "сеть — сеть" или частные конечные точки в дополнение к шлюзу Arc.
  • Существует ограничение в пять ресурсов шлюза Arc на подписку Azure.
  • Шлюз Arc можно использовать только для подключения в общедоступном облаке Azure.

Вы можете создать ресурс шлюза Arc с помощью Azure CLI или Azure PowerShell.

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

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

  • Microsoft.Kubernetes/connectedClusters/settings/default/write
  • Microsoft.hybridcompute/gateways/read
  • Microsoft.hybridcompute/gateways/write

Создание ресурса шлюза Arc

  1. На компьютере с доступом к Azure выполните следующую команду Azure CLI:

    az extension add -n arcgateway
    
  2. Затем выполните следующую команду Azure CLI, чтобы создать ресурс шлюза Arc, заменив заполнители нужными значениями:

    az arcgateway create --name <gateway's name> --resource-group <resource group> --location <region> --gateway-type public --allowed-features * --subscription <subscription name or id>
    

Обычно для создания ресурса шлюза Arc требуется около десяти минут.

Подтверждение доступа к необходимым URL-адресам

После успешного создания ресурса ответ успешно будет включать URL-адрес шлюза Arc. Убедитесь, что URL-адрес шлюза Arc и все указанные ниже URL-адреса разрешены в среде, в которой находятся ресурсы Arc.

URL Характер использования
[Your URL prefix].gw.arc.azure.com URL-адрес шлюза. Этот URL-адрес можно получить, выполнив команду az arcgateway list после создания ресурса.
management.azure.com Конечная точка Azure Resource Manager, необходимая для канала управления ARM.
<region>.obo.arc.azure.com Требуется при настройке подключения к кластеру.
login.microsoftonline.com, <region>.login.microsoft.com Конечная точка идентификатора Microsoft Entra ID, используемая для получения маркеров доступа к удостоверениям.
gbl.his.arc.azure.com, <region>.his.arc.azure.com Конечная точка облачной службы для взаимодействия с агентами Arc. Использует короткие имена, например eus для восточной части США.
mcr.microsoft.com, *.data.mcr.microsoft.com Требуется агентам Azure Arc для извлечения образов контейнеров.

Подключение кластеров Kubernetes к Azure Arc с ресурсом шлюза Arc

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

  2. На компьютере развертывания задайте переменные среды, необходимые для Azure CLI, чтобы использовать исходящий прокси-сервер:

    export HTTP_PROXY=<proxy-server-ip-address>:<port> export HTTPS_PROXY=<proxy-server-ip-address>:<port> export NO_PROXY=<cluster-apiserver-ip-address>:<port>

  3. В кластере Kubernetes выполните команду подключения с proxy-https указанными параметрами и proxy-http параметрами. Если прокси-сервер настроен как с HTTP, так и с HTTPS, обязательно используйте --proxy-http для прокси-сервера HTTP и --proxy-https прокси-сервера HTTPS. Если прокси-сервер использует только HTTP, это значение можно использовать для обоих параметров.

    az connectedk8s connect -g <resource_group> -n <cluster_name> --gateway-resource-id <gateway_resource_id> --proxy-https <proxy_value> --proxy-http http://<proxy-server-ip-address>:<port> --proxy-skip-range <excludedIP>,<excludedCIDR> --location <region>

    Примечание.

    Некоторые сетевые запросы, такие как взаимодействие между службами в кластере, должны быть отделены от трафика, который направляется через прокси-сервер для исходящего взаимодействия. Этот --proxy-skip-range параметр можно использовать для указания диапазона CIDR и конечных точек в разделенных запятыми точках, чтобы связь от агентов с этими конечными точками не выполнялась через исходящий прокси-сервер. По крайней мере, диапазон CIDR служб в кластере должен быть указан в качестве значения этого параметра. Например, если kubectl get svc -A возвращается список служб, где все службы имеют ClusterIP значения в диапазоне 10.0.0.0/16, то значение, для --proxy-skip-range 10.0.0.0/16,kubernetes.default.svc,.svc.cluster.local,.svcкоторого необходимо указать.

    Для большинства сред с исходящим прокси-сервером ожидаются параметры --proxy-http, --proxy-https и --proxy-skip-range. --proxy-cert требуется только в том случае, если необходимо внедрить доверенные сертификаты, ожидаемые прокси-сервером, в хранилище доверенных сертификатов модулей pod агента.

    Настройки исходящего прокси-сервера должны разрешать подключения WebSocket.

Настройка существующих кластеров для использования шлюза Arc

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

az connectedk8s update -g <resource_group> -n <cluster_name> --gateway-resource-id <gateway_resource_id>

Чтобы убедиться, что обновление выполнено успешно, выполните следующую команду и убедитесь, что ответ:true

 az connectedk8s show -g <resource_group> -n <cluster_name> --query 'gateway.enabled' 

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

Удаление шлюза Arc

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

az connectedk8s update -g <resource_group> -n <cluster_name> --disable-gateway 

Мониторинг трафика

Чтобы проверить трафик шлюза, просмотрите журналы маршрутизатора шлюза:

  1. Выполнить kubectl get pods -n azure-arc
  2. Определите pod Arc Proxy (его имя начинается с arc-proxy-).
  3. Выполнить kubectl logs -n azure-arc <Arc Proxy pod name>

Дополнительные сценарии

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

Все конечные точки, перечисленные в следующих сценариях, должны быть разрешены в корпоративном прокси-сервере, если шлюз Arc используется: