Dela via


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

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.

  1. 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.

  2. 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, workingDiroch 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.

Nästa steg