Konfigurowanie hosta Azure Kubernetes Service w usłudze Azure Stack HCI i systemie Windows Server oraz wdrażanie klastra obciążenia przy użyciu programu PowerShell

Dotyczy: Azure Stack HCI lub Windows Server Datacenter

Ten przewodnik Szybki start przeprowadzi Cię przez proces konfigurowania hosta Azure Kubernetes Service (AKS). Klastry Kubernetes są tworzone w usługach Azure Stack HCI i Windows Server przy użyciu programu PowerShell. Aby zamiast tego użyć Windows Admin Center, zobacz Konfigurowanie przy użyciu Windows Admin Center.

Uwaga

Zanim rozpoczniesz

Instalowanie modułu AksHci programu PowerShell

Wykonaj następujące kroki we wszystkich węzłach klastra azure Stack HCI 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 na wszystkich węzłach w klastrze azure Stack HCI 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 przechodzij 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 na wszystkich węzłach w klastrze azure Stack HCI 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 przechodzij 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.

Rejestrowanie dostawcy zasobów w subskrypcji

Przed procesem rejestracji włącz odpowiedniego dostawcę zasobów na platformie Azure dla usługi AKS włączonej przez rejestrację usługi Arc. W tym celu uruchom następujące polecenia programu PowerShell:

Aby zalogować się do platformy Azure, uruchom polecenie Connect-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 polecenia, aby zarejestrować subskrypcję platformy Azure u dostawców zasobów kubernetes z obsługą usługi Azure Arc. Ten proces rejestracji może potrwać do 10 minut, ale należy wykonać go tylko raz w określonej subskrypcji:

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

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

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

Krok 1. Przygotowanie maszyn do wdrożenia

Uruchom kontrole na każdym węźle fizycznym, aby sprawdzić, czy spełnione są wszystkie wymagania dotyczące instalowania usługi AKS włączonej przez usługę Arc. Otwórz program PowerShell jako administrator i uruchom następujące polecenie Initialize-AksHciNode na wszystkich węzłach w klastrze Azure Stack HCI i Windows Server:

Initialize-AksHciNode

Krok 2. Tworzenie sieci wirtualnej

Uruchom następujące polecenia w dowolnym węźle usługi Azure Stack HCI i klastrze systemu Windows Server.

Aby uzyskać nazwy dostępnych przełączników, uruchom następujące polecenie. Upewnij się, że SwitchType 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. Ta sieć wirtualna jest później używana do konfigurowania wdrożenia korzystającego ze statycznego adresu IP. Jeśli chcesz skonfigurować wdrożenie usługi AKS przy użyciu protokołu DHCP, zobacz New-AksHciNetworkSetting , aby zapoznać się z przykładami. Możesz również zapoznać się z niektórymi pojęciami dotyczącymi węzłów sieciowych.

#static IP
$vnet = New-AksHciNetworkSetting -name myvnet -vSwitchName "extSwitch" -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

Musisz dostosować wartości wyświetlane w tym przykładowym poleceniu dla środowiska.

Krok 3. Konfigurowanie wdrożenia

Uruchom następujące polecenia w dowolnym węźle usługi Azure Stack HCI i klastrze systemu Windows Server.

Aby utworzyć ustawienia konfiguracji hosta usługi AKS, użyj polecenia Set-AksHciConfig . Należy określić imageDirparametry , workingDiri cloudConfigLocation . Jeśli chcesz zresetować szczegóły konfiguracji, uruchom ponownie polecenie z nowymi parametrami.

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

$csvPath = 'C:\clusterstorage\volume01' # Specify your preferred CSV path
Set-AksHciConfig -imageDir $csvPath\Images -workingDir $csvPath\ImageStore -cloudConfigLocation $csvPath\Config -vnet $vnet

Uwaga

Musisz dostosować wartości wyświetlane w tym przykładowym poleceniu dla środowiska.

Krok 4. Logowanie się do platformy Azure i konfigurowanie ustawień rejestracji

Opcja 1. Użyj konta Microsoft Entra, jeśli masz uprawnienia "Właściciel"

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

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

Opcja 2. Używanie jednostki usługi platformy Azure

Jeśli nie masz dostępu do subskrypcji, w której jesteś "właścicielem", możesz zarejestrować hosta usługi AKS na platformie Azure w celu rozliczeń przy użyciu jednostki usługi. Aby uzyskać więcej informacji na temat używania jednostki usługi, zobacz rejestrowanie usługi AKS w usłudze Azure Stack HCI i systemie Windows Server przy użyciu jednostki usługi.

Krok 5. Rozpoczęcie nowego wdrożenia

Uruchom następujące polecenie w dowolnym węźle w klastrze rozwiązania Azure Stack HCI lub Windows Server.

Po skonfigurowaniu wdrożenia należy go uruchomić w celu zainstalowania agentów/usług AKS i hosta usługi AKS. Aby rozpocząć wdrażanie, uruchom następujące polecenie:

Porada

Aby wyświetlić dodatkowe szczegóły stanu podczas instalacji, ustaw $VerbosePreference = "Continue" przed kontynuowaniem.

Install-AksHci

Ostrzeżenie

Podczas instalacji hosta usługi AKS jest tworzony typ zasobu Kubernetes — Azure Arc w grupie zasobów ustawionej podczas rejestracji. Nie usuwaj tego zasobu, ponieważ reprezentuje hosta usługi AKS. Zasób można zidentyfikować, sprawdzając jego pole dystrybucji pod kątem aks_managementwartości . Jeśli usuniesz ten zasób, spowoduje to wdrożenie poza zasadami.

Krok 6. Tworzenie klastra Kubernetes

Po zainstalowaniu hosta usługi AKS można wdrożyć klaster Kubernetes. Otwórz program PowerShell jako administrator i uruchom następujące polecenie New-AksHciCluster . To przykładowe polecenie tworzy nowy klaster Kubernetes z jedną pulą węzłów systemu Linux o nazwie linuxnodepool z liczbą węzłów 1.

Aby uzyskać więcej informacji na temat pul węzłów, zobacz Używanie pul węzłów w usłudze AKS.

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
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 7. Łączenie klastra z platformą Kubernetes z obsługą usługi Arc

Połącz klaster z platformą Kubernetes z obsługą usługi Arc, uruchamiając polecenie Enable-AksHciArcConnection . Poniższy przykład łączy klaster Kubernetes z usługą Arc przy użyciu szczegółów subskrypcji i grupy zasobów przekazanych w poleceniu Set-AksHciRegistration :

Connect-AzAccount
Enable-AksHciArcConnection -name mycluster

Uwaga

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

Skalowanie klastra Kubernetes

Jeśli chcesz skalować klaster w górę lub w dół, możesz zmienić liczbę węzłów płaszczyzny sterowania za pomocą polecenia Set-AksHciCluster . Aby zmienić liczbę węzłów roboczych systemu Linux lub Windows w puli węzłów, użyj 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 robocze 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 w usługach Azure Stack HCI i Windows Server do skalowania węzłów roboczych użyto również polecenia Set-AksHciCluster . Teraz, gdy usługa AKS wprowadza pule węzłów w klastrach obciążeń, można użyć tego polecenia tylko do skalowania węzłów roboczych, jeśli klaster został utworzony przy użyciu starego zestawu parametrów w elemecie New-AksHciCluster.

Aby skalować węzły robocze 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 PowerShell. Spowoduje to użycie pliku kubeconfig określonego klastra jako domyślnego pliku kubeconfig dla narzędzia kubectl. Możesz również użyć narzędzia kubectl do wdrażania aplikacji przy użyciu narzędzia Helm:

Get-AksHciCredential -name mycluster

Usuwanie klastra Kubernetes

Aby usunąć klaster Kubernetes, uruchom następujące polecenie:

Remove-AksHciCluster -name mycluster

Uwaga

Upewnij się, że klaster został usunięty, sprawdzając 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. Uruchom to polecenie w każdym węźle w klastrze trybu failover.

Pobieranie dzienników

Aby pobrać dzienniki ze wszystkich zasobników, uruchom polecenie Get-AksHciLogs . To polecenie tworzy wyjściowy folder spakowany o nazwie akshcilogs.zip w katalogu roboczym. Pełna ścieżka do folderu to dane wyjściowe po uruchomieniu akshcilogs.zip następującego polecenia:

Get-AksHciLogs

W tym przewodniku Szybki start przedstawiono sposób konfigurowania hosta usługi AKS i tworzenia klastrów Kubernetes przy użyciu programu PowerShell. Przedstawiono również sposób skalowania klastra Kubernetes przy użyciu programu PowerShell oraz uzyskiwania dostępu do klastrów za pomocą polecenia kubectl.

Następne kroki