In diesem Artikel wird beschrieben, wie Kubernetes-Cluster in Azure Local mit Azure CLI erstellt werden. Der folgende Workflow wird verwendet:
Erstellen Sie einen Kubernetes-Cluster in Azure Local, Version 23H2 mit Azure CLI. Der Cluster ist standardmäßig mit Azure Arc verbunden.
Beim Erstellen des Clusters stellen Sie eine Microsoft Entra-Gruppe bereit, die die Liste der Microsoft Entra-Benutzer mit Kubernetes-Clusteradministratorzugriff enthält.
Greifen Sie mithilfe von Kubectl und Ihrer Microsoft Entra-ID auf den Cluster zu.
Führen Sie eine Beispielanwendung mit mehreren Containern im Cluster aus, die ein Web-Front-End und eine Redis-Instanz enthält.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie über die folgenden Details von Ihrem lokalen Infrastrukturadministrator verfügen:
Azure-Abonnement-ID – Die Azure-Abonnement-ID , in der Azure Local für die Bereitstellung und Registrierung verwendet wird.
Benutzerdefinierte Standort-ID – Azure Resource Manager-ID des benutzerdefinierten Speicherorts. Der benutzerdefinierte Speicherort wird während der Azure Local Cluster-Bereitstellung konfiguriert. Ihr Infrastrukturadministrator sollte Ihnen die Ressourcen-Manager-ID des benutzerdefinierten Speicherorts geben. Dieser Parameter ist erforderlich, um Kubernetes-Cluster zu erstellen. Sie können auch die Ressourcen-Manager-ID verwenden az customlocation show --name "<custom location name>" --resource-group <azure resource group> --query "id" -o tsv, wenn der Infrastrukturadministrator einen benutzerdefinierten Standortnamen und Ressourcengruppennamen bereitstellt.
Netzwerk-ID – Azure Resource Manager-ID des logischen Azure-Netzwerks, das mit diesen Schritten erstellt wurde. Ihr Administrator sollte Ihnen die ID des logischen Netzwerks geben. Dieser Parameter ist erforderlich, um Kubernetes-Cluster zu erstellen. Sie können auch die Azure Resource Manager-ID abrufen az stack-hci-vm network lnet show --name "<lnet name>" --resource-group <azure resource group> --query "id" -o tsv , wenn Sie die Ressourcengruppe kennen, in der das logische Netzwerk erstellt wurde.
Sie können die Schritte in diesem Artikel auf einem lokalen Entwicklungscomputer ausführen, um einen Kubernetes-Cluster in Ihrer lokalen Azure-Remotebereitstellung zu erstellen. Stellen Sie sicher, dass Sie die neueste Version von Az CLI auf Ihrem Entwicklungscomputer haben. Sie können sich auch dafür entscheiden, Ihre Az CLI-Version mit az upgradezu aktualisieren.
Um von überall aus eine Verbindung mit dem Kubernetes-Cluster herzustellen, erstellen Sie eine Microsoft Entra-Gruppe, und fügen Sie ihr Mitglieder hinzu. Alle Mitglieder in der Microsoft Entra-Gruppe haben Clusteradministratorzugriff auf den Cluster. Stellen Sie sicher, dass Sie sich selbst als Mitglied zur Microsoft Entra-Gruppe hinzufügen. Wenn Sie sich nicht selbst hinzufügen, können Sie nicht mithilfe von Kubectl auf den Kubernetes-Cluster zugreifen. Weitere Informationen zum Erstellen von Microsoft Entra-Gruppen und zum Hinzufügen von Benutzern finden Sie unter Verwalten von Microsoft Entra-Gruppen und Gruppenmitgliedschaften.
Laden Sie Kubectl auf Ihrem Entwicklungscomputer herunter, und installieren Sie es. Mit dem Befehlszeilentool Kubernetes, Kubectl, können Sie Befehle für Kubernetes-Cluster ausführen. Sie können Kubectl verwenden, um Anwendungen bereitzustellen, Clusterressourcen zu prüfen und zu verwalten und Protokolle anzuzeigen.
Installieren der Azure CLI-Erweiterung
Führen Sie den folgenden Befehl aus, um die erforderlichen Azure CLI-Erweiterungen zu installieren:
az extension add -n aksarc --upgrade
az extension add -n customlocation --upgrade
az extension add -n stack-hci-vm --upgrade
az extension add -n connectedk8s --upgrade
Erstellen eines Kubernetes-Clusters
Verwenden Sie den az aksarc create Befehl, um einen Kubernetes-Cluster in AKS Arc zu erstellen. Stellen Sie sicher, dass Sie sich bei Azure anmelden, bevor Sie diesen Befehl ausführen. Wenn Sie über mehrere Azure-Abonnements verfügen, wählen Sie mithilfe des Befehls az account set das entsprechende Abonnement ID aus.
Nach wenigen Minuten ist die Ausführung des Befehls abgeschlossen, und es werden Informationen zum Cluster im JSON-Format zurückgegeben.
Hinweis
Der SSH-Schlüsselwert ist der öffentliche Schlüssel für den Zugriff auf Knoten im bereitgestellten Cluster. Dieser Schlüssel befindet sich standardmäßig unter ~/.ssh/id_rsa.pub. Sie können einen anderen Speicherort mithilfe des Parameters während der --ssh-key-value Clustererstellung angeben.
Der --generate-ssh-keys Parameter ist erforderlich, wenn auf Ihrem lokalen Computer kein bereits vorhandener SSH-Schlüssel vorhanden ist. Wenn Sie diesen Parameter während der Clustererstellung nicht einschließen und kein SSH-Schlüssel vorhanden ist, wird eine Fehlermeldung angezeigt.
Wenn Sie bereits über einen SSH-Schlüssel auf Ihrem lokalen Computer verfügen, verwendet der AKS-Cluster diesen Schlüssel wieder. In diesem Fall hat das Angeben --generate-ssh-keysoder Weglassen dieses Parameters keine Auswirkung.
Herstellen einer Verbindung mit dem Kubernetes-Cluster
Jetzt können Sie eine Verbindung mit Ihrem Kubernetes-Cluster herstellen, indem Sie den az connectedk8s proxy Befehl von Ihrem Entwicklungscomputer aus ausführen. Stellen Sie sicher, dass Sie sich bei Azure anmelden, bevor Sie diesen Befehl ausführen. Wenn Sie über mehrere Azure-Abonnements verfügen, wählen Sie mithilfe des Befehls az account set das entsprechende Abonnement ID aus.
Dieser Befehl lädt die Kubeconfig Ihres Kubernetes-Clusters auf Ihren Entwicklungscomputer herunter und öffnet einen Proxyverbindungskanal zu Ihrem lokalen Kubernetes-Cluster. Der Kanal ist so lange geöffnet, wie der Befehl ausgeführt wird. Führen Sie den Befehl so lange aus, wie Sie auf Ihren Cluster zugreifen möchten. Wenn das Fenster ausläuft, schließen Sie das CLI-Fenster, öffnen Sie ein neues Fenster, und führen Sie den Befehl erneut aus.
Sie müssen über Mitwirkendeberechtigungen für die Ressourcengruppe verfügen, die den Kubernetes-Cluster hosten, um den folgenden Befehl erfolgreich auszuführen:
az connectedk8s proxy --name $aksclustername --resource-group $resource_group --file .\aks-arc-kube-config
Erwartete Ausgabe:
Proxy is listening on port 47011
Merged "aks-workload" as current context in .\\aks-arc-kube-config
Start sending kubectl requests on 'aks-workload' context using
kubeconfig at .\\aks-arc-kube-config
Press Ctrl+C to close proxy.
Führen Sie diese Sitzung aus, und stellen Sie eine Verbindung mit Ihrem Kubernetes-Cluster über eine andere Terminal-/Eingabeaufforderung her. Stellen Sie sicher, dass Sie eine Verbindung mit Ihrem Kubernetes-Cluster herstellen können, indem Sie den Befehl "kubectl get" ausführen. Dieser Befehl gibt eine Liste der Clusterknoten zurück:
kubectl get node -A --kubeconfig .\aks-arc-kube-config
Das folgende Ausgabebeispiel zeigt den knoten, der in den vorherigen Schritten erstellt wurde. Stellen Sie sicher, dass der Knotenstatus Bereit lautet:
NAME STATUS ROLES AGE VERSION
moc-l0ttdmaioew Ready control-plane,master 34m v1.24.11
moc-ls38tngowsl Ready <none> 32m v1.24.11
Bereitstellen der Anwendung
Eine Kubernetes-Manifestdatei definiert den gewünschten Zustand (Desired State) eines Clusters – also beispielsweise, welche Containerimages ausgeführt werden sollen.
Sie können ein Manifest verwenden, um alle Objekte zu erstellen, die zum Ausführen der Azure-Abstimmungsanwendung erforderlich sind. Dieses Manifest umfasst zwei Kubernetes-Bereitstellungen:
Die folgende Beispielausgabe zeigt die erfolgreich erstellten Bereitstellungen und Dienste:
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.
Überwachen Des Fortschritts mithilfe des Kubectl-Get-Dienstbefehls mit dem --watch Argument.
kubectl get service azure-vote-front --watch --kubeconfig .\aks-arc-kube-config
Die EXTERNAL-IP-Ausgabe für den Azure-Abstimmungs-Front-Dienst wird zunächst als ausstehend angezeigt.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
azure-vote-front LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 6s
Sobald sich die EXTERNAL-IP-Adresse von einer tatsächlichen öffentlichen IP-Adresse ändert, verwenden Sie STRG-C, um den Kubectl-Überwachungsvorgang zu beenden. Die folgende Beispielausgabe zeigt eine gültige öffentliche IP-Adresse, die dem Dienst zugewiesen ist:
Veranschaulichen Sie wichtige Qualifikationen zum Konfigurieren, Verwalten, Schützen und Verwalten wichtiger professioneller Funktionen in Microsoft Azure.