Proxyservereinstellungen in AKS, die von Azure Arc aktiviert sind
Gilt für: AKS in Azure Stack HCI 22H2, AKS unter Windows Server
In diesem Artikel wird beschrieben, wie Sie Proxyeinstellungen für AKS konfigurieren, die von Azure Arc aktiviert werden. Wenn Ihr Netzwerk die Verwendung eines Proxyservers für die Verbindung mit dem Internet erfordert, werden Sie in diesem Artikel durch die Schritte zum Einrichten der Proxyunterstützung in AKS mithilfe des PowerShell-Moduls AksHci beschrieben. Die Schritte unterscheiden sich je nachdem, ob der Proxyserver eine Authentifizierung erfordert.
Hinweis
Wenn Sie Kubernetes und Azure Services mit Azure Arc verwenden möchten, fügen Sie auch die URLs unter Verbinden eines vorhandenen Kubernetes-Clusters mit Azure Arc zu Ihrer Zulassungsliste hinzu.
Nachdem Sie Ihre Bereitstellung mit den folgenden Optionen konfiguriert haben, können Sie einen AKS-Host in Azure Stack HCI installieren und Kubernetes-Cluster mithilfe von PowerShell erstellen.
Voraussetzungen
Stellen Sie sicher, dass Sie alle Voraussetzungen in den Systemanforderungen erfüllt haben.
Informationen zur Proxyserverkonfiguration
Die Proxyserverkonfiguration für Ihre AKS-Bereitstellung umfasst die folgenden Einstellungen:
- HTTP-URL und Port, etwa
http://proxy.corp.contoso.com:8080
- HTTPS-URL und Port, etwa
https://proxy.corp.contoso.com:8443
- (Optional) Gültige Anmeldeinformationen für die Authentifizierung beim Proxyserver
- (Optional) Gültige Zertifikatkette, wenn Ihr Proxyserver zum Abfangen von SSL-Datenverkehr konfiguriert ist. Diese Zertifikatkette wird in alle AKS-Knoten der Steuerungsebene und alle AKS-Workerknoten sowie in den Verwaltungscluster importiert, um eine vertrauenswürdige Verbindung mit dem Proxyserver herzustellen.
Ausschlussliste für das Ausschließen privater Subnetze vom Senden an den Proxy
Die folgende Tabelle enthält die Liste der Adressen, die Sie mit dem -noProxy
-Parameter in New-AksHciProxySetting
ausschließen müssen.
IP-Adresse | Grund für den Ausschluss |
---|---|
localhost , 127.0.0.1 |
Localhost-Datenverkehr |
.svc |
Interner Kubernetes-Dienstdatenverkehr, wobei .svc ein Feldhaltername darstellt. Dies ähnelt der Aussage, *.svc aber keine wird in diesem Schema verwendet. |
10.0.0.0/8 |
Privater Netzwerkadressraum. |
172.16.0.0/12 |
Privater Netzwerkadressraum: Kubernetes-Dienst CIDR. |
192.168.0.0/16 |
Privater Netzwerkadressraum – 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' usw. |
Der Standardwert für noProxy
ist localhost,127.0.0.1,.svc,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
. Obwohl diese Standardwerte für viele Netzwerke funktionieren, müssen Sie der Ausnahmeliste möglicherweise weitere Subnetzbereiche und/oder Namen hinzufügen. Beispielsweise können Sie ihren Unternehmensnamespace (.contoso.com) davon ausschließen, über den Proxy weitergeleitet zu werden. Dies können Sie erreichen, indem Sie die Werte in der noProxy
-Liste angeben.
Festlegen des Proxys für Azure Stack HCI- und Windows Server-Cluster mit computerweiten Proxyeinstellungen
Wenn Sie bereits computerweite Proxyeinstellungen für Ihren Azure Stack HCI-/Windows Server-Cluster festgelegt haben, können die Einstellungen alle AKS-spezifischen Proxyeinstellungen außer Kraft setzen und während der Installation zu einem Fehler führen.
Um zu ermitteln, ob Sie über computerweite Proxyeinstellungen verfügen, führen Sie das folgende Skript für jeden physischen Clusterknoten aus:
$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"
}
}
Konfigurieren Sie computerweite Proxyausschlüsse für jeden physischen Clusterhost, auf dem das Problem erkannt wurde.
Führen Sie das folgende PowerShell-Skript aus, und ersetzen Sie die Parameterzeichenfolge $no_proxy
durch eine geeignete NO_PROXY
-Ausschlusszeichenfolge für Ihre Umgebung. Informationen zum ordnungsgemäßen Konfigurieren einer noProxy
Liste für Ihre Umgebung finden Sie unter Ausschlussliste zum Ausschließen privater Subnetze vom Senden an den 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")
Hinweis
Es wird empfohlen, die gleichen Proxyeinstellungen für alle Knoten im Failovercluster zu verwenden. Unterschiedliche Proxyeinstellungen auf verschiedenen physischen Knoten im Failovercluster können zu unerwarteten Ergebnissen oder zu Installationsproblemen führen. Außerdem eine IP-Adresse mit einem Platzhalter (*), z . B. 172.*, ist ungültig. Die IP-Adresse muss in der richtigen CIDR-Notation (172.0.0.0.0/8) angegeben sein.
Installieren des PowerShell-Moduls „AksHci“
Konfigurieren Sie die Systemproxyeinstellungen auf jedem der physischen Knoten im Cluster, und stellen Sie sicher, dass alle Knoten Zugriff auf die URLs und Ports haben, die unter Systemanforderungen beschrieben sind.
Wenn Sie Remote-PowerShell verwenden, müssen Sie CredSSP verwenden.
Schließen Sie alle geöffneten PowerShell-Fenster, bevor Sie den folgenden Befehl ausführen:
Install-Module -Name AksHci -Repository PSGallery
Wenn Ihre Umgebung einen Proxyserver für den Zugriff auf das Internet verwendet, müssen Sie dem Befehl Install-Module möglicherweise Proxyparameter hinzufügen, bevor Sie AKS installieren. Ausführliche Informationen finden Sie in der Dokumentation zum Installationsmodul und in der Azure Stack HCI-Dokumentation , um die Proxyeinstellungen auf den physischen Clusterknoten zu konfigurieren.
Wenn Sie das AksHci PowerShell-Modul herunterladen, laden wir auch die Az PowerShell-Module herunter, die für die Registrierung eines AKS-Hosts bei Azure für die Abrechnung erforderlich sind.
Konfigurieren eines AKS-Hosts für einen Proxyserver mit Standardauthentifizierung
Wenn Ihr Proxyserver Authentifizierung erfordert, öffnen Sie PowerShell als Administrator, führen Sie die folgenden Befehle aus, um die Anmeldeinformationen abzurufen, und legen Sie dann die Konfigurationsdetails fest:
$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
Konfigurieren eines AKS-Hosts für einen Proxyserver ohne Authentifizierung
Wenn Ihr Proxyserver keine Authentifizierung erfordert, führen Sie den folgenden Befehl aus:
$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
Konfigurieren eines AKS-Hosts für einen Proxyserver mit einem vertrauenswürdigen Zertifikat
Wenn Ihr Proxyserver erfordert, dass Proxyclients einem Zertifikat vertrauen, geben Sie die Zertifikatdatei an, wenn Sie Set-AksHciConfig
ausführen. Das Format der Zertifikatdatei ist Base-64-codiert X.509. Dadurch können Sie das Zertifikat im gesamten Stapel erstellen und vertrauen.
Wichtig
Wenn Ihr Proxy erfordert, dass ein Zertifikat von den physischen Azure Stack HCI-Knoten vertrauenswürdig ist, müssen Sie die Zertifikatkette in den entsprechenden Zertifikatspeicher auf jedem Azure Stack HCI-Knoten importieren, bevor Sie fortfahren. Befolgen Sie die Verfahren für die Bereitstellung, um die Azure Stack HCI-Knoten mit den erforderlichen Zertifikaten für die Proxyauthentifizierung zu registrieren.
$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
Hinweis
Proxyzertifikate müssen im PFX-Dateiformat (Personal Information Exchange) oder als Zeichenfolge bereitgestellt werden und die Stammzertifizierungsstelle enthalten, damit das Zertifikat für die Authentifizierung oder für die Einrichtung von SSL-Tunneln verwendet werden kann.
Nächste Schritte
Sie können nun mit der Installation von AKS in Ihrem Azure Stack HCI- oder Windows Server-Cluster fortfahren, indem Sie gefolgt von Install-AksHci
ausführenSet-AksHciConfig
.