Ustawienia serwera proxy w usłudze AKS włączone przez usługę Azure Arc
Dotyczy: usługa AKS w usłudze Azure Stack HCI 22H2, AKS w systemie Windows Server
W tym artykule opisano sposób konfigurowania ustawień serwera proxy dla usługi AKS włączonej przez usługę Azure Arc. Jeśli sieć wymaga użycia serwera proxy do nawiązania połączenia z Internetem, w tym artykule opisano kroki konfigurowania obsługi serwera proxy w usłudze AKS przy użyciu modułu AksHci programu PowerShell. Kroki różnią się w zależności od tego, czy serwer proxy wymaga uwierzytelniania.
Uwaga
Jeśli chcesz używać usług Kubernetes i Azure w usłudze Azure Arc, upewnij się, że do listy dozwolonych dodano również adresy URL wyświetlane w artykule Łączenie istniejącego klastra Kubernetes z usługą Azure Arc .
Po skonfigurowaniu wdrożenia przy użyciu następujących opcji można zainstalować hosta usługi AKS na platformie Azure Local i utworzyć klastry Kubernetes przy użyciu programu PowerShell.
Zanim rozpoczniesz
Upewnij się, że zostały spełnione wszystkie wymagania wstępne w wymaganiach systemowych.
Informacje o konfiguracji serwera proxy
Konfiguracja serwera proxy dla wdrożenia usługi AKS obejmuje następujące ustawienia:
- Adres URL i port HTTP, taki jak
http://proxy.corp.contoso.com:8080
. - Adres URL i port HTTPS, taki jak
https://proxy.corp.contoso.com:8443
. - (Opcjonalnie) Prawidłowe poświadczenia uwierzytelniania na serwerze proxy.
- (Opcjonalnie) Prawidłowy łańcuch certyfikatów, jeśli serwer proxy jest skonfigurowany do przechwytywania ruchu SSL. Ten łańcuch certyfikatów zostanie zaimportowany do wszystkich węzłów kontroli usługi AKS i węzłów procesu roboczego, a także do klastra zarządzania w celu nawiązania zaufanego połączenia z serwerem proxy.
Lista wykluczeń wykluczająca podsieci prywatne wysyłane do serwera proxy
Poniższa tabela zawiera listę adresów, które należy wykluczyć przy użyciu parametru -noProxy
w pliku New-AksHciProxySetting
.
Adres IP | Przyczyna wykluczenia |
---|---|
localhost , 127.0.0.1 |
Ruch hosta lokalnego |
.svc |
Wewnętrzny ruch usługi Kubernetes, gdzie .svc reprezentuje nazwę symbolu wieloznakowego. Jest to podobne do następującego: *.svc , ale żaden nie jest używany w tym schemacie. |
10.0.0.0/8 |
Przestrzeń adresowa sieci prywatnej. |
172.16.0.0/12 |
Przestrzeń adresowa sieci prywatnej — CIDR usługi Kubernetes. |
192.168.0.0/16 |
Przestrzeń adresowa sieci prywatnej — CIDR zasobnika Kubernetes. |
.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 itd. |
Wartość domyślna parametru noProxy
to localhost,127.0.0.1,.svc,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
. Chociaż te wartości domyślne działają dla wielu sieci, może być konieczne dodanie kolejnych zakresów podsieci i/lub nazw do listy wykluczeń. Możesz na przykład wykluczyć przestrzeń nazw przedsiębiorstwa (.contoso.com) z przekierowania przez serwer proxy. Można to osiągnąć, określając wartości na noProxy
liście.
Ustawianie serwera proxy dla klastrów lokalnych platformy Azure i systemu Windows Server przy użyciu ustawień serwera proxy dla całego komputera
Jeśli masz już ustawienia serwera proxy dla całej maszyny w klastrze Azure Local/Windows Server, ustawienia mogą zastąpić wszystkie ustawienia serwera proxy specyficzne dla usługi AKS i prowadzić do niepowodzenia podczas instalacji.
Aby wykryć, czy masz ustawienia serwera proxy dla całej maszyny, uruchom następujący skrypt w każdym z fizycznych węzłów klastra:
$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"
}
}
Skonfiguruj wykluczenia serwera proxy dla całego komputera na każdym z hostów klastra fizycznego, na których wykryto problem.
Uruchom następujący skrypt programu PowerShell i zastąp $no_proxy
ciąg parametru odpowiednim NO_PROXY
ciągiem wykluczenia dla danego środowiska. Aby uzyskać informacje na temat prawidłowego konfigurowania noProxy
listy dla środowiska, zobacz Lista wykluczeń wykluczająca podsieci prywatne z wysyłania do serwera 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")
Uwaga
Zalecamy używanie tych samych ustawień serwera proxy we wszystkich węzłach w klastrze trybu failover. Posiadanie różnych ustawień serwera proxy w różnych węzłach fizycznych w klastrze trybu failover może prowadzić do nieoczekiwanych wyników lub problemów z instalacją. Ponadto adres IP z symbolem wieloznacznymi (*), takim jak 172.*, jest nieprawidłowy. Adres IP musi być we właściwej notacji CIDR (172.0.0.0/8).
Instalowanie modułów programu PowerShell usługi AksHci
Skonfiguruj ustawienia serwera proxy systemu w każdym z węzłów fizycznych w klastrze i upewnij się, że wszystkie węzły mają dostęp do adresów URL i portów opisanych w temacie Wymagania systemowe.
Jeśli używasz zdalnego programu PowerShell, musisz użyć protokołu CredSSP.
Zamknij wszystkie otwarte okna programu PowerShell przed uruchomieniem następującego polecenia:
Install-Module -Name AksHci -Repository PSGallery
Jeśli środowisko używa serwera proxy do uzyskiwania dostępu do Internetu, może być konieczne dodanie parametrów serwera proxy do polecenia Install-Module przed zainstalowaniem usługi AKS. Aby uzyskać szczegółowe informacje, zobacz dokumentację Install-Module i postępuj zgodnie z dokumentacją lokalną platformy Azure, aby skonfigurować ustawienia serwera proxy w węzłach klastra fizycznego.
Po pobraniu modułu programu PowerShell usługi AksHci pobierzemy również moduły Az programu PowerShell wymagane do zarejestrowania hosta usługi AKS na platformie Azure na potrzeby rozliczeń.
Konfigurowanie hosta usługi AKS dla serwera proxy przy użyciu uwierzytelniania podstawowego
Jeśli serwer proxy wymaga uwierzytelniania, otwórz program PowerShell jako administrator i uruchom następujące polecenie, aby uzyskać poświadczenia i ustawić szczegóły konfiguracji:
$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
Konfigurowanie hosta usługi AKS dla serwera proxy bez uwierzytelniania
Jeśli serwer proxy nie wymaga uwierzytelniania, uruchom następujące polecenie:
$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
Konfigurowanie hosta usługi AKS dla serwera proxy z zaufanym certyfikatem
Jeśli serwer proxy wymaga, aby klienci proxy ufali certyfikatowi, określ plik certyfikatu po uruchomieniu polecenia Set-AksHciConfig
. Format pliku certyfikatu to X.509 zakodowany w formacie Base-64. Dzięki temu można tworzyć i ufać certyfikatowi w całym stosie.
Ważne
Jeśli serwer proxy wymaga, aby certyfikat był zaufany przez fizyczne węzły lokalne platformy Azure, przed kontynuowaniem upewnij się, że łańcuch certyfikatów został zaimportowany do odpowiedniego magazynu certyfikatów w każdym węźle lokalnym platformy Azure. Postępuj zgodnie z procedurami wdrażania, aby zarejestrować węzły lokalne platformy Azure z wymaganymi certyfikatami na potrzeby uwierzytelniania serwera proxy.
$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
Uwaga
Certyfikaty serwera proxy muszą być udostępniane jako format lub ciąg pliku wymiany informacji osobistych (PFX) i zawierają łańcuch urzędów głównych do używania certyfikatu do uwierzytelniania lub konfiguracji tunelu SSL.
Następne kroki
Teraz możesz kontynuować instalowanie usługi AKS w klastrze azure Local lub Windows Server, uruchamiając Set-AksHciConfig
Install-AksHci
polecenie , a następnie .