Szybki start: konfigurowanie hosta usługi AKS na platformie Azure Stack HCI i wdrażanie klastra obciążenia przy użyciu programu PowerShell i serwera proxy

Dotyczy: Azure Stack HCI, wersje 21H2 i 20H2; Windows Server 2022 Datacenter, Windows Server 2019 Datacenter

W tym przewodniku Szybki start dowiesz się, jak skonfigurować hosta usługi Azure Kubernetes Service i utworzyć usługę AKS w klastrach usługi Azure Stack HCI przy użyciu programu PowerShell w środowisku, w którym serwer proxy filtruje i skanuje ruch powiązany z Internetem. Aby zamiast tego użyć Windows Administracyjnego, zobacz Konfigurowanie przy użyciu Windows Administracyjnego.

Uwaga

Jeśli masz wstępnie przygotowane obiekty usługi klastra i rekordy DNS, zapoznaj się z dodatkowymi krokami wdrażania hosta usługi AKS ze wstępnie przygotowanego obiektu usługi klastra i rekordami DNS przy użyciu programu PowerShell.

Zanim rozpoczniesz

  • Upewnij się, że zostały spełnione wszystkie wymagania wstępne na stronie wymagań systemowych.

  • Konto platformy Azure do rejestrowania hosta usługi AKS do rozliczeń. Aby uzyskać więcej informacji, odwiedź stronę Wymagania dotyczące platformy Azure.

  • Co najmniej jeden z następujących poziomów dostępu do subskrypcji platformy Azure, która jest Azure Stack HCI:

    • Konto użytkownika z wbudowaną rolą Właściciel. Poziom dostępu możesz sprawdzić, przechodząc do subskrypcji, klikając pozycję "Kontrola dostępu (IAM)" po lewej stronie strony strony Azure Portal a następnie klikając pozycję "Wyświetl mój dostęp".
    • Jednostkę usługi z wbudowaną rolą dołączania klastra Kubernetes — Azure Arc (minimalna), wbudowaną rolą współtworzeń lub wbudowaną rolą właściciela.
  • Grupa zasobów platformy Azure w regionie Świadczenia usługi Azure Wschodnie stany USA, Azja Południowo-Wschodnia lub Europa Zachodnia, dostępna przed rejestracją w ramach subskrypcji wymienionej powyżej.

  • Co najmniej jedna z następujących czynności:

    • Klaster klastra z 2 Azure Stack HCI 4 węzłami
    • Windows trybu failover w centrum danych programu Windows Server 2019

    Uwaga

    Zalecamy posiadanie klastra z 2–4 węzłami Azure Stack HCI klastra. Jeśli nie masz żadnego z powyższych, postępuj zgodnie z instrukcjami na Azure Stack HCI rejestracji.

  • Informacje o konfiguracji serwera proxy:

    • Adres URL i port HTTP, na przykład http://proxy.corp.contoso.com:8080 .
    • Adres URL i port HTTPS, na przykład https://proxy.corp.contoso.com:8443 .
    • (Opcjonalnie) Prawidłowe poświadczenia do 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 płaszczyzn sterowania i węzłów roboczych usługi AKS, a także do klastra zarządzania w celu ustanowienia zaufanego połączenia z serwerem proxy.
    • Zakresy adresów IP i nazwy domen do wykluczenia, aby nie były wysyłane do serwera proxy:
      • Pula adresów IP węzłów Kubernetes
      • Pula adresów VIP usług Kubernetes
      • Adresy IP sieci klastra
      • Adresy IP serwerów DNS
      • Adresy IP usługi czasu
      • Nazwy domen lokalnych
      • Nazwy hostów lokalnych
      • Poniżej przedstawiono domyślną listę wykluczeń w programie PowerShell usługi AksHci:
        • "localhost,127.0.0.1,.svc,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16", co wyklucza wszystkie podsieci prywatne z wysłania do serwera proxy:
          • 'localhost,127.0.0.1': standardowe wykluczenie hosta lokalnego
          • ".svc": wykluczenie z symboli wieloznacznych dla wszystkich nazw hostów usług Kubernetes Services
          • '172.16.0.0/12': pula adresów IP usług Kubernetes
          • "192.168.0.0/16": pula adresów IP zasobników kubernetes

Instalowanie modułów programu Azure PowerShell i AksHci programu PowerShell

Skonfiguruj ustawienia systemowego serwera proxy na 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 wymaganiach systemowych.

Jeśli używasz zdalnego programu PowerShell, musisz użyć credSSP.

Uwaga

Jeśli środowisko korzysta z serwera proxy w celu uzyskania dostępu do Internetu, może być konieczne dodanie parametrów serwera proxy do polecenia Install-Module przed zainstalowaniem usługi AKS na Azure Stack HCI. Szczegółowe informacje można znaleźć w dokumentacji install-module i postępuj zgodnie z Azure Stack HCI, aby skonfigurować ustawienia serwera proxy w węzłach klastra fizycznego.

Zamknij wszystkie otwarte okna programu PowerShell. Jeśli usunięto starszą instalację z systemu, usuń wszystkie istniejące katalogi dla AksHci, AksHci.Day2, Kva, Moc i MSK8sDownloadAgent znajdujące się w ścieżce, a następnie zainstaluj następujące moduły %systemdrive%\program files\windowspowershell\modules Azure PowerShell.

Install-Module -Name Az.Accounts -Repository PSGallery -RequiredVersion 2.2.4
Install-Module -Name Az.Resources -Repository PSGallery -RequiredVersion 3.2.0
Install-Module -Name AzureAD -Repository PSGallery -RequiredVersion 2.0.2.128
Install-Module -Name AksHci -Repository PSGallery
Import-Module Az.Accounts
Import-Module Az.Resources
Import-Module AzureAD
Import-Module AksHci

Zamknij wszystkie okna programu PowerShell i otwórz ponownie nową sesję administracyjną, aby sprawdzić, czy masz najnowszą wersję modułu programu PowerShell.

Get-Command -Module AksHci

Aby wyświetlić pełną listę poleceń programu PowerShell usługi AksHci, zobacz AksHci PowerShell.

Rejestrowanie dostawcy zasobów w subskrypcji

Użyj modułu Az programu PowerShell za serwerem proxy. Jeśli serwer proxy jest niezbędny do żądania HTTP, zespół Azure PowerShell zaleca następującą konfigurację serwera proxy dla różnych platform:

Platforma Zalecane ustawienia Ustawienia Komentarz
Windows PowerShell 5.1 Ustawienia serwera proxy systemu Zalecamy, aby nie ustawiać HTTP_PROXY/HTTPS_PROXY zmiennych środowiskowych.
Program PowerShell 7 w Windows Ustawienia serwera proxy systemu Serwer proxy można skonfigurować, ustawiając HTTP_PROXY i HTTPS_PROXY zmienne środowiskowe.
Program PowerShell 7 w systemie macOS Ustawienia serwera proxy systemu Serwer proxy można skonfigurować, ustawiając HTTP_PROXY i HTTPS_PROXY zmienne środowiskowe.
Program PowerShell 7 w systemie Linux Ustaw zmienne HTTP_PROXY i HTTPS_PROXY zmienne środowiskowe oraz NO_PROXY (opcjonalnie) Zmienne środowiskowe należy ustawić przed uruchomieniem programu PowerShell. W przeciwnym razie mogą one nie być przestrzegane.

Używane zmienne środowiskowe są następujące:

  • HTTP_PROXY: serwer proxy używany w żądaniach HTTP.
  • HTTPS_PROXY: serwer proxy używany w żądaniach HTTPS.
  • NO_PROXY: rozdzielana przecinkami lista nazw hostów i adresów IP, które powinny być wykluczone z serwera proxy.

Uwaga

W systemach, w których w zmiennych środowiskowych jest wielkość liter, nazwy zmiennych mogą zawierać tylko małe litery lub wielkie litery. Nazwy małych liter są sprawdzane jako pierwsze.

Przed rozpoczęciem procesu rejestracji należy włączyć odpowiedniego dostawcę zasobów na platformie Azure dla usługi AKS Azure Stack HCI rejestracji. W tym celu uruchom następujące polecenia programu PowerShell.

Aby zalogować się do platformy Azure, uruchom Połączenie-AzAccount programu PowerShell:

Connect-AzAccount

Jeśli chcesz przełączyć się do innej subskrypcji, uruchom polecenie Set-AzContext programu PowerShell:

Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"

Uruchom następujące polecenie, aby zarejestrować subskrypcję platformy Azure w celu Azure Arc dostawców zasobów platformy Kubernetes. Ten proces rejestracji może potrwać do 10 minut, ale należy go wykonać tylko raz w ramach określonej subskrypcji.

Register-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Register-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration

Aby zweryfikować proces rejestracji, uruchom następujące polecenie programu PowerShell:

Get-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Get-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration

Krok 1. Przygotowywanie maszyn do wdrożenia

Uruchom testy w każdym węźle fizycznym, aby sprawdzić, czy wszystkie wymagania są spełnione, aby zainstalować Azure Kubernetes Service on Azure Stack HCI. Otwórz program PowerShell jako administrator i uruchom następujące polecenie Initialize-AksHciNode.

Initialize-AksHciNode

Krok 2. Przygotowanie usługi Active Directory i serwera DNS do wdrożenia

Jeśli nie można włączyć dynamicznych aktualizacji DNS w środowisku DNS, aby umożliwić usłudze AKS w usłudze Azure Stack HCI zarejestrowanie ogólnej nazwy klastra CloudAgent w usłudze Active Directory i systemie DNS na potrzeby odnajdywania, należy wstępnie utworzyć odpowiednie rekordy w usługach Active Directory i DNS.

Utwórz ogólną usługę klastra w usłudze Active Directory o nazwie (lub wybranej przez użytkownika), ale nie może przekraczać ca-cloudagent 32 znaków. Należy również utworzyć skojarzony rekord DNS, który będzie wskazać nazwę FQDN ogólnej usługi klastra przy użyciu podanego cloudservicecidr adresu. Więcej szczegółów na temat kroków tego procesu można znaleźć w dokumentacji dotyczącej klastrów trybu failover.

Usługa AKS w Azure Stack HCI spróbuje zlokalizować określony w usłudze Active Directory przed clusterRoleName przystąpieniem do wdrażania.

Uwaga

Po wdrożeniu usługi AKS Azure Stack HCI wdrożenia tych informacji nie można zmienić.

Wykonaj krok 3a po kroku 2, aby określić wstępnie utworzoną nazwę obiektu w pliku Set-AksHciConfig .

Krok 3. Tworzenie sieci wirtualnej

Aby uzyskać nazwy dostępnych przełączników, uruchom następujące polecenie. Upewnij się, SwitchType że przełącznik maszyny wirtualnej to "Zewnętrzny".

Get-VMSwitch

Przykładowe dane wyjściowe:

Name        SwitchType     NetAdapterInterfaceDescription
----        ----------     ------------------------------
extSwitch   External       Mellanox ConnectX-3 Pro Ethernet Adapter

Aby utworzyć sieć wirtualną dla węzłów we wdrożeniu do użycia, utwórz zmienną środowiskową za pomocą polecenia New-AksHciNetworkSetting programu PowerShell. Zostanie on użyty później do skonfigurowania wdrożenia, które używa statycznego adresu IP. Jeśli chcesz skonfigurować wdrożenie usługi AKS przy użyciu protokołu DHCP, odwiedź stronę New-AksHciNetworkSetting, aby uzyskać przykłady. Możesz również przejrzeć niektóre pojęcia dotyczące węzłów sieciowych.

#static IP
$vnet = New-AksHciNetworkSetting -name myvnet -vSwitchName "extSwitch" -macPoolName myMacPool -k8sNodeIpPoolStart "172.16.10.1" -k8sNodeIpPoolEnd "172.16.10.255" -vipPoolStart "172.16.255.0" -vipPoolEnd "172.16.255.254" -ipAddressPrefix "172.16.0.0/16" -gateway "172.16.0.1" -dnsServers "172.16.0.1" -vlanId 9

Uwaga

Wartości podane w tym przykładowym poleceniu należy dostosować do danego środowiska.

Krok 4. Konfigurowanie wdrożenia

Ustaw ustawienia konfiguracji dla hosta Azure Kubernetes Service przy użyciu polecenia Set-AksHciConfig. Należy określić parametry imageDirworkingDir , i cloudConfigLocation . Jeśli chcesz zresetować szczegóły konfiguracji, uruchom polecenie ponownie z nowymi parametrami.

Skonfiguruj wdrożenie za pomocą następującego polecenia.

Set-AksHciConfig -imageDir c:\clusterstorage\volume1\Images -workingDir c:\ClusterStorage\Volume1\ImageStore -cloudConfigLocation c:\clusterstorage\volume1\Config -vnet $vnet -cloudservicecidr "172.16.10.10/16"

Uwaga

Wartości podane w tym przykładowym poleceniu należy dostosować do danego środowiska.

Krok 5. Skonfigurowanie wdrożenia w przypadku wstępnie przygotowanego obiektu usługi klastra i rekordów DNS

Ustaw ustawienia konfiguracji dla hosta Azure Kubernetes Service przy użyciu polecenia Set-AksHciConfig. Należy określić parametry imageDir , workingDir , i clusterrolenamecloudservicecidrcloudConfigLocation . Jeśli chcesz zresetować szczegóły konfiguracji, uruchom polecenie ponownie z nowymi parametrami.

Skonfiguruj wdrożenie za pomocą następującego polecenia:

PS C:\> $vnet = New-AksHciNetworkSetting -name newNetwork -vswitchName "DefaultSwitch" -k8snodeippoolstart "172.16.10.0" -k8snodeippoolend "172.16.10.255" -vipPoolStart "172.16.255.0" -vipPoolEnd "172.16.255.254" -ipaddressprefix "172.16.0.0/16" -gateway "172.16.0.1" -dnsservers "172.16.0.1" -vlanID 7

Set-AksHciConfig -workingDir c:\ClusterStorage\Volume1\workingDir -cloudConfigLocation c:\clusterstorage\volume1\Config -vnet $vnet -cloudservicecidr "172.16.10.10/16" -clusterRoleName "ca-cloudagent"

Uwaga

Wartości podane w tym przykładowym poleceniu należy dostosować do danego środowiska.

Krok 6. Logowanie do platformy Azure i konfigurowanie ustawień rejestracji

Uruchom następujące polecenie programu PowerShell Set-AksHciRegistration z nazwą subskrypcji i grupy zasobów, aby zalogować się do platformy Azure. Aby kontynuować, musisz mieć subskrypcję platformy Azure i istniejącą grupę zasobów platformy Azure w regionach świadczenia usługi Azure Wschodnie stany USA, Azja Południowo-Wschodnia lub Europa Zachodnia.

Set-AksHciRegistration -subscriptionId "<subscriptionId>" -resourceGroupName "<resourceGroupName>"

Krok 7. Uruchamianie nowego wdrożenia

Po skonfigurowaniu wdrożenia należy je uruchomić. Spowoduje to zainstalowanie agentów/Azure Kubernetes Service on Azure Stack HCI i hosta Azure Kubernetes Service usługi. Aby rozpocząć wdrażanie, uruchom następujące polecenie.

Install-AksHci

Ostrzeżenie

Podczas instalacji hosta usługi Azure Kuberenetes Service typ zasobu Kubernetes — Azure Arc jest tworzony w grupie zasobów, która jest ustawiana podczas rejestracji. Nie usuwaj tego zasobu, ponieważ reprezentuje on hosta usługi Azure Kuberenetes Service. Zasób można zidentyfikować, sprawdzając jego pole dystrybucji pod polem wartości aks_management . Usunięcie tego zasobu spowoduje wdrożenie poza zasadami.

Krok 8. Tworzenie klastra Kubernetes

Po zainstalowaniu Azure Kubernetes Service możesz wdrożyć klaster Kubernetes. Otwórz program PowerShell jako administrator i uruchom następujące polecenie New-AksHciCluster. To przykładowe polecenie spowoduje utworzenie nowego klastra Kubernetes z jedną pulą węzłów systemu Linux o nazwie linuxnodepool z licznikiem węzłów 1. Aby uzyskać więcej informacji na temat pul węzłów, zobacz Use node pools in AKS on Azure Stack HCI(Korzystanie z pul węzłów w u Azure Stack HCI ).

New-AksHciCluster -name mycluster -nodePoolName linuxnodepool -nodeCount 1 -osType Linux

Sprawdzanie wdrożonych klastrów

Aby uzyskać listę wdrożonych klastrów Kubernetes, uruchom następujące polecenie get-AksHciCluster programu PowerShell.

Get-AksHciCluster

Dane wyjściowe

ProvisioningState     : provisioned
KubernetesVersion     : v1.20.7
NodePools             : linuxnodepool
WindowsNodeCount      : 0
LinuxNodeCount        : 0
ControlPlaneNodeCount : 1
Name                  : mycluster

Aby uzyskać listę pul węzłów w klastrze, uruchom następujące polecenie Get-AksHciNodePool programu PowerShell.

Get-AksHciNodePool -clusterName mycluster
ClusterName  : mycluster
NodePoolName : linuxnodepool
Version      : v1.20.7
OsType       : Linux
NodeCount    : 1
VmSize       : Standard_K8S3_v1
Phase        : Deployed

Krok 9. Połączenie klastra na kubernetes z obsługą usługi Arc

Połączenie klastra na platformę Kubernetes z włączoną usługą Arc, uruchamiając polecenie Enable-AksHciArcConnection. Poniższy przykład łączy usługę AKS w klastrze Azure Stack HCI z usługą Arc przy użyciu szczegółów subskrypcji i grupy zasobów przekazanych w Set-AksHciRegistration poleceniu.

Connect-AzAccount
Enable-AksHciArcConnection -name mycluster

Uwaga

Jeśli napotkasz problemy lub komunikaty o błędach podczas procesu instalacji, zobacz znane problemy i błędy instalacji, aby uzyskać więcej informacji.

Skalowanie klastra Kubernetes

Jeśli musisz skalować klaster w górę lub w dół, możesz zmienić liczbę węzłów płaszczyzny sterowania za pomocą polecenia Set-AksHciCluster i zmienić liczbę węzłów procesu roboczego systemu Linux lub Windows w puli węzłów przy użyciu polecenia Set-AksHciNodePool.

Aby skalować węzły płaszczyzny sterowania, uruchom następujące polecenie.

Set-AksHciCluster –name mycluster -controlPlaneNodeCount 3

Aby skalować węzły procesu roboczego w puli węzłów, uruchom następujące polecenie.

Set-AksHciNodePool –clusterName mycluster -name linuxnodepool -count 3

Uwaga

W poprzednich wersjach usługi AKS na platformie Azure Stack HCI polecenie Set-AksHciCluster było również używane do skalowania węzłów procesu roboczego. Usługa AKS na platformie Azure Stack HCI teraz wprowadza pule węzłów w klastrach obciążeń, więc tego polecenia można użyć tylko do skalowania węzłów procesu roboczego, jeśli klaster został utworzony przy użyciu starego parametru ustawionego w poleceniu New-AksHciCluster. Aby skalować węzły procesu roboczego w puli węzłów, użyj polecenia Set-AksHciNodePool.

Uzyskiwanie dostępu do klastrów przy użyciu narzędzia kubectl

Aby uzyskać dostęp do klastrów Kubernetes przy użyciu narzędzia kubectl, uruchom polecenie Get-AksHciCredential programu PowerShell. Spowoduje to użycie pliku kubeconfig określonego klastra jako domyślnego pliku kubeconfig dla kubectl. Narzędzia kubectl można również użyć do wdrażania aplikacji przy użyciu programu Helm.

Get-AksHciCredential -name mycluster

Usuwanie klastra Kubernetes

Jeśli musisz usunąć klaster Kubernetes, uruchom następujące polecenie.

Remove-AksHciCluster -name mycluster

Uwaga

Upewnij się, że klaster został usunięty, patrząc na istniejące maszyny wirtualne w Menedżerze funkcji Hyper-V. Jeśli nie zostaną usunięte, możesz ręcznie usunąć maszyny wirtualne. Następnie uruchom polecenie Restart-Service wssdagent . Należy to zrobić w każdym węźle klastra trybu failover.

Pobieranie dzienników

Aby pobrać dzienniki ze wszystkich zasobników, uruchom polecenie Get-AksHciLogs. To polecenie spowoduje utworzenie wyjściowego folderu mapowanego o akshcilogs.zip nazwie w katalogu roboczy. Pełna ścieżka do folderu będzie wyjściem po akshcilogs.zip uruchomieniu poniższego polecenia.

Get-AksHciLogs

W tym przewodniku Szybki start opisano, jak skonfigurować hosta usługi Azure Kubernetes Service i utworzyć usługę AKS w Azure Stack HCI klastrach przy użyciu programu PowerShell. Opisano również sposób skalowania klastra Kubernetes i uzyskiwania dostępu do klastrów za pomocą programu kubectl PowerShell.

Następne kroki