Een Azure Kubernetes Service host instellen in Azure Stack HCI en Windows Server en een workloadcluster implementeren met behulp van PowerShell

Van toepassing op: Azure Stack HCI of Windows Server Datacenter

In deze quickstart wordt u begeleid bij het instellen van een AKS-host (Azure Kubernetes Service). U maakt Kubernetes-clusters in Azure Stack HCI en Windows Server met behulp van PowerShell. Zie Instellen met Windows Admin Center als u Windows Admin Center wilt gebruiken.

Notitie

Voordat u begint

  • Zorg ervoor dat u aan alle vereisten in de systeemvereisten voldoet.
  • Gebruik een Azure-account om uw AKS-host te registreren voor facturering. Zie Azure-vereisten voor meer informatie.

De AksHci PowerShell-module installeren

Volg deze stappen op alle knooppunten in uw Azure Stack HCI-cluster of Windows Server-cluster:

Notitie

Als u externe PowerShell gebruikt, moet u CredSSP gebruiken.

  1. Sluit alle geopende PowerShell-vensters, open een nieuwe PowerShell-sessie als beheerder en voer de volgende opdracht uit op alle knooppunten in uw Azure Stack HCI- of Windows Server-cluster:

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

    U moet alle bestaande PowerShell-vensters opnieuw sluiten om ervoor te zorgen dat geladen modules worden vernieuwd. Ga niet verder met de volgende stap totdat u alle geopende PowerShell-vensters sluit.

  2. Installeer de AKS-HCI PowerShell-module door de volgende opdracht uit te voeren op alle knooppunten in uw Azure Stack HCI- of Windows Server-cluster:

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

    U moet alle bestaande PowerShell-vensters opnieuw sluiten om ervoor te zorgen dat geladen modules worden vernieuwd. Ga niet verder met de volgende stap totdat u alle geopende PowerShell-vensters sluit.

U kunt een helperscript gebruiken om oude AKS-HCI PowerShell-modules te verwijderen om problemen met de PowerShell-versie in uw AKS-implementatie te voorkomen.

Uw installatie valideren

Get-Command -Module AksHci

Zie AksHci PowerShell voor de volledige lijst met AksHci PowerShell-opdrachten.

De resourceprovider registreren bij uw abonnement

Schakel vóór het registratieproces de juiste resourceprovider in Azure for AKS in die is ingeschakeld door Arc-registratie. Voer hiervoor de volgende PowerShell-opdrachten uit:

Voer de PowerShell-opdracht Connect-AzAccount uit om u aan te melden bij Azure:

Connect-AzAccount

Als u wilt overschakelen naar een ander abonnement, voert u de PowerShell-opdracht Set-AzContext uit:

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

Voer de volgende opdrachten uit om uw Azure-abonnement te registreren bij Kubernetes-resourceproviders met Azure Arc. Dit registratieproces kan maximaal 10 minuten duren, maar hoeft slechts eenmaal te worden uitgevoerd voor een specifiek abonnement:

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

Voer de volgende PowerShell-opdrachten uit om het registratieproces te valideren:

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

Stap 1: uw machine(s) voorbereiden voor implementatie

Voer controles uit op elk fysiek knooppunt om te zien of aan alle vereisten voor het installeren van AKS met Arc is voldaan. Open PowerShell als beheerder en voer de volgende opdracht Initialize-AksHciNode uit op alle knooppunten in uw Azure Stack HCI- en Windows Server-cluster:

Initialize-AksHciNode

Stap 2: Een virtueel netwerk maken

Voer de volgende opdrachten uit op één knooppunt in uw Azure Stack HCI- en Windows Server-cluster.

Voer de volgende opdracht uit om de namen van de beschikbare schakelopties op te halen. Zorg ervoor dat de SwitchType van uw VM-switch 'Extern' is:

Get-VMSwitch

Voorbeelduitvoer:

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

Als u een virtueel netwerk wilt maken voor de knooppunten in uw implementatie, maakt u een omgevingsvariabele met de PowerShell-opdracht New-AksHciNetworkSetting . Dit virtuele netwerk wordt later gebruikt voor het configureren van een implementatie die gebruikmaakt van een statisch IP-adres. Als u uw AKS-implementatie wilt configureren met DHCP, raadpleegt u New-AksHciNetworkSetting voor voorbeelden. U kunt ook enkele netwerkknooppuntconcepten bekijken.

#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

Notitie

U moet de waarden die in deze voorbeeldopdracht worden weergegeven, aanpassen voor uw omgeving.

Stap 3: uw implementatie configureren

Voer de volgende opdrachten uit op één knooppunt in uw Azure Stack HCI- en Windows Server-cluster.

Gebruik de opdracht Set-AksHciConfig om de configuratie-instellingen voor de AKS-host te maken. U moet de imageDirparameters , workingDiren cloudConfigLocation opgeven. Als u de configuratiegegevens opnieuw wilt instellen, voert u de opdracht opnieuw uit met nieuwe parameters.

Configureer uw implementatie met de volgende opdracht:

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

Notitie

U moet de waarden die in deze voorbeeldopdracht worden weergegeven, aanpassen voor uw omgeving.

Stap 4: Aanmelden bij Azure en registratie-instellingen configureren

Optie 1: uw Microsoft Entra-account gebruiken als u de machtiging Eigenaar hebt

Voer de volgende Set-AksHciRegistration PowerShell-opdracht uit met uw abonnement en resourcegroepnaam om u aan te melden bij Azure. U moet een Azure-abonnement en een bestaande Azure-resourcegroep hebben in de Azure-regio's Australië - oost, VS - oost, Azië - zuidoost of Europa - west:

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

Optie 2: Een Azure-service-principal gebruiken

Als u geen toegang hebt tot een abonnement waarvoor u een 'eigenaar' bent, kunt u uw AKS-host registreren bij Azure voor facturering met behulp van een service-principal. Zie AKS registreren in Azure Stack HCI en Windows Server met behulp van een service-principal voor meer informatie over het gebruik van een service-principal.

Stap 5: Een nieuwe implementatie starten

Voer de volgende opdracht uit op één knooppunt in uw Azure Stack HCI- of Windows Server-cluster.

Nadat u uw implementatie hebt geconfigureerd, moet u deze starten om de AKS-agents/-services en de AKS-host te installeren. Voer de volgende opdracht uit om de implementatie te starten:

Tip

Als u aanvullende statusdetails wilt zien tijdens de installatie, stelt u in $VerbosePreference = "Continue" voordat u doorgaat.

Install-AksHci

Waarschuwing

Tijdens de installatie van uw AKS-host wordt een Kubernetes - Azure Arc-resourcetype gemaakt in de resourcegroep die is ingesteld tijdens de registratie. Verwijder deze resource niet, omdat deze uw AKS-host vertegenwoordigt. U kunt de resource identificeren door het distributieveld te controleren op een waarde van aks_management. Als u deze resource verwijdert, resulteert dit in een implementatie buiten het beleid.

Stap 6: Een Kubernetes-cluster maken

Nadat u uw AKS-host hebt geïnstalleerd, kunt u een Kubernetes-cluster implementeren. Open PowerShell als beheerder en voer de volgende opdracht New-AksHciCluster uit . Met deze voorbeeldopdracht maakt u een nieuw Kubernetes-cluster met één Linux-knooppuntgroep met de naam linuxnodepool met het aantal knooppunten van 1.

Zie Knooppuntgroepen gebruiken in AKS voor meer informatie over knooppuntgroepen.

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

Uw geïmplementeerde clusters controleren

Voer de volgende Get-AksHciCluster PowerShell-opdracht uit om een lijst met uw geïmplementeerde Kubernetes-clusters op te halen:

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

Voer de volgende Get-AksHciNodePool PowerShell-opdracht uit om een lijst met de knooppuntgroepen in het cluster op te halen:

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

Stap 7: uw cluster verbinden met Kubernetes met Arc

Verbind uw cluster met Kubernetes met Arc door de opdracht Enable-AksHciArcConnection uit te voeren. In het volgende voorbeeld wordt uw Kubernetes-cluster verbonden met Arc met behulp van de abonnements- en resourcegroepgegevens die u in de Set-AksHciRegistration opdracht hebt doorgegeven:

Connect-AzAccount
Enable-AksHciArcConnection -name mycluster

Notitie

Als u problemen of foutberichten tegenkomt tijdens het installatieproces, raadpleegt u bekende problemen en fouten bij de installatie voor meer informatie.

Een Kubernetes-cluster schalen

Als u het cluster omhoog of omlaag wilt schalen, kunt u het aantal besturingsvlakknooppunten wijzigen met behulp van de opdracht Set-AksHciCluster . Als u het aantal Linux- of Windows-werkknooppunten in uw knooppuntgroep wilt wijzigen, gebruikt u de opdracht Set-AksHciNodePool .

Voer de volgende opdracht uit om besturingsvlakknooppunten te schalen:

Set-AksHciCluster -name mycluster -controlPlaneNodeCount 3

Voer de volgende opdracht uit om de werkknooppunten in uw knooppuntgroep te schalen:

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

Notitie

In eerdere versies van AKS op Azure Stack HCI en Windows Server werd de opdracht Set-AksHciCluster ook gebruikt om werkknooppunten te schalen. Nu AKS knooppuntgroepen in workloadclusters introduceert, kunt u deze opdracht alleen gebruiken om werkknooppunten te schalen als uw cluster is gemaakt met de oude parameterset in New-AksHciCluster.

Als u werkknooppunten in een knooppuntgroep wilt schalen, gebruikt u de opdracht Set-AksHciNodePool .

Toegang tot uw clusters met behulp van kubectl

Voer de PowerShell-opdracht Get-AksHciCredential uit om toegang te krijgen tot uw Kubernetes-clusters met behulp van kubectl. Hierbij wordt het kubeconfig-bestand van het opgegeven cluster gebruikt als het standaard kubeconfig-bestand voor kubectl. U kunt kubectl ook gebruiken om toepassingen te implementeren met behulp van Helm:

Get-AksHciCredential -name mycluster

Een Kubernetes-cluster verwijderen

Voer de volgende opdracht uit om een Kubernetes-cluster te verwijderen:

Remove-AksHciCluster -name mycluster

Notitie

Zorg ervoor dat uw cluster is verwijderd door te kijken naar de bestaande VM's in Hyper-V-beheer. Als ze niet worden verwijderd, kunt u de VM's handmatig verwijderen. Voer vervolgens de opdracht Restart-Service wssdagentuit. Voer deze opdracht uit op elk knooppunt in het failovercluster.

Logboeken ophalen

Als u logboeken van al uw pods wilt ophalen, voert u de opdracht Get-AksHciLogs uit. Met deze opdracht maakt u een gezipte uitvoermap met de naam akshcilogs.zip in uw werkmap. Het volledige pad naar de akshcilogs.zip map is de uitvoer na het uitvoeren van de volgende opdracht:

Get-AksHciLogs

In deze quickstart hebt u geleerd hoe u een AKS-host instelt en Kubernetes-clusters maakt met behulp van PowerShell. U hebt ook geleerd hoe u PowerShell gebruikt om een Kubernetes-cluster te schalen en toegang te krijgen tot clusters met kubectl.

Volgende stappen