Freigeben über


Proxyservereinstellungen in AKS, die von Azure Arc aktiviert sind

Gilt für: AKS auf 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 sind. Wenn Ihr Netzwerk die Verwendung eines Proxyservers zum Herstellen einer Internetverbindung erfordert, führt Dieser Artikel Sie durch die Schritte zum Einrichten der Proxyunterstützung in AKS mithilfe des AksHci PowerShell-Moduls. 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, stellen Sie sicher, dass Sie auch die URLs hinzufügen, die in "Verbinden eines vorhandenen Kubernetes-Clusters" zu Azure Arc zu Ihrer Zulassungsliste angezeigt werden.

Nachdem Sie Ihre Bereitstellung mithilfe der folgenden Optionen konfiguriert haben, können Sie einen AKS-Host auf Azure Local installieren und Kubernetes-Cluster mithilfe von PowerShell erstellen.

Voraussetzungen

Stellen Sie sicher, dass Sie alle Voraussetzungen in den Systemanforderungen erfüllt haben.

Proxyserverkonfigurationsinformationen

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 zum Ausschließen privater Subnetze, die an den Proxy gesendet werden

Die folgende Tabelle enthält die Liste der Adressen, die Sie mithilfe des -noProxy Parameters in New-AksHciProxySettingausschließen müssen.

IP-Adresse Ausschlussgrund
localhost, 127.0.0.1 Localhost-Datenverkehr
.svc Interner Kubernetes-Dienstdatenverkehr, wobei .svc ein Wildcardname steht. 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 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. Während diese Standardwerte für viele Netzwerke funktionieren, müssen Sie möglicherweise der Ausnahmeliste weitere Subnetzbereiche und/oder Namen hinzufügen. Sie können z. B. den Unternehmensnamespace (.contoso.com) davon ausschließen, dass er über den Proxy geleitet wird. Dies können Sie erreichen, indem Sie die Werte in der noProxy-Liste angeben.

Festlegen von Proxy für lokale Azure- und Windows Server-Cluster mit computerweiten Proxyeinstellungen

Wenn Sie bereits über computerweite Proxyeinstellungen auf Ihrem Azure Local/Windows Server-Cluster verfügen, 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 in der Ausschlussliste zum Ausschließen privater Subnetze, die an den Proxy gesendet werden.

$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-Schreibweise (172.0.0.0/8) enthalten sein.

Installieren des PowerShell-Moduls „AksHci“

Konfigurieren Sie die Systemproxyeinstellungen für jeden der physischen Knoten im Cluster, und stellen Sie sicher, dass alle Knoten Zugriff auf die URLs und Ports haben, die in den 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 möglicherweise dem Befehl "Install-Module" Proxyparameter hinzufügen, bevor Sie AKS installieren. Ausführliche Informationen finden Sie in der Installationsmoduldokumentation , und folgen Sie der lokalen Azure-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. Auf diese Weise können Sie das Zertifikat im gesamten Stapel erstellen und als vertrauenswürdig festlegen.

Wichtig

Wenn Ihr Proxy ein Zertifikat erfordert, das von den physischen lokalen Azure-Knoten als vertrauenswürdig eingestuft werden muss, stellen Sie sicher, dass Sie die Zertifikatkette in den entsprechenden Zertifikatspeicher auf jedem lokalen Azure-Knoten importieren, bevor Sie fortfahren. Befolgen Sie die Verfahren für Ihre Bereitstellung, um die lokalen Azure-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 jetzt mit der Installation von AKS auf Ihrem lokalen Azure- oder Windows Server-Cluster fortfahren, indem Set-AksHciConfig Sie gefolgt von Install-AksHci.