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
-
Sollten Sie über kein Azure-Abonnement verfügen, können Sie zunächst ein kostenloses Azure-Konto erstellen.
Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Azure Cloud Shell-Schnellstart: Bash.
Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.
Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.
Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.
Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.
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.
- Mit dem Befehl
az aks get-credentials
können Siekubectl
für die Verbindungsherstellung mit Ihrem Kubernetes-Cluster konfigurieren.
az aks get-credentials --resource-group testAzureLinuxResourceGroup --name testAzureLinuxCluster
- Ü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
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
odernano
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.
- Bei Verwendung von Azure Cloud Shell kann diese Datei mit
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.
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.