Udostępnij za pośrednictwem


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

Dotyczy: AKS na Azure Local 22H2, AKS na 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 środowisku lokalnym platformy Azure. Dowiesz się, jak:

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

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ł AksHci programu PowerShell.

Wykonaj następujące kroki we wszystkich węzłach klastra lokalnego platformy Azure lub klastra systemu Windows Server:

Uwaga

Jeśli używasz zdalnego programu PowerShell, musisz użyć protokołu 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 azure Local lub Windows Server:

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

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

  2. Zainstaluj moduł programu PowerShell AKS-HCI, uruchamiając następujące polecenie na wszystkich węzłach w klastrze azure Local lub Windows Server:

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

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

Możesz użyć skryptu pomocniczego , aby usunąć stare moduły 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 usługi 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 w każdym węźle fizycznym są spełnione, aby zainstalować usługę AKS na platformie Azure Lokalnie:

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 przy użyciu 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
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 programie New-AksHciCluster do wdrożenia klastra, a następnie uruchamiasz polecenie Get-AksHciCluster , aby uzyskać informacje o klastrze, pola WindowsNodeCount i LinuxNodeCount w danych wyjściowych zwracają wartość 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, użyj narzędzia kubectl, klienta wiersza polecenia kubernetes.

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

Aby skonfigurować kubectl nawiązywanie połączenia 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 sprawdzić 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 na platformie Azure Lokalnie
  • 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.