Proxyserverinstellingen in AKS ingeschakeld door Azure Arc
Van toepassing op: AKS in Azure Local 22H2, AKS op Windows Server
In dit artikel wordt beschreven hoe u proxy-instellingen configureert voor AKS die zijn ingeschakeld door Azure Arc. Als voor uw netwerk het gebruik van een proxyserver nodig is om verbinding te maken met internet, doorloopt dit artikel de stappen voor het instellen van proxyondersteuning in AKS met behulp van de AksHci PowerShell-module. De stappen verschillen, afhankelijk van of de proxyserver verificatie vereist.
Notitie
Als u Kubernetes en Azure Services wilt gebruiken met Azure Arc, moet u ervoor zorgen dat u ook de URL's toevoegt die worden weergegeven in Een bestaand Kubernetes-cluster verbinden met Azure Arc aan uw acceptatielijst.
Zodra u uw implementatie hebt geconfigureerd met behulp van de volgende opties, kunt u een AKS-host installeren op Azure Local 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 het beheercluster om een vertrouwde verbinding met de proxyserver tot stand te brengen.
Uitsluitingslijst voor het uitsluiten van privésubnetten die naar de proxy worden verzonden
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 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 addresses excludes addresses prefix1.contoso.com, prefix2.contoso.com', enzovoort. |
De standaardwaarde is noProxy
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 lokale Azure- en Windows Server-clusters met proxy-instellingen voor de hele machine
Als u al proxy-instellingen voor de hele machine hebt op uw Lokale/Windows Server-cluster van Azure, kunnen de instellingen eventuele 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 proxyuitsluitingen 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 noProxy
worden verzonden voor informatie over het correct configureren van een 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 proxy-instellingen te gebruiken op alle knooppunten in het failovercluster. Het gebruik 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 de 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 documentatie over install-module voor meer informatie en volg de lokale documentatie van Azure 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 vereist zijn voor het registreren van een AKS-host bij Azure voor facturering.
Een AKS-host configureren voor een proxyserver met basisverificatie
Als voor uw proxyserver verificatie is vereist, opent u PowerShell als beheerder en voert u de volgende opdracht uit om referenties op te halen en de configuratiegegevens 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 voor uw proxyserver geen verificatie is 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 voor uw proxyserver proxyclients een certificaat moeten vertrouwen, geeft u het certificaatbestand op wanneer u deze uitvoert Set-AksHciConfig
. De indeling van het certificaatbestand is Base-64 gecodeerd X .509. Hiermee kunt u het certificaat in de hele stack maken en vertrouwen.
Belangrijk
Als uw proxy vereist dat een certificaat wordt vertrouwd door de fysieke Lokale Azure-knooppunten, moet u ervoor zorgen dat u de certificaatketen importeert in het juiste certificaatarchief op elk Lokaal Azure-knooppunt voordat u doorgaat. Volg de procedures voor uw implementatie om de lokale Azure-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 basis-instantieketen bevatten voor het gebruik van het certificaat voor verificatie of voor het instellen van SSL-tunnels.
Volgende stappen
U kunt nu doorgaan met het installeren van AKS op uw lokale Azure- of Windows Server-cluster door het volgende Set-AksHciConfig
uit te voerenInstall-AksHci
.