Samouczek: wdrażanie klastra obciążenia w hybrydowej usłudze AKS

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

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

W tym samouczku, część trzecia z siedmiu, klaster Azure Kubernetes Service (AKS) jest wdrażany w hybrydowej usłudze AKS. 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 -SkipPublisherCheck
    

    Aby upewnić się, że załadowane moduły zostały odświeżone, należy ponownie zamknąć wszystkie istniejące okna programu PowerShell. Nie należy przechodzić 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
    

    Aby upewnić się, że załadowane moduły zostały odświeżone, należy ponownie zamknąć wszystkie istniejące okna programu PowerShell. Nie należy przechodzić 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 należy skonfigurować 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, aby zainstalować usługę AKS w usłudze Azure Stack HCI.

Initialize-AksHciNode

Następnie utworzymy sieć wirtualną. Musisz uzyskać 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 mycluster z jedną pulą węzłów systemu Linux o nazwie linuxnodepool, 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

Wyjście:

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 dane wyjściowe będą zwracać polecenie 0. 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, należy użyć narzędzia kubectl, czyli klienta wiersza polecenia usługi 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

Wyjście:

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.