Параметры прокси-сервера в 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 addresses excludes 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