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.
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.
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.