Udostępnij za pośrednictwem


Konfigurowanie hosta usługi Azure Kubernetes Service na platformie Azure lokalnie i w systemie Windows Server oraz wdrażanie klastra obciążeń przy użyciu programu PowerShell

Dotyczy: Azure Local lub Windows Server Datacenter

Ten przewodnik Szybki start przeprowadzi Cię przez proces konfigurowania hosta usługi Azure Kubernetes Service (AKS). Klastry Kubernetes są tworzone na platformie Azure lokalnie i 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.

Uwaga

Zanim rozpoczniesz

  • Upewnij się, że zostały spełnione wszystkie wymagania wstępne dotyczące wymagań 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 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.

Rejestrowanie dostawcy zasobów w ramach 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ę 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 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 Local i Windows Server:

Initialize-AksHciNode

Krok 2. Tworzenie sieci wirtualnej

Uruchom następujące polecenia w dowolnym węźle w klastrze Azure Local i 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ętrzne":

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 Azure Local i 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 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.

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 korzystania z jednostki usługi, zobacz Rejestrowanie usługi AKS na platformie Azure Local i 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 Azure Local lub Windows Server.

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

Napiwek

Aby wyświetlić dodatkowe szczegóły stanu podczas instalacji, ustaw przed $VerbosePreference = "Continue" 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 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 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 na platformie Azure local i 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. 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, przeglądają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 spakowany folder wyjściowy 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. Pokazano również, jak za pomocą programu PowerShell skalować klaster Kubernetes i uzyskiwać dostęp do klastrów za pomocą polecenia kubectl.

Następne kroki