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
- Jeśli masz wstępnie przygotowane obiekty usługi klastra i rekordy DNS, zobacz Deploy an AKS host with prestaged cluster service objects and DNS records using PowerShell (Wdrażanie hosta usługi AKS ze wstępnie przygotowanymi obiektami usługi klastra i rekordami DNS przy użyciu programu PowerShell).
- Jeśli masz serwer proxy, zobacz Konfigurowanie hosta usługi AKS i wdrażanie klastra obciążenia przy użyciu programu PowerShell i serwera proxy.
- Instalowanie usługi AKS na platformie Azure Lokalnie po skonfigurowaniu maszyn wirtualnych usługi Arc nie jest obsługiwane. Aby uzyskać więcej informacji, zobacz znane problemy z maszynami wirtualnymi usługi Arc. Jeśli chcesz zainstalować usługę AKS na platformie Azure Lokalnie, musisz odinstalować mostek zasobów usługi Arc, a następnie zainstalować usługę AKS w środowisku lokalnym platformy Azure. Po wyczyszczeniu i zainstalowaniu usługi AKS możesz ponownie wdrożyć nowy mostek zasobów usługi Arc, ale nie zapamiętuje wcześniej utworzonych jednostek maszyny wirtualnej.
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.
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.
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ć imageDir
parametry , 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.
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_management
wartoś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
.