Упрощение требований к конфигурации сети с помощью шлюза 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 → целевая служба.
Текущие ограничения
Во время общедоступной предварительной версии применяются следующие ограничения. Учитывайте эти факторы при планировании конфигурации.
- Конечные прокси-серверы 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
На компьютере с доступом к Azure выполните следующую команду Azure CLI:
az extension add -n arcgateway
Затем выполните следующую команду 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
Убедитесь, что среда соответствует всем необходимым требованиям для Kubernetes с поддержкой Azure Arc. Так как вы используете шлюз Azure Arc, вам не нужно соответствовать полному набору сетевых требований.
На компьютере развертывания задайте переменные среды, необходимые для 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>
В кластере 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
Мониторинг трафика
Чтобы проверить трафик шлюза, просмотрите журналы маршрутизатора шлюза:
- Выполнить
kubectl get pods -n azure-arc
- Определите pod Arc Proxy (его имя начинается с
arc-proxy-
). - Выполнить
kubectl logs -n azure-arc <Arc Proxy pod name>
Дополнительные сценарии
Во время общедоступной предварительной версии шлюз Arc охватывает конечные точки, необходимые для подключения кластера, и часть конечных точек, необходимых для дополнительных сценариев с поддержкой Arc. На основе принятых сценариев дополнительные конечные точки по-прежнему должны быть разрешены в прокси-сервере.
Все конечные точки, перечисленные в следующих сценариях, должны быть разрешены в корпоративном прокси-сервере, если шлюз Arc используется:
- Аналитика контейнеров в Azure Monitor:
*.ods.opinsights.azure.com
*.oms.opinsights.azure.com
*.monitoring.azure.com
- Azure Key Vault:
<vault-name>.vault.azure.net
- Политика Azure:
data.policy.core.windows.net
store.policy.core.windows.net
- Microsoft Defender для контейнеров:
*.ods.opinsights.azure.com
*.oms.opinsights.azure.com
- Службы данных с поддержкой Azure Arc
*.ods.opinsights.azure.com
*.oms.opinsights.azure.com
*.monitoring.azure.com