Freigeben über


Schnellstart: Bereitstellen eines Clusters für den Azure Linux-Containerhost für AKS mithilfe der Azure CLI

Führen Sie erste Schritte mit dem Azure Linux-Containerhost mithilfe der Azure CLI aus, um einen Cluster für den Azure Linux-Containerhost für AKS bereitzustellen. Nach der Installation der erforderlichen Komponenten erstellen Sie eine Ressourcengruppe und einen AKS-Cluster, stellen eine Verbindung mit dem Cluster her und führen eine Beispielanwendung mit mehreren Containern im Cluster aus.

Voraussetzungen

Erstellen einer Ressourcengruppe

Eine Azure-Ressourcengruppe ist eine logische Gruppe, in der Azure-Ressourcen bereitgestellt und verwaltet werden. Beim Erstellen einer Ressourcengruppe muss ein Standort angegeben werden. Bei diesem Speicherort handelt es sich um Folgendes:

  • Speicherort der Metadaten der Ressourcengruppe
  • Ausführungsort für Ihre Ressourcen in Azure, sofern Sie bei der Ressourcenerstellung keine andere Region angeben.

Führen Sie den folgenden Schritt aus, um eine Ressourcengruppe mit dem Namen testAzureLinuxResourceGroup in der Region eastus zu erstellen:

Erstellen Sie mit dem Befehl az group create eine Ressourcengruppe.

az group create --name testAzureLinuxReourceGroup --location eastus

Die folgende Ausgabe ähnelt der erfolgreichen Erstellung Ihrer Ressourcengruppe:

{
  "id": "/subscriptions/<guid>/resourceGroups/testAzureLinuxResourceGroup",
  "location": "eastus",
  "managedBy": null,
  "name": "testAzureLinuxResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null
}

Hinweis

Im obigen Beispiel wird eastus verwendet, aber Azure Linux-Containerhostcluster sind in allen Regionen verfügbar.

Erstellen eines Azure Linux-Containerhostclusters

Erstellen Sie einen AKS-Cluster mithilfe des Befehls az aks create mit dem Parameter --os-sku, um den AKS-Cluster mit einem Azure Linux-Image bereitzustellen. Im folgenden Beispiel wird ein Azure Linux-Cluster mit dem Namen testAzureLinuxCluster mit einem Knoten erstellt:

az aks create --name testAzureLinuxCluster --resource-group testAzureLinuxResourceGroup --os-sku AzureLinux

Nach wenigen Minuten ist die Ausführung des Befehls abgeschlossen, und es werden Informationen zum Cluster im JSON-Format zurückgegeben.

Herstellen einer Verbindung mit dem Cluster

Verwenden Sie zum Verwalten eines Kubernetes-Clusters den Kubernetes-Befehlszeilenclient kubectl.

  1. Mit dem Befehl az aks get-credentials können Sie kubectl für die Verbindungsherstellung mit Ihrem Kubernetes-Cluster konfigurieren.
az aks get-credentials --resource-group testAzureLinuxResourceGroup --name testAzureLinuxCluster
  1. Überprüfen Sie die Verbindung mit dem Cluster mithilfe des Befehls kubectl get. Der Befehl gibt eine Liste der Pods zurück.
  kubectl get pods --all-namespaces

Bereitstellen der Anwendung

Eine Kubernetes-Manifestdatei definiert den gewünschten Zustand (Desired State) eines Clusters – also beispielsweise, welche Containerimages ausgeführt werden sollen.

In dieser Schnellstartanleitung verwenden Sie ein Manifest, um alle Objekte zu erstellen, die zum Ausführen der Azure Vote-Anwendung benötigt werden. Dieses Manifest umfasst zwei Kubernetes-Bereitstellungen:

  • Die Azure Vote-Python-Beispielanwendungen
  • Eine Redis-Instanz

Darüber hinaus werden zwei Kubernetes-Dienste erstellt:

  • Ein interner Dienst für die Redis-Instanz
  • Ein externer Dienst für den Zugriff auf die Azure Vote-Anwendung über das Internet
  1. Erstellen Sie eine Datei namens azure-vote.yaml, und fügen Sie das folgende Manifest ein.

    • Bei Verwendung von Azure Cloud Shell kann diese Datei mit code, vi oder nano erstellt werden, als ob Sie ein virtuelles oder physisches System verwenden.
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: azure-vote-back
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: azure-vote-back
      template:
        metadata:
          labels:
            app: azure-vote-back
        spec:
          nodeSelector:
            "kubernetes.io/os": linux
          containers:
          - name: azure-vote-back
            image: mcr.microsoft.com/oss/bitnami/redis:6.0.8
            env:
            - name: ALLOW_EMPTY_PASSWORD
              value: "yes"
            resources:
              requests:
                cpu: 100m
                memory: 128Mi
              limits:
                cpu: 250m
                memory: 256Mi
            ports:
            - containerPort: 6379
              name: redis
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: azure-vote-back
    spec:
      ports:
      - port: 6379
      selector:
        app: azure-vote-back
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: azure-vote-front
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: azure-vote-front
      template:
        metadata:
          labels:
            app: azure-vote-front
        spec:
          nodeSelector:
            "kubernetes.io/os": linux
          containers:
          - name: azure-vote-front
            image: mcr.microsoft.com/azuredocs/azure-vote-front:v1
            resources:
              requests:
                cpu: 100m
                memory: 128Mi
              limits:
                cpu: 250m
                memory: 256Mi
            ports:
            - containerPort: 80
            env:
            - name: REDIS
              value: "azure-vote-back"
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: azure-vote-front
    spec:
      type: LoadBalancer
      ports:
      - port: 80
      selector:
        app: azure-vote-front
    

    Eine Aufschlüsselung der YAML-Manifestdateien finden Sie unter Bereitstellungen und YAML-Manifeste.

  2. Stellen Sie die Anwendung über den Befehl kubectl apply bereit, und geben Sie den Namen Ihres YAML-Manifests an:

    kubectl apply -f azure-vote.yaml
    

    Das folgende Beispiel ähnelt der Ausgabe, die die erfolgreich erstellten Bereitstellungen und Dienste anzeigt:

    deployment "azure-vote-back" created
    service "azure-vote-back" created
    deployment "azure-vote-front" created
    service "azure-vote-front" created
    

Testen der Anwendung

Wenn die Anwendung ausgeführt wird, macht ein Kubernetes-Dienst das Anwendungs-Front-End im Internet verfügbar. Dieser Vorgang kann einige Minuten dauern.

Verwenden Sie zum Überwachen des Fortschritts den Befehl kubectl get service mit dem Argument --watch:

kubectl get service azure-vote-front --watch

Die Ausgabe von EXTERNAL-IP für den azure-vote-front-Dienst lautet zu Beginn pending:

NAME               TYPE           CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
azure-vote-front   LoadBalancer   10.0.37.27   <pending>     80:30572/TCP   6s

Nachdem die externe IP-Adresse (EXTERNAL-IP) von ausstehend in eine tatsächliche öffentliche IP-Adresse geändert wurde, verwenden Sie CTRL-C, um die kubectl-Überwachung zu beenden. Die folgende Beispielausgabe zeigt eine gültige öffentliche IP-Adresse, die dem Dienst zugewiesen ist:

azure-vote-front   LoadBalancer   10.0.37.27   52.179.23.131   80:30572/TCP   2m

Öffnen Sie die externe IP-Adresse Ihres Diensts in einem Webbrowser, um die Azure-Abstimmungs-App in Aktion zu sehen.

Screenshot der Navigation zur Azure Vote-Beispielanwendung.

Löschen des Clusters

Wenn Sie nicht mit den folgenden Tutorials fortfahren möchten, bereinigen Sie nicht benötigte Ressourcen, um Azure-Gebühren zu vermeiden. Verwenden Sie den Befehl az group delete, um die Ressourcengruppe und alle zugeordneten Ressourcen zu entfernen.

az group delete --name testAzureLinuxCluster --yes --no-wait

Nächste Schritte

In dieser Schnellstartanleitung haben Sie einen Azure Linux-Containerhostcluster bereitgestellt. Weitere Informationen zum Azure Linux-Containerhost und ein vollständiges Beispiel für die Clusterbereitstellung und -verwaltung finden Sie im Tutorial zum Azure Linux-Containerhost.