Dela via


Proxyserverinställningar i AKS som aktiveras av Azure Arc

Gäller för: AKS på Azure Stack HCI 22H2, AKS på Windows Server

Den här artikeln beskriver hur du konfigurerar proxyinställningar för AKS som aktiveras av Azure Arc. Om nätverket kräver att en proxyserver används för att ansluta till Internet går den här artikeln igenom stegen för att konfigurera proxystöd i AKS med hjälp av AksHci PowerShell-modulen. Stegen skiljer sig beroende på om proxyservern kräver autentisering.

Kommentar

Om du vill använda Kubernetes och Azure Services med Azure Arc ska du även lägga till url:erna som visas i Ansluta ett befintligt Kubernetes-kluster till Azure Arc i listan över tillåtna.

När du har konfigurerat distributionen med hjälp av följande alternativ kan du installera en AKS-värd på Azure Local och skapa Kubernetes-kluster med hjälp av PowerShell.

Innan du börjar

Kontrollera att du har uppfyllt alla krav i systemkraven.

Konfigurationsinformation för proxyserver

Konfigurationen av proxyservern för AKS-distributionen innehåller följande inställningar:

  • HTTP-URL och port, till exempel http://proxy.corp.contoso.com:8080.
  • HTTPS-URL och port, till exempel https://proxy.corp.contoso.com:8443.
  • (Valfritt) Giltiga autentiseringsuppgifter för autentisering till proxyservern.
  • (Valfritt) Giltig certifikatkedja om proxyservern är konfigurerad för att avlyssna SSL-trafik. Den här certifikatkedjan importeras till alla AKS-kontrollplan och arbetsnoder samt hanteringsklustret för att upprätta en betrodd anslutning till proxyservern.

Exkluderingslista för att undanta privata undernät från att skickas till proxyn

Följande tabell innehåller listan med adresser som du måste undanta med hjälp av parametern -noProxy i New-AksHciProxySetting.

IP-adress Orsak till exkludering
localhost, 127.0.0.1 Localhost-trafik
.svc Intern Kubernetes-tjänsttrafik, där .svc representerar ett jokerteckennamn. Det här liknar att säga *.svc, men ingen används i det här schemat.
10.0.0.0/8 Adressutrymme för privat nätverk.
172.16.0.0/12 Adressutrymme för privat nätverk – Kubernetes Service CIDR.
192.168.0.0/16 Adressutrymme för privat nätverk – Kubernetes podd-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' och så vidare.

Standardvärdet för noProxy är localhost,127.0.0.1,.svc,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16. Även om dessa standardvärden fungerar för många nätverk kan du behöva lägga till fler undernätsintervall och/eller namn i undantagslistan. Du kanske till exempel vill undanta företagets namnområde (.contoso.com) från att dirigeras via proxyn. Du kan uppnå det genom att ange värdena i noProxy listan.

Ange proxy för Azure Local- och Windows Server-kluster med datoromfattande proxyinställningar

Om du redan har datoromfattande proxyinställningar i ditt Azure Local/Windows Server-kluster kan inställningarna åsidosätta eventuella AKS-specifika proxyinställningar och leda till ett fel under installationen.

Om du vill identifiera om du har datoromfattande proxyinställningar kör du följande skript på var och en av dina fysiska klusternoder:

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

Konfigurera datoromfattande proxyundantag på var och en av de fysiska klustervärdar där problemet upptäcktes.

Kör följande PowerShell-skript och ersätt parametersträngen $no_proxy med en lämplig NO_PROXY undantagssträng för din miljö. Information om hur du konfigurerar en noProxy lista för din miljö på rätt sätt finns i Undantagslista för att undanta privata undernät från att skickas till proxyn.

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

Kommentar

Vi rekommenderar att du använder samma proxyinställningar på alla noder i redundansklustret. Om du har olika proxyinställningar på olika fysiska noder i redundansklustret kan det leda till oväntade resultat eller installationsproblem. Dessutom en IP-adress med jokertecken (*), till exempel 172.*, är inte giltigt. IP-adressen måste vara i rätt CIDR-notation (172.0.0.0/8).

Installera AksHci PowerShell-modulerna

Konfigurera systemproxyinställningarna på var och en av de fysiska noderna i klustret och se till att alla noder har åtkomst till URL:er och portar som beskrivs i Systemkrav.

Om du använder fjärr-PowerShell måste du använda CredSSP.

Stäng alla öppna PowerShell-fönster innan du kör följande kommando:

Install-Module -Name AksHci -Repository PSGallery

Om din miljö använder en proxyserver för att komma åt Internet kan du behöva lägga till proxyparametrar i kommandot Install-Module innan du installerar AKS. Mer information finns i installationsmoduldokumentationen och följ Azure Local-dokumentationen för att konfigurera proxyinställningarna på de fysiska klusternoderna.

När du laddar ned AksHci PowerShell-modulen laddar vi också ned De Az PowerShell-moduler som krävs för att registrera en AKS-värd med Azure för fakturering.

Konfigurera en AKS-värd för en proxyserver med grundläggande autentisering

Om proxyservern kräver autentisering öppnar du PowerShell som administratör och kör följande kommando för att hämta autentiseringsuppgifter och ange konfigurationsinformationen:

$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

Konfigurera en AKS-värd för en proxyserver utan autentisering

Om proxyservern inte kräver autentisering kör du följande kommando:

$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

Konfigurera en AKS-värd för en proxyserver med ett betrott certifikat

Om proxyservern kräver att proxyklienter litar på ett certifikat anger du certifikatfilen när du kör Set-AksHciConfig. Certifikatfilens format är Base-64-kodad X .509. På så sätt kan du skapa och lita på certifikatet i hela stacken.

Viktigt!

Om proxyn kräver att ett certifikat är betrott av de fysiska lokala Azure-noderna kontrollerar du att du importerar certifikatkedjan till lämpligt certifikatarkiv på varje lokal Azure-nod innan du fortsätter. Följ procedurerna för distributionen för att registrera de lokala Azure-noderna med de certifikat som krävs för proxyautentisering.

$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

Kommentar

Proxycertifikat måste anges som ett pfx-filformat eller -sträng (personligt informationsutbyte) och innehålla rotutfärdarkedjan för att använda certifikatet för autentisering eller för SSL-tunnelkonfiguration.

Nästa steg

Du kan nu fortsätta med att installera AKS i ditt Azure Local- eller Windows Server-kluster genom att köra Set-AksHciConfig följt av Install-AksHci.