Samouczek: wdrażanie klastra obciążenia w usłudze AKS włączonej przez usługę Arc

Dotyczy: usługa AKS w usłudze Azure Stack HCI 22H2, AKS w systemie Windows Server

Usługa Kubernetes zapewnia rozproszoną platformę dla konteneryzowanych aplikacji.

W tym samouczku, część trzecia z siedmiu, klaster Kubernetes jest wdrażany w usłudze AKS w usłudze Azure Stack HCI. Omawiane tematy:

  • Wdrażanie klastra usługi AKS w usłudze Azure Stack HCI
  • Instalowanie interfejsu wiersza polecenia rozwiązania Kubernetes (kubectl)
  • Konfigurowanie narzędzia kubectl w celu nawiązania połączenia z klastrem obciążeń

W kolejnych samouczkach aplikacja Azure Vote jest wdrażana w klastrze, skalowana i aktualizowana.

Zanim rozpoczniesz

W poprzednich samouczkach utworzono obraz kontenera i przekazano go do wystąpienia usługi Azure Container Registry. Jeśli te kroki nie zostały wykonane, zacznij od samouczka 1 — tworzenie obrazów kontenerów.

W tym samouczku jest używany moduł programu PowerShell usługi AksHci.

Wykonaj następujące kroki we wszystkich węzłach klastra usługi Azure Stack HCI lub klastra systemu Windows Server:

Uwaga

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

  1. Zamknij wszystkie otwarte okna programu PowerShell, otwórz nową sesję programu PowerShell jako administrator i uruchom następujące polecenie we wszystkich węzłach w klastrze usługi Azure Stack HCI lub Windows Server:

    Install-PackageProvider -Name NuGet -Force 
    Install-Module -Name PowershellGet -Force -Confirm:$false
    

    Aby upewnić się, że załadowane moduły zostały odświeżone, należy ponownie zamknąć wszystkie istniejące okna programu PowerShell. Nie przejdź do następnego kroku, dopóki nie zamkniesz wszystkich otwartych okien programu PowerShell.

  2. Zainstaluj moduł AKS-HCI programu PowerShell, uruchamiając następujące polecenie we wszystkich węzłach w klastrze usługi Azure Stack HCI lub Windows Server:

    Install-Module -Name AksHci -Repository PSGallery -Force -AcceptLicense
    

    Aby upewnić się, że załadowane moduły zostały odświeżone, należy ponownie zamknąć wszystkie istniejące okna programu PowerShell. Nie przejdź do następnego kroku, dopóki nie zamkniesz wszystkich otwartych okien programu PowerShell.

Skrypt pomocnika umożliwia usunięcie starych modułów programu PowerShell AKS-HCI, aby uniknąć problemów związanych z wersją programu PowerShell we wdrożeniu usługi AKS.

Weryfikowanie instalacji

Get-Command -Module AksHci

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

Instalowanie hosta Azure Kubernetes Service

Najpierw skonfiguruj ustawienia rejestracji.

Set-AksHciRegistration -subscription mysubscription -resourceGroupName myresourcegroup

Te wartości należy dostosować zgodnie z nazwą subskrypcji platformy Azure i grupy zasobów.

Następnie uruchom następujące polecenie, aby upewnić się, że wszystkie wymagania dotyczące każdego węzła fizycznego są spełnione w celu zainstalowania usługi AKS w usłudze Azure Stack HCI:

Initialize-AksHciNode

Następnie utwórz sieć wirtualną. Potrzebne będą nazwy dostępnych przełączników zewnętrznych:

Get-VMSwitch

Przykładowe dane wyjściowe:

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

Uruchom następujące polecenie, aby utworzyć sieć wirtualną ze statycznym adresem IP:

$vnet = New-AksHciNetworkSetting -name myvnet -vSwitchName "extSwitch" -macPoolName myMacPool -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 9

Następnie skonfiguruj wdrożenie za pomocą następującego polecenia.

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

Teraz możesz zainstalować hosta usługi AKS:

Install-AksHCi

Tworzenie klastra Kubernetes

Utwórz klaster Kubernetes przy użyciu polecenia New-AksHciCluster. Poniższy przykład tworzy klaster o nazwie z jedną pulą węzłów systemu Linux o nazwie myclusterlinuxnodepool, która ma liczbę węzłów 1:

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

Aby sprawdzić, czy wdrożenie zakończyło się pomyślnie, uruchom następujące polecenie.

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

Uwaga

Jeśli używasz nowych zestawów parametrów w New-AksHciCluster programie do wdrożenia klastra, a następnie uruchomisz polecenie Get-AksHciCluster , aby uzyskać informacje o klastrze, pola WindowsNodeCount i LinuxNodeCount w danych wyjściowych zwracają 0polecenie . Aby uzyskać dokładną liczbę węzłów w każdej puli węzłów, użyj polecenia Get-AksHciNodePool o określonej nazwie klastra.

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

Instalowanie interfejsu wiersza polecenia rozwiązania Kubernetes

Aby nawiązać połączenie z klastrem Kubernetes z komputera lokalnego, użyj narzędzia kubectl, klienta wiersza polecenia Kubernetes.

Nawiązywanie połączenia z klastrem przy użyciu narzędzia kubectl

Aby skonfigurować kubectl połączenie z klastrem Kubernetes, użyj polecenia Get-AksHciCredential . Poniższy przykład pobiera poświadczenia dla klastra o nazwie mycluster:

Get-AksHciCredential -name mycluster

Aby zweryfikować połączenie z klastrem, uruchom polecenie kubectl get nodes , aby zwrócić listę węzłów klastra:

kubectl get nodes
NAME              STATUS   ROLES                  AGE     VERSION
moc-lbs6got5dqo   Ready    <none>                 6d20h   v1.20.7
moc-lel7tzxdt30   Ready    control-plane,master   6d20h   v1.20.7

Następne kroki

W tym samouczku wdrożono klaster Kubernetes w usłudze AKS i skonfigurowano narzędzie kubectl w celu nawiązania z nim połączenia. W tym samouczku omówiono:

  • Wdrażanie klastra usługi AKS w usłudze Azure Stack HCI
  • Instalowanie interfejsu wiersza polecenia rozwiązania Kubernetes (kubectl)
  • Konfigurowanie narzędzia kubectl w celu nawiązania połączenia z klastrem AKS

Przejdź do następnego samouczka, aby dowiedzieć się, jak wdrożyć aplikację w klastrze.