Udostępnij przez


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

Dotyczy: Windows Server Datacenter

Ten przewodnik szybkiego startu pokazuje, jak skonfigurować hosta usługi Azure Kubernetes Service (AKS). Klastry Kubernetes są tworzone w systemie Windows Server przy użyciu programu PowerShell. Aby zamiast tego użyć Centrum administracyjnego systemu Windows, zobacz Konfigurowanie w Centrum administracyjnym systemu Windows.

Zanim rozpoczniesz

  • Upewnij się, że spełnisz wszystkie wymagania wstępne w wymaganiach systemowych.
  • Użyj konta platformy Azure, aby zarejestrować hosta usługi AKS na potrzeby rozliczeń. Aby uzyskać więcej informacji, zobacz Wymagania dotyczące platformy Azure.

Instalowanie modułu programu PowerShell usługi AksHci

Wykonaj następujące kroki we wszystkich węzłach w klastrze 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 systemu 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ł AksHci PowerShell, uruchamiając następujące polecenie we wszystkich węzłach w klastrze systemu 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 uzyskać pełną listę poleceń programu PowerShell usługi AksHci , zobacz AksHci PowerShell.

Rejestrowanie dostawcy zasobów w ramach subskrypcji

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

Aby zalogować się na platformie 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 obsługiwanych przez 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. Otwórz program PowerShell jako administrator i uruchom następujące polecenie Initialize-AksHciNode na wszystkich węzłach w klastrze systemu Windows Server:

Initialize-AksHciNode

Krok 2. Tworzenie sieci wirtualnej

Uruchom następujące polecenia w dowolnym węźle w 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 jest 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 używana później 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 w klastrze systemu Windows Server.

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

Skonfiguruj wdrożenie przy użyciu 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, ale nie można zmienić nazwy maszyny wirtualnej na hoście ani w klastrze Kubernetes.

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życie zasadniczego składnika usługi 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 korzystania z jednostki usługi, zobacz Rejestrowanie usługi AKS w 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 systemu Windows Server.

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

Napiwek

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

Install-AksHci

Ostrzeżenie

Podczas instalacji hosta usługi AKS w grupie zasobów, która jest ustawiona podczas rejestracji, tworzony jest typ zasobu Kubernetes — Azure Arc. Nie usuwaj tego zasobu, ponieważ reprezentuje on 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 niezgodne z 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: Połącz swój klaster z Arc-enabled Kubernetes

Połącz klaster z Kubernetes obsługującym Arc, uruchamiając komendę 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 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 systemie Windows Server polecenie Set-AksHciCluster było również używane do skalowania węzłów roboczych. 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 programu PowerShell. To polecenie używa 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, przeglądając istniejące maszyny wirtualne w programie Hyper-V Manager. Jeśli nie zostaną usunięte, możesz ręcznie usunąć maszyny wirtualne. Następnie uruchom polecenie Restart-Service wssdagent. Uruchom to polecenie na każdym węźle w klastrze przełączania awaryjnego.

Pobierz dzienniki

Aby pobrać dzienniki ze wszystkich podów, uruchom polecenie Get-AksHciLogs. To polecenie tworzy zawartość wyjściową spakowaną jako zip o nazwie akshcilogs.zip w katalogu roboczym. Pełna ścieżka do folderu akshcilogs.zip jest wyjściowym rezultatem po uruchomieniu 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. Pokazano również, jak za pomocą programu PowerShell skalować klaster Kubernetes i uzyskiwać dostęp do klastrów za pomocą narzędzia kubectl.

Następne kroki