Ustawienia serwera proxy w usłudze AKS włączone przez usługę Azure Arc

Dotyczy: usługa AKS w usłudze Azure Stack HCI 22H2, AKS w systemie Windows Server

W tym artykule opisano sposób konfigurowania ustawień serwera proxy dla usługi AKS włączonej przez usługę Azure Arc. Jeśli sieć wymaga użycia serwera proxy do nawiązania połączenia z Internetem, w tym artykule przedstawiono kroki konfigurowania obsługi serwera proxy w usłudze AKS przy użyciu modułu AksHci programu PowerShell. Kroki różnią się w zależności od tego, czy serwer proxy wymaga uwierzytelniania.

Uwaga

Jeśli chcesz używać platformy Kubernetes i usług Platformy Azure w usłudze Azure Arc, dodaj również adresy URL wyświetlane w temacie Łączenie istniejącego klastra Kubernetes z usługą Azure Arc do listy dozwolonych.

Po skonfigurowaniu wdrożenia przy użyciu następujących opcji można zainstalować hosta usługi AKS w usłudze Azure Stack HCI i utworzyć klastry Kubernetes przy użyciu programu PowerShell.

Zanim rozpoczniesz

Upewnij się, że zostały spełnione wszystkie wymagania wstępne w wymaganiach systemowych.

Informacje o konfiguracji serwera proxy

Konfiguracja serwera proxy dla wdrożenia usługi AKS obejmuje następujące ustawienia:

  • Adres URL i port HTTP, taki jak http://proxy.corp.contoso.com:8080.
  • Adres URL i port HTTPS, taki jak https://proxy.corp.contoso.com:8443.
  • (Opcjonalnie) Prawidłowe poświadczenia uwierzytelniania na serwerze proxy.
  • (Opcjonalnie) Prawidłowy łańcuch certyfikatów, jeśli serwer proxy jest skonfigurowany do przechwytywania ruchu SSL. Ten łańcuch certyfikatów zostanie zaimportowany do wszystkich węzłów sterowania i węzłów procesu roboczego usługi AKS, a także do klastra zarządzania w celu nawiązania zaufanego połączenia z serwerem proxy.

Lista wykluczeń wykluczająca podsieci prywatne wysyłane do serwera proxy

Poniższa tabela zawiera listę adresów, które należy wykluczyć przy użyciu parametru -noProxy w New-AksHciProxySettingpliku .

Adres IP Przyczyna wykluczenia
localhost, 127.0.0.1 Ruch hosta lokalnego
.svc Wewnętrzny ruch usługi Kubernetes, gdzie .svc reprezentuje nazwę symboli wieloznacznych. Jest to podobne do powiedzenie *.svc, ale żaden z nich nie jest używany w tym schemacie.
10.0.0.0/8 Przestrzeń adresowa sieci prywatnej.
172.16.0.0/12 Przestrzeń adresowa sieci prywatnej — CIDR usługi Kubernetes.
192.168.0.0/16 Przestrzeń adresowa sieci prywatnej — ciDR zasobnika Kubernetes.
.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 itd.

Wartość domyślna to noProxylocalhost,127.0.0.1,.svc,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16. Chociaż te wartości domyślne działają dla wielu sieci, może być konieczne dodanie większej liczby zakresów podsieci i/lub nazw do listy wykluczeń. Możesz na przykład wykluczyć przestrzeń nazw przedsiębiorstwa (.contoso.com) z przekierowania za pośrednictwem serwera proxy. Można to osiągnąć, określając wartości na noProxy liście.

Ustawianie serwera proxy dla klastrów usługi Azure Stack HCI i systemu Windows Server przy użyciu ustawień serwera proxy dla całego komputera

Jeśli masz już ustawienia serwera proxy dla całego komputera w klastrze usługi Azure Stack HCI/Windows Server, ustawienia mogą zastąpić wszystkie ustawienia serwera proxy specyficzne dla usługi AKS i prowadzić do niepowodzenia podczas instalacji.

Aby wykryć, czy masz ustawienia serwera proxy dla całej maszyny, uruchom następujący skrypt w każdym z węzłów klastra fizycznego:

$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"
    }
}

Skonfiguruj wykluczenia serwera proxy dla całego komputera na każdym z hostów klastra fizycznego, na których wykryto problem.

Uruchom następujący skrypt programu PowerShell i zastąp $no_proxy ciąg parametru odpowiednim NO_PROXY ciągiem wykluczenia dla danego środowiska. Aby uzyskać informacje na temat poprawnego konfigurowania noProxy listy dla środowiska, zobacz Lista wykluczeń wykluczająca podsieci prywatne z wysyłania do serwera proxy.

$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")

Uwaga

Zalecamy używanie tych samych ustawień serwera proxy we wszystkich węzłach w klastrze trybu failover. Posiadanie różnych ustawień serwera proxy w różnych węzłach fizycznych w klastrze trybu failover może prowadzić do nieoczekiwanych wyników lub problemów z instalacją. Ponadto adres IP z symbolem wieloznacznymi (*), na przykład 172.*, jest nieprawidłowy. Adres IP musi być we właściwej notacji CIDR (172.0.0.0/8).

Instalowanie modułów programu PowerShell usługi AksHci

Skonfiguruj ustawienia serwera proxy systemu w każdym z węzłów fizycznych w klastrze i upewnij się, że wszystkie węzły mają dostęp do adresów URL i portów opisanych w temacie Wymagania systemowe.

Jeśli używasz zdalnego programu PowerShell, musisz użyć programu CredSSP.

Zamknij wszystkie otwarte okna programu PowerShell przed uruchomieniem następującego polecenia:

Install-Module -Name AksHci -Repository PSGallery

Jeśli środowisko używa serwera proxy do uzyskiwania dostępu do Internetu, może być konieczne dodanie parametrów serwera proxy do polecenia Install-Module przed zainstalowaniem usługi AKS. Aby uzyskać szczegółowe informacje, zobacz dokumentację install-module i postępuj zgodnie z dokumentacją usługi Azure Stack HCI , aby skonfigurować ustawienia serwera proxy w węzłach klastra fizycznego.

Po pobraniu modułu programu PowerShell usługi AksHci pobierzemy również moduły Az programu PowerShell, które są wymagane do zarejestrowania hosta usługi AKS za pomocą platformy Azure do celów rozliczeniowych.

Konfigurowanie hosta usługi AKS dla serwera proxy przy użyciu uwierzytelniania podstawowego

Jeśli serwer proxy wymaga uwierzytelniania, otwórz program PowerShell jako administrator i uruchom następujące polecenie, aby uzyskać poświadczenia i ustawić szczegóły konfiguracji:

$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

Konfigurowanie hosta usługi AKS dla serwera proxy bez uwierzytelniania

Jeśli serwer proxy nie wymaga uwierzytelniania, uruchom następujące polecenie:

$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

Konfigurowanie hosta usługi AKS dla serwera proxy z zaufanym certyfikatem

Jeśli serwer proxy wymaga, aby klienci proxy ufali certyfikatowi, określ plik certyfikatu podczas uruchamiania Set-AksHciConfigprogramu . Format pliku certyfikatu to zakodowany w formacie Base-64 X.509. Dzięki temu można utworzyć i zaufać certyfikatowi w całym stosie.

Ważne

Jeśli serwer proxy wymaga zaufania certyfikatu przez fizyczne węzły usługi Azure Stack HCI, przed kontynuowaniem upewnij się, że łańcuch certyfikatów jest importowany do odpowiedniego magazynu certyfikatów w każdym węźle usługi Azure Stack HCI. Postępuj zgodnie z procedurami wdrażania, aby zarejestrować węzły usługi Azure Stack HCI z wymaganymi certyfikatami na potrzeby uwierzytelniania serwera proxy.

$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

Uwaga

Certyfikaty serwera proxy należy podać jako format lub ciąg pliku wymiany informacji osobistych (PFX) i zawierać łańcuch urzędów głównych do używania certyfikatu do uwierzytelniania lub konfiguracji tunelu SSL.

Następne kroki

Teraz możesz kontynuować instalowanie usługi AKS w klastrze usługi Azure Stack HCI lub Windows Server, uruchamiając Set-AksHciConfigInstall-AksHcipolecenie .