Självstudie: Distribuera ett arbetsbelastningskluster på AKS som aktiverats av Arc
Gäller för: AKS på Azure Stack HCI 22H2, AKS på Windows Server
Kubernetes tillhandahåller en distribuerad plattform för containerbaserade program.
I den här självstudien, del tre av sju, distribueras ett Kubernetes-kluster på AKS på Azure Local. Du lär dig att:
- Distribuera ett AKS-kluster på Azure Local
- 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 på Självstudie 1 – Skapa containeravbildningar.
I den här självstudien används 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.
Installera Azure Kubernetes Service-värden
Konfigurera först registreringsinställningarna.
Set-AksHciRegistration -subscription mysubscription -resourceGroupName myresourcegroup
Du måste anpassa dessa värden enligt azure-prenumerationen och resursgruppens namn.
Kör sedan följande kommando för att se till att alla krav på varje fysisk nod uppfylls för att installera AKS på Azure Local:
Initialize-AksHciNode
Skapa sedan ett virtuellt nätverk. Du behöver 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:
$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-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
, som har ett nodantal på 1:
New-AksHciCluster -name mycluster -nodePoolName linuxnodepool -nodeCount 1
Kontrollera att distributionen lyckades genom att köra följande kommando.
Get-AksHcicluster -name mycluster
ProvisioningState : provisioned
KubernetesVersion : v1.20.7
NodePools : linuxnodepool
WindowsNodeCount : 0
LinuxNodeCount : 0
ControlPlaneNodeCount : 1
Name : mycluster
Kommentar
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 0
fälten WindowsNodeCount
och LinuxNodeCount
i utdata . Om du vill få det korrekta antalet noder i varje nodpool använder du kommandot Get-AksHciNodePool
med det angivna klusternamnet.
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
Installera Kubernetes CLI
Om du vill ansluta till Kubernetes-klustret från den lokala datorn använder du kubectl, Kubernetes-kommandoradsklienten.
Ansluta till klustret med kubectl
Om du vill konfigurera kubectl
för att ansluta till kubernetes-klustret 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
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 Local
- 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.