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


Параметры прокси-сервера в AKS, включенные Azure Arc

Область применения: AKS в Azure Stack HCI 22H2, AKS на Windows Server

В этой статье описывается настройка параметров прокси-сервера для AKS, включенных Azure Arc. Если для подключения к Интернету требуется использовать прокси-сервер, в этой статье описаны действия по настройке поддержки прокси-сервера в AKS с помощью модуля PowerShell AksHci . Действия отличаются в зависимости от того, требуется ли проверка подлинности прокси-сервера.

Примечание.

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

После настройки развертывания с помощью следующих параметров можно установить узел AKS в локальной среде Azure и создать кластеры Kubernetes с помощью PowerShell.

Подготовка к работе

Убедитесь, что выполнены все необходимые условия в системных требованиях.

Сведения о конфигурации прокси-сервера

Конфигурация прокси-сервера для развертывания AKS включает следующие параметры:

  • URL-адрес HTTP и порт, например http://proxy.corp.contoso.com:8080.
  • URL-адрес и порт HTTPS, например https://proxy.corp.contoso.com:8443.
  • (Необязательно) Допустимые учетные данные для проверки подлинности на прокси-сервере.
  • (Необязательно) Допустимая цепочка сертификатов, если прокси-сервер настроен для перехвата SSL-трафика. Эта цепочка сертификатов будет импортирована во все плоскости управления AKS и рабочие узлы, а также кластер управления для установления надежного подключения к прокси-серверу.

Список исключений для исключения частных подсетей от отправки на прокси-сервер

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

IP-адрес Причина исключения
localhost, 127.0.0.1 Трафик Localhost
.svc Внутренний трафик службы Kubernetes, где .svc представляет подстановочное имя. Это похоже на фразу *.svc, но ни один из них не используется в этой схеме.
10.0.0.0/8 Адресное пространство частной сети.
172.16.0.0/12 Адресное пространство частной сети — CIDR службы Kubernetes.
192.168.0.0/16 Адресное пространство частной сети — Kubernetes pod CIDR.
.contoso.com`` | You might want to exempt your enterprise namespace (.contoso.com) from being directed through the proxy. To exclude all addresses in a domain, you must add the domain to the noProxy.contoso.comlist. Use a leading period rather than a wildcard (\*) character. In the example, the addressesexcludes addresses prefix1.contoso.com prefix2.contoso.com, ', и т. д.

Значение noProxy по умолчанию — localhost,127.0.0.1,.svc,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16. Хотя эти значения по умолчанию работают для многих сетей, может потребоваться добавить в список исключений дополнительные диапазоны подсетей и (или) имена. Например, может потребоваться исключить корпоративное пространство имен (contoso.com) от перенаправления через прокси-сервер. Для этого можно указать значения в списке noProxy .

Настройка прокси-сервера для кластеров Azure Local и Windows Server с параметрами прокси на уровне компьютера

Если у вас уже есть параметры прокси-сервера на уровне компьютера в кластере Azure Local/Windows Server, параметры могут переопределить все параметры прокси-сервера, относящиеся к AKS, и привести к сбою во время установки.

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

$http_proxy = [System.Environment]::GetEnvironmentVariable("HTTP_PROXY", "Machine")
$https_proxy = [System.Environment]::GetEnvironmentVariable("HTTPS_PROXY", "Machine")
$no_proxy = [System.Environment]::GetEnvironmentVariable("NO_PROXY", "Machine")

if ($http_proxy -or $https_proxy) {
    if (-not $no_proxy) {
        Write-Host "Problem Detected! A machine-wide proxy server is configured, but no proxy exclusions are configured"
    }
}

Настройте исключения прокси-сервера на всех узлах физического кластера, где обнаружена проблема.

Выполните следующий скрипт PowerShell и замените $no_proxy строку параметра подходящей NO_PROXY строкой исключения для вашей среды. Сведения о том, как правильно настроить noProxy список для вашей среды, см . в списке исключений для исключения частных подсетей от отправки на прокси-сервер.

$no_proxy = "localhost,127.0.0.1,.svc,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.contoso.com"
[Environment]::SetEnvironmentVariable("NO_PROXY", $no_proxy, "Machine")
$env:NO_PROXY = [System.Environment]::GetEnvironmentVariable("NO_PROXY", "Machine")

Примечание.

Рекомендуется использовать одни и те же параметры прокси-сервера на всех узлах в отказоустойчивом кластере. Наличие различных параметров прокси-сервера на разных физических узлах в отказоустойчивом кластере может привести к непредвиденным результатам или проблемам с установкой. Кроме того, IP-адрес с подстановочным знаком (*), например 172.*, недопустимо. IP-адрес должен находиться в правильной нотации CIDR (172.0.0.0/8).

Установка модулей PowerShell AksHci

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

При использовании удаленного PowerShell необходимо использовать CredSSP.

Закройте все открытые окна PowerShell перед выполнением следующей команды:

Install-Module -Name AksHci -Repository PSGallery

Если в вашей среде используется прокси-сервер для доступа к Интернету, может потребоваться добавить параметры прокси-сервера в команду Install-Module перед установкой AKS. Дополнительные сведения см. в документации по установке-модулю и следуйте документации по локальной документации Azure, чтобы настроить параметры прокси-сервера на узлах физического кластера.

При скачивании модуля PowerShell AksHci мы также скачиваем модули Az PowerShell, необходимые для регистрации узла AKS в Azure для выставления счетов.

Настройка узла AKS для прокси-сервера с базовой проверкой подлинности

Если прокси-сервер требует проверки подлинности, откройте PowerShell от имени администратора и выполните следующую команду, чтобы получить учетные данные и задать сведения о конфигурации:

$proxyCred = Get-Credential
$proxySetting=New-AksHciProxySetting -name "corpProxy" -http http://contosoproxy:8080 -https https://contosoproxy:8443 -noProxy localhost,127.0.0.1,.svc,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.contoso.com -credential $proxyCredential

Настройка узла AKS для прокси-сервера без проверки подлинности

Если прокси-сервер не требует проверки подлинности, выполните следующую команду:

$proxySetting=New-AksHciProxySetting -name "corpProxy" -http http://contosoproxy:8080 -https https://contosoproxy:8443 -noProxy localhost,127.0.0.1,.svc,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.contoso.com

Настройка узла AKS для прокси-сервера с доверенным сертификатом

Если прокси-серверу требуется, чтобы прокси-клиенты доверяли сертификату, укажите файл сертификата при запуске Set-AksHciConfig. Формат файла сертификата — base-64, закодированный X .509. Это позволяет создавать и доверять сертификату во всем стеке.

Внимание

Если прокси-сервер требует, чтобы сертификат был доверен физическим локальным узлам Azure, перед продолжением импортируйте цепочку сертификатов в соответствующее хранилище сертификатов на каждом локальном узле Azure. Следуйте инструкциям по развертыванию, чтобы зарегистрировать локальные узлы Azure с необходимыми сертификатами для проверки подлинности прокси-сервера.

$proxySetting=New-AksHciProxySetting -name "corpProxy" -http http://contosoproxy:8080 -https https://contosoproxy:8443 -noProxy localhost,127.0.0.1,.svc,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.contoso.com -credential $proxyCredential

Примечание.

Сертификаты прокси-сервера должны быть предоставлены в виде формата файла или строки обмена персональными данными (PFX) и содержать цепочку корневых центров для использования сертификата для проверки подлинности или настройки туннеля SSL.

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

Теперь вы можете продолжить установку AKS в локальном или кластере Windows Server Azure, за Set-AksHciConfig которым следует.Install-AksHci