Freigeben über


Tutorial: Bereitstellen virtueller Knoten in Azure Container Instances in Ihrem Azure Container Service-Cluster

In diesem Tutorial verwenden Sie das Azure-Portal, um einen AKS-Cluster (Azure Kubernetes Service) bereitzustellen. Nach der Bereitstellung des AKS-Clusters verwenden Sie ein Helm-Chart, um virtuelle Knoten in Azure Container Instances bereitzustellen.

Voraussetzungen

In diesem Tutorial wird davon ausgegangen, dass die folgenden Tools installiert sind:

  • Azure CLI
  • kubectl (Version 1.29 oder höher)
  • Helm
  • Git

Anmelden bei Azure

Melden Sie sich unter https://portal.azure.com beim Azure-Portal an.

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Erstellen eines virtuellen Netzwerks für Ihren AKS-Cluster

Wählen Sie auf der Startseite des Azure-Portals Ressource erstellen aus.

Screenshot der ersten Schritte bei der Erstellung eines neuen virtuellen Netzwerks im Azure-Portal

Wählen Sie Netzwerk>Virtuelles Netzwerk aus.

Screenshot der Auswahl eines neu zu erstellenden virtuellen Netzwerks im Azure-Portal

Wählen Sie auf der Seite Grundlagen ein Abonnement aus, und geben Sie die folgenden Werte ein:

  • Ressourcengruppe: Neue erstellen>virtualnodesresourcegroup
  • Name des virtuellen Netzwerks: myvirtualnetwork
  • Region: East US

Screenshot der Konfiguration auf der Seite „Grundlagen“ bei der Erstellung virtueller Netzwerke im Azure-Portal

Konfigurieren Sie auf der Seite IP-Adressen die folgenden Adressräume und Subnetze:

  • 10.0.0.0/16: default-Subnetz der Größe /24
  • 10.1.0.0/16: aks-Subnetz der Größe /16
  • 10.2.0.0/16: cg-Subnetz der Größe /16

Screenshot der Konfigurationen auf der Seite „IP-Adressen“ bei der Erstellung virtueller Netzwerke im Azure-Portal

Behalten Sie für alle anderen Einstellungen die Standardwerte bei, und wählen Sie dann Überprüfen + erstellen aus.

Nach Abschluss der Überprüfung wird eine Zusammenfassung der Containereinstellungen angezeigt. Wählen Sie Erstellen aus, um Ihre Bereitstellungsanforderung für virtuelle Netzwerke zu übermitteln.

Wenn die Bereitstellung startet, wird eine Benachrichtigung mit dem Hinweis angezeigt, dass die Bereitstellung durchgeführt wird. Es wird eine weitere Benachrichtigung angezeigt, nachdem das virtuelle Netzwerk bereitgestellt wurde.

Erstellen Ihres AKS-Clusters

Wählen Sie auf der Startseite des Azure-Portals Ressource erstellen aus.

Screenshot der ersten Schritte bei der Erstellung eines neuen virtuellen Netzwerks im Azure-Portal

Wählen Sie Container>Azure Kubernetes Service (AKS) aus.

Screenshot der Auswahl eines neu zu erstellenden AKS-Clusters im Azure-Portal

Wählen Sie auf der Seite Grundlagen dasselbe Abonnement aus, das Sie zum Erstellen des virtuellen Netzwerks verwendet haben, und geben Sie die folgenden Werte ein:

  • Ressourcengruppe: virtualnodesresourcegroup
  • Vordefinierte Clusterkonfiguration: Dev/Test
  • Name des Kubernetes-Clusters: virtualnodescluster
  • Region: East US
  • Kubernetes-Version: beliebige Version ab 1.29., z. B. 1.29.10
  • Automatisches Upgrade: Enabled with patch

Screenshot der Konfiguration auf der Seite „Grundlagen“ bei der Erstellung von AKS-Clustern im Azure-Portal

Wählen Sie auf der Seite Knotenpools eine beliebige VM-SKU mit mindestens 4 vCPUs und 16 GB RAM für den Knotenpool agentpool aus. Diese Knoten werden zum Hosten der Infrastruktur für die virtuellen Knoten verwendet. Wählen Sie nicht Enable virtual nodes aus. Diese Einstellung gilt für das alte AKS-Angebot für virtuelle Knoten.

Screenshot der Konfiguration auf der Seite „Knotenpools“ bei der Erstellung von AKS-Clustern im Azure-Portal

Geben Sie auf der Seite Netzwerk die folgenden Werte ein:

  • Netzwerkkonfiguration: Azure CNI Node Subnet
  • Eigenes virtuelles Azure-Netzwerk: Enabled
  • Virtuelles Netzwerk: myvirtualnetwork
  • Clustersubnetz: aks
  • Adressbereich für Kubernetes Service: 10.4.0.0/16
  • IP-Adresse des Kubernetes-DNS-Diensts: 10.4.0.10
  • Netzwerkrichtlinie: Calico

Screenshot der Konfiguration auf der Seite „Netzwerk“ bei der Erstellung von AKS-Clustern im Azure-Portal

Behalten Sie für alle anderen Einstellungen die Standardwerte bei, und wählen Sie dann Überprüfen + erstellen aus.

Nach Abschluss der Überprüfung wird eine Zusammenfassung der Einstellungen des AKS-Clusters angezeigt. Wählen Sie Erstellen aus, um Ihre Bereitstellungsanforderung für den AKS-Cluster zu übermitteln.

Wenn die Bereitstellung startet, wird eine Benachrichtigung mit dem Hinweis angezeigt, dass die Bereitstellung durchgeführt wird. Es wird eine weitere Benachrichtigung angezeigt, nachdem der AKS-Cluster bereitgestellt wurde.

Zuweisen von Berechtigungen zur verwalteten Identität des AKS-Clusters

Wenn Sie einen AKS-Cluster bereitstellen, erstellt AKS eine Knotenressourcengruppe im selben Abonnement wie die Hostinfrastruktur des Clusters. Standardmäßig hat diese Ressourcengruppe einen Namen wie MC_<resource group>_<AKS cluster>_<region>. In diesem Tutorial sollte die Knotenressourcengruppe den Namen MC_virtualnodesresourcegroup_virtualnodescluster_eastus haben.

Eine der in der Knotenressourcengruppe erstellten Ressourcen ist eine verwaltete Identität mit dem Namen virtualnodescluster_agentpool. Navigieren Sie zu dieser verwalteten Identität, und wählen Sie Azure-Rollenzuweisungen aus. Fügen Sie anschließend die folgenden beiden Rollenzuweisungen hinzu:

  • Geltungsbereich: Resource group
  • Abonnement: <your subscription name>
  • Ressourcengruppe: MC_virtualnodesresourcegroup_virtualnodescluster_eastus
  • Rolle: Contributor

Diese Rollenzuweisung ermöglicht die Erstellung von ACI-Containergruppen in der Knotenressourcengruppe.

  • Geltungsbereich: Resource group
  • Abonnement: <your subscription name>
  • Ressourcengruppe: virtualnodesresourcegroup
  • Rolle: Contributor

Mit dieser Rollenzuweisung können ACI-Containergruppen in das virtuelle Netzwerk eingefügt werden, das Sie in dieser Ressourcengruppe erstellt haben.

Screenshot des Hinzufügens von Rollenzuweisungen zur verwalteten AKS-Identität

Installieren virtueller Knoten in Azure Container Instances mithilfe eines Helm-Charts

Verwenden Sie die Azure-Befehlszeilenschnittstelle, um Konfiguration und Anmeldeinformationen des erstellten AKS-Clusters abzurufen. Dadurch wird kubectl für Ihren AKS-Cluster konfiguriert.

az login

az account set --subscription <your subscription ID>

az aks get-credentials --name virtualnodescluster --resource-group virtualnodesresourcegroup

Darüber hinaus registrieren Sie den ACI-Ressourcenanbieter in Ihrem Abonnement, damit Sie Containergruppen bereitstellen können.

az provider register -n Microsoft.ContainerInstance

Klonen Sie das GitHub-Repository virtualnodesOnAzureContainerInstances. Das Helm-Chart zum Installieren virtueller Knoten in Azure Container Instances befindet sich im Ordner Helm/virtualnode.

Verwenden Sie den folgenden Befehl, um das Helm-Chart zu installieren:

helm install virtualnode <cloned repository location>\Helm\virtualnode

Innerhalb einer Minute wird ein neuer virtueller Knoten registriert und im AKS-Cluster mit dem Status „Bereit“ angezeigt. Sie können den Status Ihrer AKS-Clusterknoten mit kubectl überprüfen.

kubectl get nodes

Screenshot der Ausgabe des kubectl-Befehls zum Abrufen von Knoten mit einem virtuellen Knoten im Status „Bereit“

Bereitstellen des ersten Pods auf einem virtuellen Knoten

Sie können mit virtuellen Knoten wie mit allen anderen Kubernetes-Knoten interagieren. Beispielsweise stellt das folgende YAML-Beispiel einen Pod auf dem virtuellen Knoten in Ihrem AKS-Cluster bereit. Beachten Sie die Verwendung von Knotenselektoren und Toleranzen, um den Pod geeignet zu platzieren. Sie können den YAML-Code mithilfe von kubectl apply bereitstellen.

apiVersion: v1
kind: Pod
metadata:
  annotations:    
  name: demo-pod
spec:
  containers:
  - command:
    - /bin/bash
    - -c
    - 'counter=1; while true; do echo "Hello, World! Counter: $counter"; counter=$((counter+1)); sleep 1; done'
    image: mcr.microsoft.com/azure-cli
    name: hello-world-counter
    resources:
      limits:
        cpu: 2250m
        memory: 2256Mi
      requests:
        cpu: 100m
        memory: 128Mi
  nodeSelector:
    virtualization: virtualnode2
  tolerations:
  - effect: NoSchedule
    key: virtual-kubelet.io/provider
    operator: Exists

Nachdem Ihr Pod bereitgestellt wurde, können Sie genau wie mit einem normalen Kubernetes-Pod damit interagieren.

So zeigen Sie beispielsweise den Podstatus und die Ereignisse (nützlich für die Fehlersuche) an

kubectl describe pods demo-pod

So zeigen Sie Protokolle für den Pod an

kubectl logs demo-pod

So rufen Sie eine Shell für den Pod ab

kubectl exec demo-pod -it -- /bin/bash

Nächste Schritte

In diesem Tutorial haben Sie einen AKS-Cluster im Azure-Portal erstellt und virtuelle Knoten in Azure Container Instances mithilfe eines Helm-Charts sowie einen Pod auf Ihrem virtuellen Knoten bereitgestellt. Sie verfügen damit über grundlegende Kenntnisse darüber, wie Kubernetes-Pods auf Ihren virtuellen Knoten ausgeführt werden, und können die meisten Kubernetes-Funktionen verwenden und direkt Pods auf den Knoten erstellen!

Wenn Sie spezielle Funktionen für virtuelle Knoten oder Verhaltensweisen für Ihre Pods verwenden möchten, lesen Sie Podanpassungen.

Wenn Sie Ihre Installation von virtuellen Knoten anpassen möchten, lesen Sie Knotenanpassungen.

Wenn Sie planen, sehr große Workloads (Tausende von Pods pro Minute) auf virtuellen Knoten bereitzustellen, sehen Sie sich die bewährten Methoden und Empfehlungen an.