Freigeben über


Lernprogramm: Bereitstellen eines Workloadclusters auf AKS, die von Arc aktiviert sind

Gilt für: AKS auf Azure Stack HCI 22H2, AKS unter Windows Server

Kubernetes bietet eine verteilte Plattform für containerbasierte Anwendungen.

In diesem Lernprogramm, Teil 3 von sieben, wird ein Kubernetes-Cluster auf AKS auf Azure Local bereitgestellt. Sie lernen Folgendes:

  • Bereitstellen eines AKS-Clusters auf Azure Local
  • Installieren der Kubernetes-Befehlszeilenschnittstelle (kubectl)
  • Konfigurieren von kubectl für die Verbindungsherstellung mit Ihrem Workloadcluster

In nachfolgenden Tutorials wird die Anwendung Azure Vote im Cluster bereitgestellt, skaliert und aktualisiert.

Voraussetzungen

In vorherigen Tutorials wurde ein Containerimage erstellt und in eine Azure Container Registry-Instanz hochgeladen. Wenn Sie diese Schritte nicht ausgeführt haben, beginnen Sie mit Tutorial 1: Erstellen von Containerimages.

In diesem Tutorial wird das PowerShell-Modul „AksHci“ verwendet.

Führen Sie die folgenden Schritte auf allen Knoten in Ihrem lokalen Azure-Cluster oder Windows Server-Cluster aus:

Hinweis

Wenn Sie Remote-PowerShell verwenden, müssen Sie CredSSP verwenden.

  1. Schließen Sie alle geöffneten PowerShell-Fenster, öffnen Sie eine neue PowerShell-Sitzung als Administrator, und führen Sie den folgenden Befehl auf allen Knoten in Ihrem lokalen Azure- oder Windows Server-Cluster aus:

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

    Sie müssen alle vorhandenen PowerShell-Fenster erneut schließen, um sicherzustellen, dass geladene Module aktualisiert werden. Fahren Sie nicht mit dem nächsten Schritt fort, bis Sie alle geöffneten PowerShell-Fenster schließen.

  2. Installieren Sie das AKS-HCI PowerShell-Modul, indem Sie den folgenden Befehl auf allen Knoten in Ihrem lokalen Azure- oder Windows Server-Cluster ausführen:

    Install-Module -Name AksHci -Repository PSGallery -Force -AcceptLicense
    

    Sie müssen alle vorhandenen PowerShell-Fenster erneut schließen, um sicherzustellen, dass geladene Module aktualisiert werden. Fahren Sie nicht mit dem nächsten Schritt fort, bis Sie alle geöffneten PowerShell-Fenster schließen.

Sie können ein Hilfsskript verwenden, um alte AKS-HCI PowerShell-Module zu löschen, um Probleme im Zusammenhang mit der PowerShell-Version in Ihrer AKS-Bereitstellung zu vermeiden.

Überprüfen Ihrer Installation

Get-Command -Module AksHci

Die vollständige Liste der AksHci-PowerShell-Befehle finden Sie unter PowerShell-Modul „AksHci“.

Installieren des Azure Kubernetes-Diensthosts

Konfigurieren Sie zunächst Ihre Registrierungseinstellungen.

Set-AksHciRegistration -subscription mysubscription -resourceGroupName myresourcegroup

Sie müssen diese Werte gemäß Ihrem Azure-Abonnement und Ressourcengruppennamen anpassen.

Führen Sie dann den folgenden Befehl aus, um sicherzustellen, dass alle Anforderungen für jeden physischen Knoten erfüllt sind, um AKS auf Azure Local zu installieren:

Initialize-AksHciNode

Erstellen Sie als Nächstes ein virtuelles Netzwerk. Sie benötigen die Namen Ihrer verfügbaren externen Switches:

Get-VMSwitch

Beispielausgabe:

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

Führen Sie den folgenden Befehl aus, um ein virtuelles Netzwerk mit statischer IP zu erstellen:

$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

Konfigurieren Sie Ihre Bereitstellung dann mit dem folgenden Befehl.

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

Jetzt können Sie den AKS-Host installieren:

Install-AksHCi

Erstellen eines Kubernetes-Clusters

Erstellen Sie mit dem Befehl New-AksHciCluster einen Kubernetes-Cluster. Im folgenden Beispiel wird ein Cluster mit einem Linux-Knotenpool erstellt mycluster linuxnodepool, der eine Knotenanzahl von 1 aufweist:

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

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Bereitstellung erfolgreich war.

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

Hinweis

Wenn Sie die neuen Parametersätze New-AksHciCluster verwenden, um einen Cluster bereitzustellen, und führen Sie dann aus Get-AksHciCluster , um die Clusterinformationen, die Felder WindowsNodeCount und LinuxNodeCount in der Ausgaberückgabe 0abzurufen. Um die genaue Anzahl von Knoten in jedem Knotenpool abzurufen, verwenden Sie den Befehl Get-AksHciNodePool mit dem angegebenen Clusternamen.

Um eine Liste der Knotenpools im Cluster abzurufen, führen Sie den folgenden Get-AksHciNodePool PowerShell-Befehl aus:

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

Installieren der Kubernetes-Befehlszeilenschnittstelle

Verwenden Sie kubectl, den Kubernetes-Befehlszeilenclient, um eine Verbindung mit dem Kubernetes-Cluster von Ihrem lokalen Computer herzustellen.

Herstellen einer Verbindung mit dem Cluster mithilfe von „kubectl“

Verwenden Sie den Befehl Get-AksHciCredential, um kubectl für die Verbindungsherstellung mit Ihrem Kubernetes-Cluster zu konfigurieren. Das folgende Beispiel ruft Anmeldeinformationen für den Cluster mit dem Namen myclusterab:

Get-AksHciCredential -name mycluster

Überprüfen Sie die Verbindung mit Ihrem Cluster mithilfe des Befehls kubectl get nodes, um eine Liste der Clusterknoten zu erhalten:

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ächste Schritte

In diesem Tutorial wurde ein Kubernetes-Cluster in AKS bereitgestellt, und Sie haben kubectl für die Verbindung damit konfiguriert. Sie haben Folgendes gelernt:

  • Bereitstellen eines AKS-Clusters auf Azure Local
  • Installieren der Kubernetes-Befehlszeilenschnittstelle (kubectl)
  • Konfigurieren von „kubectl“ für die Verbindung mit Ihrem AKS-Cluster

Fahren Sie mit dem nächsten Tutorial fort, um zu erfahren, wie eine Anwendung im Cluster bereitgestellt wird.