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
- Als u vooraf voorbereide clusterserviceobjecten en DNS-records hebt, raadpleegt u Een AKS-host implementeren met voorbereide clusterserviceobjecten en DNS-records met behulp van PowerShell.
- Als u een proxyserver hebt, raadpleegt u Een AKS-host instellen en een workloadcluster implementeren met behulp van PowerShell en een proxyserver.
- Het installeren van AKS op Azure Local nadat u Arc-VM's hebt ingesteld, wordt niet ondersteund. Zie bekende problemen met Arc-VM's voor meer informatie. Als u AKS wilt installeren op Azure Local, moet u Arc Resource Bridge verwijderen en vervolgens AKS installeren op Azure Local. U kunt een nieuwe Arc Resource Bridge opnieuw implementeren nadat u AKS hebt opgeschoond en geïnstalleerd, maar de VM-entiteiten die u eerder hebt gemaakt, worden niet meer onthouden.
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.
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.
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
, workingDir
en 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 wssdagent
uit. 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
.