Konfigurera en Azure Kubernetes Service värd på Azure Stack HCI och Windows Server och distribuera ett arbetsbelastningskluster med PowerShell

Gäller för: Azure Stack HCI eller Windows Server Datacenter

Den här snabbstarten vägleder dig genom konfigurationen av en Azure Kubernetes Service-värd (AKS). Du skapar Kubernetes-kluster på Azure Stack HCI och Windows Server med hjälp av PowerShell. Om du vill använda Windows Admin Center i stället kan du läsa Konfigurera med Windows Admin Center.

Anteckning

Innan du börjar

  • Kontrollera att du har uppfyllt alla krav i systemkraven.
  • Använd ett Azure-konto för att registrera din AKS-värd för fakturering. Mer information finns i Krav för Azure.

Installera AksHci PowerShell-modulen

Följ dessa steg på alla noder i ditt Azure Stack HCI-kluster eller Windows Server-kluster:

Anteckning

Om du använder fjärr-PowerShell måste du använda CredSSP.

  1. Stäng alla öppna PowerShell-fönster, öppna en ny PowerShell-session som administratör och kör följande kommando på alla noder i ditt Azure Stack HCI- eller Windows Server-kluster:

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

    Du måste stänga alla befintliga PowerShell-fönster igen för att se till att inlästa moduler uppdateras. Fortsätt inte till nästa steg förrän du stänger alla öppna PowerShell-fönster.

  2. Installera AKS-HCI PowerShell-modulen genom att köra följande kommando på alla noder i ditt Azure Stack HCI- eller Windows Server-kluster:

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

    Du måste stänga alla befintliga PowerShell-fönster igen för att se till att inlästa moduler uppdateras. Fortsätt inte till nästa steg förrän du stänger alla öppna PowerShell-fönster.

Du kan använda ett hjälpskript för att ta bort gamla AKS-HCI PowerShell-moduler för att undvika problem med PowerShell-versioner i AKS-distributionen.

Verifiera installationen

Get-Command -Module AksHci

En fullständig lista över AksHci PowerShell-kommandon finns i AksHci PowerShell.

Registrera resursprovidern i din prenumeration

Innan registreringsprocessen aktiverar du lämplig resursprovider i Azure för AKS som aktiveras av Arc-registrering. Det gör du genom att köra följande PowerShell-kommandon:

Om du vill logga in på Azure kör du PowerShell-kommandot Connect-AzAccount :

Connect-AzAccount

Om du vill växla till en annan prenumeration kör du PowerShell-kommandot Set-AzContext :

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

Kör följande kommandon för att registrera din Azure-prenumeration till Azure Arc-aktiverade Kubernetes-resursproviders. Den här registreringsprocessen kan ta upp till 10 minuter, men den behöver bara utföras en gång i en specifik prenumeration:

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

Verifiera registreringsprocessen genom att köra följande PowerShell-kommandon:

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

Steg 1: Förbereda dina datorer för distribution

Kör kontroller på varje fysisk nod för att se om alla krav för att installera AKS som aktiveras av Arc är uppfyllda. Öppna PowerShell som administratör och kör följande initialize-AksHciNode-kommando på alla noder i ditt Azure Stack HCI- och Windows Server-kluster:

Initialize-AksHciNode

Steg 2: Skapa ett virtuellt nätverk

Kör följande kommandon på en nod i azure Stack HCI- och Windows Server-klustret.

Kör följande kommando för att hämta namnen på dina tillgängliga växlar. Kontrollera att växeln för den SwitchType virtuella datorn är "Extern":

Get-VMSwitch

Exempel på utdata:

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

Skapa ett virtuellt nätverk som noderna i distributionen ska använda genom att skapa en miljövariabel med powershell-kommandot New-AksHciNetworkSetting . Det här virtuella nätverket används senare för att konfigurera en distribution som använder statisk IP. Om du vill konfigurera AKS-distributionen med DHCP kan du se exempel på New-AksHciNetworkSetting . Du kan också granska några begrepp för nätverksnoder.

#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

Anteckning

Du måste anpassa värdena som visas i det här exempelkommandot för din miljö.

Steg 3: Konfigurera distributionen

Kör följande kommandon på en nod i azure Stack HCI- och Windows Server-klustret.

Om du vill skapa konfigurationsinställningarna för AKS-värden använder du kommandot Set-AksHciConfig . Du måste ange parametrarna imageDir, workingDiroch cloudConfigLocation . Om du vill återställa konfigurationsinformationen kör du kommandot igen med nya parametrar.

Konfigurera distributionen med följande kommando:

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

Anteckning

Du måste anpassa värdena som visas i det här exempelkommandot för din miljö.

Steg 4: Logga in på Azure och konfigurera registreringsinställningar

Alternativ 1: Använd ditt Microsoft Entra-konto om du har behörighet som ägare

Kör följande Set-AksHciRegistration PowerShell-kommando med ditt prenumerations- och resursgruppsnamn för att logga in på Azure. Du måste ha en Azure-prenumeration och en befintlig Azure-resursgrupp i Azure-regionerna Australien, östra, USA, östra, Asien, sydöstra eller Europa, västra:

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

Alternativ 2: Använd ett huvudnamn för Azure-tjänsten

Om du inte har åtkomst till en prenumeration där du är "ägare" kan du registrera AKS-värden i Azure för fakturering med hjälp av ett huvudnamn för tjänsten. Mer information om hur du använder ett huvudnamn för tjänsten finns i registrera AKS på Azure Stack HCI och Windows Server med hjälp av ett huvudnamn för tjänsten.

Steg 5: Starta en ny distribution

Kör följande kommando på en nod i azure Stack HCI- eller Windows Server-klustret.

När du har konfigurerat distributionen måste du starta den för att kunna installera AKS-agenterna/-tjänsterna och AKS-värden. Starta distributionen genom att köra följande kommando:

Tips

Om du vill se ytterligare statusinformation under installationen anger du $VerbosePreference = "Continue" innan du fortsätter.

Install-AksHci

Varning

Under installationen av AKS-värden skapas en Kubernetes – Azure Arc-resurstyp i resursgruppen som anges under registreringen. Ta inte bort den här resursen eftersom den representerar AKS-värden. Du kan identifiera resursen genom att kontrollera dess distributionsfält för värdet aks_management. Om du tar bort den här resursen resulterar den i en out-of-policy-distribution.

Steg 6: Skapa ett Kubernetes-kluster

När du har installerat AKS-värden kan du distribuera ett Kubernetes-kluster. Öppna PowerShell som administratör och kör följande New-AksHciCluster-kommando . Det här exempelkommandot skapar ett nytt Kubernetes-kluster med en Linux-nodpool med namnet linuxnodepool med nodantalet 1.

Mer information om nodpooler finns i Använda nodpooler i AKS.

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

Kontrollera dina distribuerade kluster

Om du vill hämta en lista över dina distribuerade Kubernetes-kluster kör du följande PowerShell-kommando för Get-AksHciCluster :

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

Om du vill hämta en lista över nodpoolerna i klustret kör du följande Get-AksHciNodePool PowerShell-kommando :

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

Steg 7: Ansluta klustret till Arc-aktiverat Kubernetes

Anslut klustret till Arc-aktiverade Kubernetes genom att köra kommandot Enable-AksHciArcConnection . I följande exempel ansluts Kubernetes-klustret till Arc med hjälp av prenumerations- och resursgruppsinformationen Set-AksHciRegistration som du skickade i kommandot:

Connect-AzAccount
Enable-AksHciArcConnection -name mycluster

Anteckning

Om du stöter på problem eller felmeddelanden under installationsprocessen kan du läsa mer i Kända problem och fel för installation .

Skala ett Kubernetes-kluster

Om du behöver skala upp eller ned klustret kan du ändra antalet kontrollplansnoder med hjälp av kommandot Set-AksHciCluster . Om du vill ändra antalet Linux- eller Windows-arbetsnoder i nodpoolen använder du kommandot Set-AksHciNodePool .

Om du vill skala kontrollplansnoder kör du följande kommando:

Set-AksHciCluster -name mycluster -controlPlaneNodeCount 3

Om du vill skala arbetsnoderna i nodpoolen kör du följande kommando:

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

Anteckning

I tidigare versioner av AKS på Azure Stack HCI och Windows Server användes även kommandot Set-AksHciCluster för att skala arbetsnoder. Nu när AKS introducerar nodpooler i arbetsbelastningskluster kan du bara använda det här kommandot för att skala arbetsnoder om klustret har skapats med den gamla parametern som angetts i New-AksHciCluster.

Om du vill skala arbetsnoder i en nodpool använder du kommandot Set-AksHciNodePool .

Komma åt dina kluster med kubectl

Om du vill komma åt dina Kubernetes-kluster med kubectl kör du PowerShell-kommandot Get-AksHciCredential . Detta använder det angivna klustrets kubeconfig-fil som standard kubeconfig-fil för kubectl. Du kan också använda kubectl för att distribuera program med Helm:

Get-AksHciCredential -name mycluster

Ta bort ett Kubernetes-kluster

Om du vill ta bort ett Kubernetes-kluster kör du följande kommando:

Remove-AksHciCluster -name mycluster

Anteckning

Kontrollera att klustret tas bort genom att titta på de befintliga virtuella datorerna i Hyper-V Manager. Om de inte tas bort kan du ta bort de virtuella datorerna manuellt. Kör sedan kommandot Restart-Service wssdagent. Kör det här kommandot på varje nod i redundansklustret.

Hämta loggar

Om du vill hämta loggar från alla dina poddar kör du kommandot Get-AksHciLogs . Det här kommandot skapar en zippad mapp med utdata som heter akshcilogs.zip i arbetskatalogen. Den fullständiga sökvägen till akshcilogs.zip mappen är utdata när du har kört följande kommando:

Get-AksHciLogs

I den här snabbstarten har du lärt dig hur du konfigurerar en AKS-värd och skapar Kubernetes-kluster med hjälp av PowerShell. Du har också lärt dig hur du använder PowerShell för att skala ett Kubernetes-kluster och komma åt kluster med kubectl.

Nästa steg