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-AksHciProxySettingausschließ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, *.svcaber 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 addressesexcludes 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-AksHciausführenSet-AksHciConfig.