Självstudie: Distribuera ett arbetsbelastningskluster på Azure Kubernetes Service på Azure Stack HCI och Windows Server

Kubernetes tillhandahåller en distribuerad plattform för containerbaserade program. I den här självstudien distribueras del tre av sju, en Azure Kubernetes Service (AKS) i Azure Stack HCI och Windows Server-kluster i AKS på Azure Stack HCI och Windows Server. Du lär dig följande:

  • Distribuera ett AKS-kluster på Azure Stack HCI
  • Installera Kubernetes CLI (kubectl)
  • Konfigurera kubectl för att ansluta till ditt arbetsbelastningskluster

I senare självstudier distribueras Azure Vote-programmet till klustret, skalas och uppdateras.

Innan du börjar

I tidigare självstudier skapades en behållaravbildning som sedan överfördes till en Azure Container Registry-instans. Om du inte har gjort de här stegen börjar du med Självstudie 1 – Skapa containeravbildningar.

I den här självstudien används AksHci PowerShell-modulen.

På alla noder i ditt Azure Stack HCI-kluster eller Windows Server-kluster

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 Stack HCI- eller Windows Server-kluster:

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

Du måste stänga alla befintliga PowerShell-fönster igen för att se till att inlästa moduler uppdateras. Fortsätt inte till nästa steg förrän du har stängt alla öppna PowerShell-fönster.

Installera AKS-HCI PowerShell-modulen genom att köra följande kommando på alla noder i ditt Azure Stack HCI- eller Windows Server-kluster:

Install-Module -Name AksHci -Repository PSGallery
Exit

Du måste stänga alla befintliga PowerShell-fönster igen för att se till att inlästa moduler uppdateras. Fortsätt inte till nästa steg förrän du har stängt 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 AKS-distributionen.

Verifiera installationen

Get-Command -Module AksHci

En fullständig lista över AksHci PowerShell-kommandon finns i AksHci PowerShell.

Installera Azure Kubernetes Service-värden

Först måste du konfigurera dina registreringsinställningar.

Set-AksHciRegistration -subscription mysubscription -resourceGroupName myresourcegroup

Du måste anpassa dessa värden enligt namnet på din Azure-prenumeration och resursgrupp.

Kör sedan följande kommando för att säkerställa att alla krav på varje fysisk nod är uppfyllda för att installera Azure Kubernetes-tjänsten på Azure Stack HCI.

Initialize-AksHciNode

Nu ska vi skapa ett virtuellt nätverk. Du måste hämta namnen på dina tillgängliga externa växlar:

Get-VMSwitch

Exempel på utdata:

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

Kör följande kommando för att skapa ett virtuellt nätverk med statisk IP-adress.

$vnet = New-AksHciNetworkSetting -name myvnet -vSwitchName "extSwitch" -macPoolName myMacPool -k8sNodeIpPoolStart "172.16.10.0" -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

Konfigurera sedan distributionen med följande kommando.

Set-AksHciConfig -imageDir c:\clusterstorage\volume1\Images -cloudConfigLocation c:\clusterstorage\volume1\Config -vnet $vnet -cloudservicecidr "172.16.10.10/16" 

Nu är du redo att installera AKS på Azure Stack HCI och Windows Server-värden.

Install-AksHCi

Skapa ett Kubernetes-kluster

Skapa ett Kubernetes-kluster med kommandot New-AksHciCluster. I följande exempel skapas ett kluster med namnet mycluster med en Linux-nodpool med namnet linuxnodepool med nodantalet 1.

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

Kontrollera att distributionen lyckades genom att köra följande kommando.

Get-AksHcicluster -name mycluster

Utdata:

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

Anteckning

Om du använder de nya parameteruppsättningarna i New-AksHciCluster för att distribuera ett kluster och sedan kör Get-AksHciCluster för att hämta klusterinformationen returnerar 0fälten WindowsNodeCount och LinuxNodeCount i utdata . Om du vill hämta det korrekta antalet noder i varje nodpool använder du kommandot Get-AksHciNodePool med det angivna klusternamnet.

Kör följande Get-AksHciNodePool PowerShell-kommando för att hämta en lista över nodpoolerna i klustret.

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

Installera Kubernetes CLI

När du ska ansluta till Kubernetes-klustret från din lokala dator använder du kubectl, Kubernetes kommandoradsklient.

Ansluta till klustret med kubectl

Om du vill konfigurera kubectl för att ansluta till ditt Kubernetes-kluster använder du kommandot Get-AksHciCredential . I följande exempel hämtas autentiseringsuppgifter för klustret med namnet mycluster.

Get-AksHciCredential -name mycluster

Kontrollera anslutningen till klustret genom att köra kommandot kubectl get nodes för att returnera en lista över klusternoderna:

kubectl get nodes

Utdata:

NAME              STATUS   ROLES                  AGE     VERSION
moc-lbs6got5dqo   Ready    <none>                 6d20h   v1.20.7
moc-lel7tzxdt30   Ready    control-plane,master   6d20h   v1.20.7

Nästa steg

I den här självstudiekursen distribuerade du ett Kubernetes-kluster i AKS och konfigurerade kubectl för anslutning till klustret. Du har lärt dig att:

  • Distribuera ett AKS-kluster på Azure Stack HCI
  • Installera Kubernetes CLI (kubectl)
  • Konfigurera kubectl för anslutning till ditt AKS-kluster

Gå vidare till nästa självstudie och lär dig hur du distribuerar ett program i klustret.