Snabbstart: 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

I den här snabbstarten får du lära dig konfigurationen för en Azure Kubernetes Service -värd (AKS). Du skapar AKS i Azure Stack HCI- och Windows Server-kluster med hjälp av PowerShell. Information om hur du använder Windows Admin Center finns i Konfigurera med Windows Admin Center.

Innan du börjar

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

Installera AksHci PowerShell-modulen

På alla noder i ditt Azure Stack HCI-kluster eller Windows Server-kluster

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

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 -SkipPublisherCheck
Exit

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

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
Exit

Du måste stänga alla befintliga PowerShell-fönster igen för att säkerställa att inlästa moduler uppdateras. Fortsätt inte till nästa steg förrän du har stängt 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 till din prenumeration

Innan registreringsprocessen måste du aktivera lämplig resursprovider i Azure för AKS på Azure Stack HCI och Windows Server-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 kommando för att registrera din Azure-prenumeration till Azure Arc-aktiverade Kubernetes-resursprovidrar. Den här registreringsprocessen kan ta upp till 10 minuter, men den behöver bara utföras en gång i en viss prenumeration.

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

Kontrollera registreringsprocessen genom att köra följande PowerShell-kommando:

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

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

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

Initialize-AksHciNode

Steg 2: Skapa ett virtuellt nätverk

Kör följande kommandon i steg 2 på en nod i Azure Stack HCI i 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 för noderna i distributionen som ska användas genom att skapa en miljövariabel med kommandot New-AksHciNetworkSetting PowerShell. Detta kommer att användas senare för att konfigurera en distribution som använder statisk IP. Om du vill konfigurera AKS-distributionen med DHCP kan du till exempel gå till New-AksHciNetworkSetting . Du kan också granska vissa 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

Värdena som anges i det här exempelkommandot måste anpassas för din miljö.

Steg 3: Konfigurera distributionen

Kör följande kommandon i steg 3 på en nod i Azure Stack HCI i 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.

Set-AksHciConfig -imageDir c:\clusterstorage\volume1\Images -workingDir c:\ClusterStorage\Volume1\ImageStore -cloudConfigLocation c:\clusterstorage\volume1\Config -vnet $vnet -cloudservicecidr "172.16.10.10/16"

Anteckning

Värdena som anges i det här exempelkommandot måste anpassas för din miljö.

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

Alternativ 1: Använda ditt Azure AD-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, Sydostasien eller Europa, västra för att kunna fortsätta.

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

Alternativ 2: Använda 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 till Azure för fakturering med hjälp av ett huvudnamn för tjänsten. Mer information om hur du använder en tjänstprinicipal 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 i steg 5 på en nod i ditt Azure Stack HCI- eller Windows Server-kluster.

När du har konfigurerat distributionen måste du starta den för att installera AKS på Azure Stack HCI och Windows Server-agenter/-tjänster 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 Azure Kuberenetes Service-värden skapas en Kubernetes – Azure Arc-resurstyp i resursgruppen som anges under registreringen. Ta inte bort den här resursen eftersom den representerar din Azure Kuberenetes Service-värd. 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 det i en out-of-policy-distribution.

Steg 6: Skapa ett Kubernetes-kluster

När du har installerat AKS-värden är du redo att 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 på Azure Stack HCI och Windows Server.

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 Get-AksHciCluster PowerShell-kommando .

Get-AksHciCluster

Resultat

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: Anslut klustret till Arc-aktiverade Kubernetes

Anslut klustret till Arc-aktiverade Kubernetes genom att köra kommandot Enable-AksHciArcConnection . I exemplet nedan ansluts AKS på Azure Stack HCI- och Windows Server-klustret till Arc med den prenumerations- och resursgruppsinformation som du skickade i Set-AksHciRegistration 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 installationsproblem och fel .

Skala ett Kubernetes-kluster

Om du behöver skala upp eller ned klustret kan du ändra antalet kontrollplansnoder med kommandot Set-AksHciCluster , och du kan ändra antalet Linux- eller Windows-arbetsnoder i nodpoolen med 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. AKS på Azure Stack HCI och Windows Server introducerar nodpooler i arbetsbelastningskluster nu, så det här kommandot kan bara användas för att skala arbetsnoder om klustret skapades med den gamla parameteruppsättningen 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 Hjälp av Helm.

Get-AksHciCredential -name mycluster

Ta bort ett Kubernetes-kluster

Om du behöver ta bort ett Kubernetes-kluster kör du följande kommando.

Remove-AksHciCluster -name mycluster

Anteckning

Kontrollera att klustret har tagits 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. Detta bör göras 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 utdatamapp med namnet akshcilogs.zip i arbetskatalogen. Den fullständiga sökvägen till akshcilogs.zip mappen är utdata när du har kört kommandot nedan.

Get-AksHciLogs

I den här snabbstarten har du lärt dig hur du konfigurerar en AKS-värd och skapar AKS på Azure Stack HCI- och Windows Server-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