Nastavení hostitele Azure Kubernetes Service v Azure Stack HCI a Windows Serveru a nasazení clusteru úloh pomocí PowerShellu

Platí pro: Azure Stack HCI nebo Windows Server Datacenter

Tento rychlý start vás provede nastavením hostitele Azure Kubernetes Service (AKS). Clustery Kubernetes vytvoříte v Azure Stack HCI a Windows Serveru pomocí PowerShellu. Pokud chcete místo toho použít Windows Admin Center, přečtěte si téma Nastavení pomocí Windows Admin Center.

Poznámka

Než začnete

Instalace modulu PowerShellu AksHci

Ve všech uzlech v clusteru Azure Stack HCI nebo clusteru Windows Serveru postupujte takto:

Poznámka

Pokud používáte vzdálený PowerShell, musíte použít CredSSP.

  1. Zavřete všechna otevřená okna PowerShellu, otevřete novou relaci PowerShellu jako správce a na všech uzlech v clusteru Azure Stack HCI nebo Windows Serveru spusťte následující příkaz:

    Install-PackageProvider -Name NuGet -Force 
    Install-Module -Name PowershellGet -Force -Confirm:$false
    

    Pokud chcete zajistit, aby se načtené moduly aktualizovaly, musíte znovu zavřít všechna existující okna PowerShellu. Nepokračujte k dalšímu kroku, dokud nezavřete všechna otevřená okna PowerShellu.

  2. Nainstalujte modul PowerShellu AKS-HCI spuštěním následujícího příkazu na všech uzlech v clusteru Azure Stack HCI nebo Windows Serveru:

    Install-Module -Name AksHci -Repository PSGallery -Force -AcceptLicense
    

    Pokud chcete zajistit, aby se načtené moduly aktualizovaly, musíte znovu zavřít všechna existující okna PowerShellu. Nepokračujte k dalšímu kroku, dokud nezavřete všechna otevřená okna PowerShellu.

Pomocí pomocného skriptu můžete odstranit staré moduly PowerShellu AKS-HCI, abyste se vyhnuli problémům souvisejícím s verzí PowerShellu v nasazení AKS.

Ověření instalace

Get-Command -Module AksHci

Úplný seznam příkazů PowerShellu AksHci najdete v tématu AksHci PowerShell.

Registrace poskytovatele prostředků ve vašem předplatném

Před procesem registrace povolte příslušného poskytovatele prostředků v Azure pro AKS povolenou registrací Arc. Uděláte to tak, že spustíte následující příkazy PowerShellu:

Pokud se chcete přihlásit k Azure, spusťte příkaz PowerShellu Connect-AzAccount :

Connect-AzAccount

Pokud chcete přepnout na jiné předplatné, spusťte příkaz PowerShellu Set-AzContext :

Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"

Spuštěním následujících příkazů zaregistrujte své předplatné Azure k poskytovatelům prostředků Kubernetes s podporou Azure Arc. Tento proces registrace může trvat až 10 minut, ale v konkrétním předplatném ho stačí provést jenom jednou:

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

Pokud chcete ověřit proces registrace, spusťte následující příkazy PowerShellu:

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

Krok 1: Příprava počítačů k nasazení

Na každém fyzickém uzlu spusťte kontroly, abyste zjistili, jestli jsou splněné všechny požadavky na instalaci AKS povolené službou Arc. Otevřete PowerShell jako správce a na všech uzlech v clusteru Azure Stack HCI a Windows Serveru spusťte následující příkaz Initialize-AksHciNode :

Initialize-AksHciNode

Krok 2: Vytvoření virtuální sítě

Na libovolném uzlu v clusteru Azure Stack HCI a Windows Serveru spusťte následující příkazy.

Pokud chcete získat názvy dostupných přepínačů, spusťte následující příkaz. Ujistěte se, SwitchType že přepínač virtuálního počítače je Externí:

Get-VMSwitch

Ukázkový výstup:

Name        SwitchType     NetAdapterInterfaceDescription
----        ----------     ------------------------------
extSwitch   External       Mellanox ConnectX-3 Pro Ethernet Adapter

Pokud chcete vytvořit virtuální síť pro uzly ve vašem nasazení, které se mají použít, vytvořte proměnnou prostředí pomocí příkazu New-AksHciNetworkSetting PowerShellu. Tato virtuální síť se později použije ke konfiguraci nasazení, které používá statickou IP adresu. Pokud chcete nakonfigurovat nasazení AKS pomocí protokolu DHCP, příklady najdete v tématu New-AksHciNetworkSetting . Můžete si také projít některé koncepty síťových uzlů.

#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

Poznámka

Hodnoty zobrazené v tomto příkladu musíte přizpůsobit pro vaše prostředí.

Krok 3: Konfigurace nasazení

Na libovolném uzlu v clusteru Azure Stack HCI a Windows Serveru spusťte následující příkazy.

Pokud chcete vytvořit nastavení konfigurace pro hostitele AKS, použijte příkaz Set-AksHciConfig . Musíte zadat imageDirparametry , workingDira cloudConfigLocation . Pokud chcete resetovat podrobnosti o konfiguraci, spusťte příkaz znovu s novými parametry.

Nakonfigurujte nasazení pomocí následujícího příkazu:

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

Poznámka

Hodnoty zobrazené v tomto příkladu musíte přizpůsobit pro vaše prostředí.

Krok 4: Přihlášení k Azure a konfigurace nastavení registrace

Možnost 1: Pokud máte oprávnění vlastníka, použijte svůj účet Microsoft Entra.

Spusťte následující příkaz PowerShellu Set-AksHciRegistration s vaším předplatným a názvem skupiny prostředků a přihlaste se k Azure. Musíte mít předplatné Azure a existující skupinu prostředků Azure v oblastech Azure Austrálie – východ, USA – východ, Jihovýchodní Asie nebo Západní Evropa:

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

Možnost 2: Použití instančního objektu Azure

Pokud nemáte přístup k předplatnému, ve kterém jste vlastníkem, můžete hostitele AKS zaregistrovat v Azure k fakturaci pomocí instančního objektu. Další informace o použití instančního objektu najdete v tématu registrace AKS ve službě Azure Stack HCI a Windows Serveru pomocí instančního objektu.

Krok 5: Spuštění nového nasazení

Na libovolném uzlu v clusteru Azure Stack HCI nebo Windows Serveru spusťte následující příkaz.

Po konfiguraci nasazení ho musíte spustit, abyste mohli nainstalovat agenty/služby AKS a hostitele AKS. Nasazení zahájíte spuštěním následujícího příkazu:

Tip

Pokud chcete během instalace zobrazit další podrobnosti o stavu, nastavte $VerbosePreference = "Continue" ji před pokračováním.

Install-AksHci

Upozornění

Během instalace hostitele AKS se ve skupině prostředků nastavené během registrace vytvoří typ prostředku Kubernetes – Azure Arc . Neodstraňovat tento prostředek, protože představuje vašeho hostitele AKS. Zdroj můžete identifikovat tak, že v jeho distribučním poli zkontrolujete hodnotu aks_management. Pokud tento prostředek odstraníte, dojde k nasazení mimo zásady.

Krok 6: Vytvoření clusteru Kubernetes

Po instalaci hostitele AKS můžete nasadit cluster Kubernetes. Otevřete PowerShell jako správce a spusťte následující příkaz New-AksHciCluster . Tento ukázkový příkaz vytvoří nový cluster Kubernetes s jedním fondem linuxových uzlů s názvem linuxnodepool s počtem uzlů 1.

Další informace o fondech uzlů najdete v tématu Použití fondů uzlů v AKS.

New-AksHciCluster -name mycluster -nodePoolName linuxnodepool -nodeCount 1 -osType Linux

Kontrola nasazených clusterů

Pokud chcete získat seznam nasazených clusterů Kubernetes, spusťte následující příkaz PowerShellu Get-AksHciCluster :

Get-AksHciCluster
ProvisioningState     : provisioned
KubernetesVersion     : v1.20.7
NodePools             : linuxnodepool
WindowsNodeCount      : 0
LinuxNodeCount        : 0
ControlPlaneNodeCount : 1
Name                  : mycluster

Pokud chcete získat seznam fondů uzlů v clusteru, spusťte následující příkaz PowerShellu Get-AksHciNodePool :

Get-AksHciNodePool -clusterName mycluster
ClusterName  : mycluster
NodePoolName : linuxnodepool
Version      : v1.20.7
OsType       : Linux
NodeCount    : 1
VmSize       : Standard_K8S3_v1
Phase        : Deployed

Krok 7: Připojení clusteru k Kubernetes s podporou Arc

Připojte cluster k Kubernetes s podporou arc spuštěním příkazu Enable-AksHciArcConnection . Následující příklad připojí cluster Kubernetes ke službě Arc pomocí podrobností o předplatném a skupině prostředků, které jste předali v příkazu Set-AksHciRegistration :

Connect-AzAccount
Enable-AksHciArcConnection -name mycluster

Poznámka

Pokud během procesu instalace narazíte na problémy nebo chybové zprávy, další informace najdete v tématu Známé problémy a chyby instalace .

Škálování clusteru Kubernetes

Pokud potřebujete vertikálně navýšit nebo snížit kapacitu clusteru, můžete změnit počet uzlů řídicí roviny pomocí příkazu Set-AksHciCluster . Pokud chcete změnit počet pracovních uzlů s Linuxem nebo Windows ve fondu uzlů, použijte příkaz Set-AksHciNodePool .

Pokud chcete škálovat uzly řídicí roviny, spusťte následující příkaz:

Set-AksHciCluster -name mycluster -controlPlaneNodeCount 3

Pokud chcete škálovat pracovní uzly ve fondu uzlů, spusťte následující příkaz:

Set-AksHciNodePool -clusterName mycluster -name linuxnodepool -count 3

Poznámka

V předchozích verzích AKS v Azure Stack HCI a Windows Serveru se ke škálování pracovních uzlů používal také příkaz Set-AksHciCluster . Teď, když AKS zavádí fondy uzlů v clusterech úloh, můžete tento příkaz použít ke škálování pracovních uzlů pouze v případě, že byl váš cluster vytvořen se starým parametrem nastaveným v New-AksHciCluster.

Pokud chcete škálovat pracovní uzly ve fondu uzlů, použijte příkaz Set-AksHciNodePool .

Přístup ke clusterům pomocí kubectl

Pokud chcete získat přístup ke clusterům Kubernetes pomocí kubectl, spusťte příkaz PowerShellu Get-AksHciCredential . Použije se soubor kubeconfig zadaného clusteru jako výchozí soubor kubeconfig pro kubectl. K nasazení aplikací pomocí Helmu můžete použít také kubectl:

Get-AksHciCredential -name mycluster

Odstranění clusteru Kubernetes

Pokud chcete odstranit cluster Kubernetes, spusťte následující příkaz:

Remove-AksHciCluster -name mycluster

Poznámka

Ujistěte se, že je váš cluster odstraněný, a to tak, že se podíváte na existující virtuální počítače ve Správci technologie Hyper-V. Pokud se neodstraní, můžete virtuální počítače odstranit ručně. Potom spusťte příkaz Restart-Service wssdagent. Spusťte tento příkaz na každém uzlu v clusteru s podporou převzetí služeb při selhání.

Získání protokolů

Pokud chcete získat protokoly ze všech podů, spusťte příkaz Get-AksHciLogs . Tento příkaz vytvoří výstupní komprimovanou složku s názvem akshcilogs.zip v pracovním adresáři. Úplná cesta ke akshcilogs.zip složce je výstupem po spuštění následujícího příkazu:

Get-AksHciLogs

V tomto rychlém startu jste zjistili, jak nastavit hostitele AKS a vytvořit clustery Kubernetes pomocí PowerShellu. Dozvěděli jste se také, jak pomocí PowerShellu škálovat cluster Kubernetes a přistupovat ke clusterům pomocí kubectl.

Další kroky