Delen via


Proxyserverinstellingen in AKS die zijn ingeschakeld door Azure Arc

Van toepassing op: AKS op Azure Stack HCI 22H2, AKS op Windows Server

In dit artikel wordt beschreven hoe u proxy-instellingen configureert voor AKS die worden ingeschakeld door Azure Arc. Als voor uw netwerk het gebruik van een proxyserver is vereist om verbinding te maken met internet, doorloopt u in dit artikel de stappen voor het instellen van proxyondersteuning in AKS met behulp van de AksHci PowerShell-module. De stappen verschillen, afhankelijk van het feit of de proxyserver verificatie vereist.

Notitie

Als u Kubernetes en Azure Services wilt gebruiken met Azure Arc, moet u ook de URL's toevoegen die worden weergegeven in Een bestaand Kubernetes-cluster verbinden met Azure Arc aan uw acceptatielijst.

Nadat u uw implementatie hebt geconfigureerd met behulp van de volgende opties, kunt u een AKS-host installeren op Azure Stack HCI en Kubernetes-clusters maken met behulp van PowerShell.

Voordat u begint

Zorg ervoor dat u aan alle vereisten in de systeemvereisten hebt voldaan.

Configuratiegegevens van proxyserver

De proxyserverconfiguratie voor uw AKS-implementatie bevat de volgende instellingen:

  • HTTP-URL en -poort, zoals http://proxy.corp.contoso.com:8080.
  • HTTPS-URL en -poort, zoals https://proxy.corp.contoso.com:8443.
  • (Optioneel) Geldige referenties voor verificatie bij de proxyserver.
  • (Optioneel) Geldige certificaatketen als uw proxyserver is geconfigureerd om SSL-verkeer te onderscheppen. Deze certificaatketen wordt geïmporteerd in alle AKS-besturingsvlak- en werkknooppunten, evenals in het beheercluster om een vertrouwde verbinding met de proxyserver tot stand te brengen.

Uitsluitingslijst voor het uitsluiten van privésubnetten van verzending naar de proxy

De volgende tabel bevat de lijst met adressen die u moet uitsluiten met behulp van de -noProxy parameter in New-AksHciProxySetting.

IP-adres Reden voor uitsluiting
localhost, 127.0.0.1 Localhost-verkeer
.svc Intern Kubernetes-serviceverkeer, waarbij .svc een jokertekennaam wordt aangegeven. Dit is vergelijkbaar met het zeggen *.svc, maar er wordt geen gebruikt in dit schema.
10.0.0.0/8 Privénetwerkadresruimte.
172.16.0.0/12 Privénetwerkadresruimte - Kubernetes-service CIDR.
192.168.0.0/16 Privénetwerkadresruimte - 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', enzovoort.

De standaardwaarde voor noProxy is localhost,127.0.0.1,.svc,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16. Hoewel deze standaardwaarden voor veel netwerken werken, moet u mogelijk meer subnetbereiken en/of namen toevoegen aan de lijst met uitzonderingen. U kunt bijvoorbeeld uw bedrijfsnaamruimte (.contoso.com) uitsluiten van omgeleid te worden via de proxy. U kunt dit bereiken door de waarden in de noProxy lijst op te geven.

Proxy instellen voor Azure Stack HCI- en Windows Server-clusters met proxyinstellingen voor de hele machine

Als u al proxy-instellingen voor de hele machine hebt op uw Azure Stack HCI-/Windows Server-cluster, kunnen de instellingen AKS-specifieke proxy-instellingen overschrijven en leiden tot een fout tijdens de installatie.

Als u wilt detecteren of u proxy-instellingen voor de hele machine hebt, voert u het volgende script uit op elk van uw fysieke clusterknooppunten:

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

Configureer proxy-uitsluitingen voor de hele machine op elk van de fysieke clusterhosts waar het probleem is gedetecteerd.

Voer het volgende PowerShell-script uit en vervang de $no_proxy parametertekenreeks door een geschikte NO_PROXY uitsluitingsreeks voor uw omgeving. Zie Uitsluitingslijst voor het uitsluiten van privésubnetten van verzending naar de proxy voor informatie over het correct configureren van een noProxy lijst voor uw omgeving.

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

Notitie

U wordt aangeraden dezelfde proxyinstellingen te gebruiken op alle knooppunten in het failovercluster. Het hebben van verschillende proxy-instellingen op verschillende fysieke knooppunten in het failovercluster kan leiden tot onverwachte resultaten of installatieproblemen. Ook een IP-adres met een jokerteken (*), zoals 172.*, is ongeldig. Het IP-adres moet de juiste CIDR-notatie hebben (172.0.0.0/8).

De AksHci PowerShell-modules installeren

Configureer de systeemproxy-instellingen op elk van de fysieke knooppunten in het cluster en zorg ervoor dat alle knooppunten toegang hebben tot de URL's en poorten die worden beschreven in Systeemvereisten.

Als u externe PowerShell gebruikt, moet u CredSSP gebruiken.

Sluit alle geopende PowerShell-vensters voordat u de volgende opdracht uitvoert:

Install-Module -Name AksHci -Repository PSGallery

Als uw omgeving een proxyserver gebruikt voor toegang tot internet, moet u mogelijk proxyparameters toevoegen aan de opdracht Install-Module voordat u AKS installeert. Zie de install-module-documentatie voor meer informatie en volg de Documentatie van Azure Stack HCI om de proxy-instellingen op de fysieke clusterknooppunten te configureren.

Wanneer u de AksHci PowerShell-module downloadt, downloaden we ook de Az PowerShell-modules die nodig zijn voor het registreren van een AKS-host bij Azure voor facturering.

Een AKS-host configureren voor een proxyserver met basisverificatie

Als uw proxyserver verificatie vereist, opent u PowerShell als beheerder en voert u de volgende opdracht uit om referenties op te halen en de configuratiedetails in te stellen:

$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

Een AKS-host configureren voor een proxyserver zonder verificatie

Als uw proxyserver geen verificatie vereist, voert u de volgende opdracht uit:

$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

Een AKS-host configureren voor een proxyserver met een vertrouwd certificaat

Als uw proxyserver vereist dat proxyclients een certificaat vertrouwen, geeft u het certificaatbestand op wanneer u uitvoert Set-AksHciConfig. De indeling van het certificaatbestand is Base-64 gecodeerd X .509. Hierdoor kunt u het certificaat in de hele stack maken en vertrouwen.

Belangrijk

Als uw proxy vereist dat een certificaat wordt vertrouwd door de fysieke Azure Stack HCI-knooppunten, moet u ervoor zorgen dat u de certificaatketen importeert in het juiste certificaatarchief op elk Azure Stack HCI-knooppunt voordat u doorgaat. Volg de procedures voor uw implementatie om de Azure Stack HCI-knooppunten in te schrijven met de vereiste certificaten voor proxyverificatie.

$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

Notitie

Proxycertificaten moeten worden opgegeven als een PFX-bestandsindeling (Personal Information Exchange) of -tekenreeks en moeten de basisinstantieketen bevatten om het certificaat te gebruiken voor verificatie of voor het instellen van een SSL-tunnel.

Volgende stappen

U kunt nu doorgaan met het installeren van AKS op uw Azure Stack HCI- of Windows Server-cluster door uit te voeren Set-AksHciConfig , gevolgd door Install-AksHci.