Delen via


Een Azure Kubernetes Service-host instellen op Azure Local en Windows Server en een workloadcluster implementeren met behulp van PowerShell

Van toepassing op: Lokaal azure- 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 Local en Windows Server met behulp van PowerShell. Zie Instellen met Windows Admin Center als u in plaats daarvan Windows Admin Center wilt gebruiken.

Notitie

Voordat u begint

  • Zorg ervoor dat u aan alle vereisten in systeemvereisten hebt voldaan.
  • 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 lokale Azure-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 Lokale Azure- 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 Lokale Azure- 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 eventuele problemen met de Versie van PowerShell in uw AKS-implementatie te voorkomen.

Uw installatie valideren

Get-Command -Module AksHci

Zie AksHci PowerShell om de volledige lijst met AksHci PowerShell-opdrachten weer te geven.

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 Opdracht Connect-AzAccount PowerShell uit om u aan te melden bij Azure:

Connect-AzAccount

Als u wilt overschakelen naar een ander abonnement, voert u de opdracht Set-AzContext PowerShell 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 het 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 door Arc is voldaan. Open PowerShell als beheerder en voer de volgende opdracht Initialize-AksHciNode uit op alle knooppunten in uw Lokale Azure- en Windows Server-cluster:

Initialize-AksHciNode

Stap 2: Een virtueel netwerk maken

Voer de volgende opdrachten uit op een willekeurig knooppunt in uw Lokale Azure- en Windows Server-cluster.

Voer de volgende opdracht uit om de namen van uw beschikbare switches op te halen. Zorg ervoor dat de SwitchType 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 die u wilt gebruiken, maakt u een omgevingsvariabele met de opdracht New-AksHciNetworkSetting PowerShell. Dit virtuele netwerk wordt later gebruikt om een implementatie te configureren 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 concepten van netwerkknooppunten 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 aanpassen die in deze voorbeeldopdracht voor uw omgeving worden weergegeven.

Stap 3: uw implementatie configureren

Voer de volgende opdrachten uit op een willekeurig knooppunt in uw Lokale Azure- en Windows Server-cluster.

Gebruik de opdracht Set-AksHciConfig om de configuratie-instellingen voor de AKS-host te maken. U moet de imageDir, workingDiren cloudConfigLocation parameters 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 aanpassen die in deze voorbeeldopdracht voor uw omgeving worden weergegeven.

Stap 4: Aanmelden bij Azure en registratie-instellingen configureren

Optie 1: Gebruik uw Microsoft Entra-account als u de machtigingen 'Eigenaar' hebt

Voer de volgende PowerShell-opdracht Set-AksHciRegistration uit met de naam van uw abonnement en resourcegroep 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 eigenaar bent, kunt u uw AKS-host registreren bij Azure voor facturering met behulp van een service-principal. Zie AKS registreren in Azure Local 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 een willekeurig knooppunt in uw Lokale Azure- of Windows Server-cluster.

Nadat u de 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 deze 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 tijdens de registratie is ingesteld. Verwijder deze resource niet, zoals deze uw AKS-host vertegenwoordigt. U kunt de resource identificeren door het bijbehorende distributieveld te controleren op een waarde van aks_management. Als u deze resource verwijdert, resulteert dit in een out-of-policy-implementatie.

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 knooppuntaantal 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 het abonnement en de resourcegroepgegevens die u hebt doorgegeven in de Set-AksHciRegistration opdracht:

Connect-AzAccount
Enable-AksHciArcConnection -name mycluster

Notitie

Als u problemen of foutberichten ondervindt tijdens het installatieproces, raadpleegt u bekende installatieproblemen en -fouten 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 de schaal van 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 Local 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 kubectl

Voer de Opdracht Get-AksHciCredential PowerShell uit om toegang te krijgen tot uw Kubernetes-clusters met behulp van kubectl. Hiermee 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 wordt verwijderd door te kijken naar de bestaande VM's in Hyper-V-beheer. Als ze niet worden verwijderd, kunt u de VIRTUELE machines 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 die wordt aangeroepen 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