Konfigurera en Azure Kubernetes Service-värd på Azure Local och Windows Server och distribuera ett arbetsbelastningskluster med PowerShell
Gäller för: Azure Local eller Windows Server Datacenter
Den här snabbstarten vägleder dig genom att konfigurera en Azure Kubernetes Service-värd (AKS). Du skapar Kubernetes-kluster på Azure Local och Windows Server med hjälp av PowerShell. Information om hur du använder Windows Administrationscenter finns i Konfigurera med Windows Admin Center.
Kommentar
- Om du har förlagrade klustertjänstobjekt och DNS-poster läser du Distribuera en AKS-värd med förinstallerade klustertjänstobjekt och DNS-poster med Hjälp av PowerShell.
- Om du har en proxyserver kan du läsa Konfigurera en AKS-värd och distribuera ett arbetsbelastningskluster med hjälp av PowerShell och en proxyserver.
- Det går inte att installera AKS på Azure Local när du har konfigurerat virtuella Arc-datorer. Mer information finns i kända problem med virtuella Arc-datorer. Om du vill installera AKS på Azure Local måste du avinstallera Arc Resource Bridge och sedan installera AKS på Azure Local. Du kan distribuera en ny Arc Resource Bridge igen när du har rensat och installerat AKS, men den kommer inte ihåg de virtuella datorentiteter som du skapade tidigare.
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 Azure-krav.
Installera AksHci PowerShell-modulen
Följ dessa steg på alla noder i ditt Lokala Azure-kluster eller Windows Server-kluster:
Kommentar
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 Local- 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 säkerställa att inlästa moduler uppdateras. Fortsätt inte till nästa steg förrän du stänger alla öppna PowerShell-fönster.
Installera AKS-HCI PowerShell-modulen genom att köra följande kommando på alla noder i ditt Azure Local- 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 säkerställa 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 DIN AKS-distribution.
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 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 Kommandot Set-AzContext PowerShell:
Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"
Kör följande kommandon 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 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örbered 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 aktiverats av Arc är uppfyllda. Öppna PowerShell som administratör och kör följande Initialize-AksHciNode-kommando på alla noder i ditt Azure Local- och Windows Server-kluster:
Initialize-AksHciNode
Steg 2: Skapa ett virtuellt nätverk
Kör följande kommandon på en nod i ditt Azure Local- och Windows Server-kluster.
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 genom att skapa en miljövariabel med kommandot New-AksHciNetworkSetting PowerShell. Det här virtuella nätverket används senare för att konfigurera en distribution som använder statisk IP-adress. Om du vill konfigurera AKS-distributionen med DHCP kan du se Exempel på 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
Kommentar
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 ditt Azure Local- och Windows Server-kluster.
Om du vill skapa konfigurationsinställningarna för AKS-värden använder du kommandot Set-AksHciConfig . Du måste ange parametrarna imageDir
, workingDir
och 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
Kommentar
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örigheten "Ä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:
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 till 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 Local och Windows Server med hjälp av tjänstens huvudnamn.
Steg 5: Starta en ny distribution
Kör följande kommando på en nod i ditt Azure Local- eller Windows Server-kluster.
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:
Dricks
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 din AKS-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 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 ett nodantal på 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 Get-AksHciCluster PowerShell-kommando:
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: Anslut klustret till Arc-aktiverade 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
Kommentar
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 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
Kommentar
I tidigare versioner av AKS på Azure Local och Windows Server användes kommandot Set-AksHciCluster också 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 skapades med den gamla parametern i New-AksHciCluster.
Om du vill skala arbetsnoder i en nodpool använder du kommandot Set-AksHciNodePool .
Få åtkomst till 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
Kör följande kommando för att ta bort ett Kubernetes-kluster:
Remove-AksHciCluster -name mycluster
Kommentar
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 utdatamapp 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
.