Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Kubernetes Service (AKS) ist ein verwalteter Kubernetes-Dienst, mit dem Sie schnell Cluster bereitstellen und verwalten können. In dieser Schnellstartanleitung lernen Sie Folgendes:
- Installieren der Azure Developer CLI (
azd) - Klonen von Anwendungen aus einer Azure Developer CLI-Vorlage (
azd-Vorlage) - Bereitstellen eines AKS-Clusters mithilfe der Azure Developer CLI (
azd) - Ausführen einer Beispielanwendung mit mehreren Containern mit einer Gruppe von Microservices, die eine Einzelhandels-App simulieren
- Löschen und Bereinigen von Containern, die mit der
azd-Vorlage erstellt wurden
Hinweis
Um schnell mit der Bereitstellung eines AKS-Clusters zu beginnen, enthält dieser Artikel Schritte zum Bereitstellen eines Clusters mit Standardeinstellungen nur zu Evaluierungszwecken. Bevor Sie einen produktionsbereiten Cluster bereitstellen, empfehlen wir Ihnen, sich mit unserer Baselinereferenzarchitektur vertraut zu machen, um zu prüfen, inwiefern sie Ihren Geschäftsanforderungen entspricht.
Voraussetzungen
Für diese Schnellstartanleitung werden Grundkenntnisse in Bezug auf die Kubernetes-Konzepte vorausgesetzt. Weitere Informationen finden Sie unter Grundlegende Kubernetes-Konzepte für Azure Kubernetes Service (AKS).
-
Wenn Sie nicht über ein Azure-Konto verfügen, erstellen Sie ein kostenloses Konto , bevor Sie beginnen.
Führen Sie dieses Beispiel zur einfacheren Verwendung in Bash oder PowerShell in Azure Cloud Shell aus. Weitere Informationen finden Sie unter Schnellstart für Azure Cloud Shell.
Wenn Sie
azdlokal verwenden möchten, installieren Sie Version 1.6.1 oder höher der Azure Developer CLI.- Wenn Sie Azure Cloud Shell verwenden, ist die neueste Version von
azdbereits installiert.
- Wenn Sie Azure Cloud Shell verwenden, ist die neueste Version von
Überprüfen des Anwendungscodes
Sie können den Anwendungscode im GitHub-Repository Azure-Samples/aks-store-demo überprüfen.
Die Schnellstartanwendung umfasst dieses Manifest die folgenden Kubernetes-Bereitstellungen und -Dienste:
- Store Front: Webanwendung für Kund*innen zum Anzeigen von Produkten und Aufgeben von Bestellungen
- Product Service: zeigt Produktinformationen an.
- Order Service: dient der Aufgabe von Bestellungen.
- Rabbit MQ: Nachrichtenwarteschlange für eine Bestellwarteschlange
Hinweis
Zustandsbehaftete Container wie Rabbit MQ sollten nicht ohne permanenten Speicher für die Nutzung in der Produktion ausgeführt werden. Sie werden hier der Einfachheit halber verwendet, jedoch sollten stattdessen verwaltete Dienste wie Azure CosmosDB oder Azure Service Bus verwendet werden.
Klonen der Azure Developer CLI-Vorlage
Klonen Sie die Demovorlage für einen AKS-Store aus dem Azure-Samples-Repository, indem Sie den Befehl
azd initmit dem Parameter--templateausführen.azd init --template Azure-Samples/aks-store-demoGeben Sie einen Umgebungsnamen für Ihr Projekt ein, der nur alphanumerische Zeichen und Bindestriche enthält, z. B. aks-azdqs-1.
Enter a new environment name: aks-azdqs-1
Anmelden beim Azure-Cloudkonto
Die azd-Vorlage enthält den gesamten Code, der zum Erstellen der Dienste erforderlich ist. Sie müssen sich jedoch bei Ihrem Azure-Konto anmelden, um die Anwendung in AKS zu hosten.
Melden Sie sich mithilfe des Befehls
azd auth loginbei Ihrem Konto an.azd auth loginKopieren Sie den Gerätecode, der in der Ausgabe angezeigt wird, und drücken Sie die EINGABETASTE, um sich anzumelden.
Start by copying the next code: XXXXXXXXX Then press enter and continue to log in from your browser...Wichtig
Wenn Sie einen virtuellen Computer außerhalb des Netzwerks oder GitHub Codespace verwenden, verursachen bestimmte Azure-Sicherheitsrichtlinien Konflikte bei der Anmeldung über
azd auth login. Wenn Sie hierbei Probleme haben, können Sie die weiter unten erläuterte Problemumgehung mit azd auth und einercurl-Anforderung an die Localhost-URL verwenden, zu der Sie nach dem Ausführen von [azd auth login][az-auth-login] weitergeleitet wurden.Authentifizieren Sie sich mit Ihren Anmeldeinformationen auf der Anmeldeseite Ihrer Organisation.
Bestätigen Sie, dass Sie die Person sind, die versucht, eine Verbindung mit der Azure CLI herzustellen.
Vergewissern Sie sich, dass die Meldung „Gerätecodeauthentifizierung abgeschlossen. Bei Azure angemeldet.“ im ursprünglichen Terminal angezeigt wird.
Waiting for you to complete authentication in the browser... Device code authentication completed. Logged in to Azure.
Problemumgehung mit „azd auth“
Für diese Problemumgehung müssen Sie die Azure CLI installiert haben.
Öffnen Sie ein Terminalfenster, und melden Sie sich über die Azure CLI mit dem Befehl
az loginan. Legen Sie dabei den Parameter--scopeaufhttps://graph.microsoft.com/.defaultfest.az login --scope https://graph.microsoft.com/.defaultSie sollten auf eine Authentifizierungsseite auf einer neuen Registerkarte umgeleitet werden, um ein Browserzugriffstoken zu erstellen, wie im folgenden Beispiel zu sehen:
https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?clientid=<your_client_id>.Kopieren Sie die Localhost-URL der Webseite, die Sie erhalten haben, nachdem Sie versucht haben, sich mit
azd auth loginanzumelden.Verwenden Sie in einem neuen Terminalfenster die folgende
curl-Anforderung, um sich anzumelden. Stellen Sie sicher, dass Sie den Platzhalter<localhost>durch die Localhost-URL ersetzen, die Sie im vorherigen Schritt kopiert haben.curl <localhost>Bei einer erfolgreichen Anmeldung wird eine HTML-Webseite ausgegeben, wie im folgenden Beispiel zu sehen:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta http-equiv="refresh" content="60;url=https://docs.microsoft.com/cli/azure/"> <title>Login successfully</title> <style> body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } code { font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; display: inline-block; background-color: rgb(242, 242, 242); padding: 12px 16px; margin: 8px 0px; } </style> </head> <body> <h3>You have logged into Microsoft Azure!</h3> <p>You can close this window, or we will redirect you to the <a href="https://docs.microsoft.com/cli/azure/">Azure CLI documentation</a> in 1 minute.</p> <h3>Announcements</h3> <p>[Windows only] Azure CLI is collecting feedback on using the <a href="https://learn.microsoft.com/windows/uwp/security/web-account-manager">Web Account Manager</a> (WAM) broker for the login experience.</p> <p>You may opt-in to use WAM by running the following commands:</p> <code> az config set core.allow_broker=true<br> az account clear<br> az login </code> </body> </html>Schließen Sie das aktuelle Terminal, und öffnen Sie das ursprüngliche. Ihnen sollte nun eine JSON-Liste mit Ihren Abonnements angezeigt werden.
Kopieren Sie das
id-Feld des Abonnements, das Sie verwenden möchten.Legen Sie Ihr Abonnement mithilfe des Befehls
az account setfest.az account set --subscription <subscription_id>
Erstellen und Bereitstellen von Ressourcen für Ihren Cluster
azd führt alle Hooks im azd-hooks-Ordner aus, um die Anwendungsdienste vorab zu registrieren und bereitzustellen.
Mit der azd-Vorlage für diese Schnellstartanleitung wird eine neue Ressourcengruppe mit einem AKS-Cluster und einer Azure Key Vault-Instanz erstellt. Die Key Vault-Instanz speichert geheime Clientschlüssel und führt die Dienste im Namespace pets aus.
Erstellen Sie mit dem Befehl
azd upalle Anwendungsressourcen.azd upWählen Sie ein Azure-Abonnement für die Abrechnung aus.
? Select an Azure Subscription to use: [Use arrows to move, type to filter] > 1. My Azure Subscription (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)Wählen Sie eine Region aus, in der Ihre Anwendung bereitgestellt werden soll.
Select an Azure location to use: [Use arrows to move, type to filter] 1. (South America) Brazil Southeast (brazilsoutheast) 2. (US) Central US (centralus) 3. (US) East US (eastus) > 43. (US) East US 2 (eastus2) 4. (US) East US STG (eastusstg) 5. (US) North Central US (northcentralus) 6. (US) South Central US (southcentralus)azdführt automatisch die Befehle für vor und nach der Bereitstellung aus, um die Ressourcen für Ihre Anwendung zu erstellen. Dieser Vorgang kann einige Minuten dauern. Anschließend sollte eine Ausgabe ähnlich der folgenden Beispielausgabe angezeigt werden:SUCCESS: Your workflow to provision and deploy to Azure completed in 9 minutes 40 seconds.
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 Verwalten eines Kubernetes-Clusters den Kubernetes-Befehlszeilenclient kubectl.
kubectl wird schon während azd up installiert.
Verwenden Sie den Befehl
pets, um Ihren Namespace auf den Demonamespacekubectl set-contextfestzulegen.kubectl config set-context --current --namespace=petsÜberprüfen Sie den Status der bereitgestellten Pods mithilfe des Befehls
kubectl get pods. Stellen Sie sicher, dass alle Pods den StatusRunninghaben, bevor Sie fortfahren.kubectl get podsSuchen Sie nach einer öffentlichen IP-Adresse für die Storefront-Anwendung, und überwachen Sie den Fortschritt mithilfe des Befehls
kubectl get servicemit dem Argument--watch.kubectl get service store-front --watchDie Ausgabe von EXTERNAL-IP für den
store-front-Dienst lautet anfangs pending (ausstehend):NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE store-front LoadBalancer 10.0.100.10 <pending> 80:30025/TCP 4h4mNachdem die externe IP-Adresse (EXTERNAL-IP) von ausstehend in eine tatsächliche öffentliche IP-Adresse geändert wurde, verwenden Sie
CTRL-C, um diekubectl-Überwachung zu beenden.Die folgende Beispielausgabe zeigt eine gültige öffentliche IP-Adresse, die dem Dienst zugewiesen ist:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE store-front LoadBalancer 10.0.100.10 20.62.159.19 80:30025/TCP 4h5mÖffnen Sie einen Webbrowser mit der externen IP-Adresse Ihres Dienstes, um die Azure Store-App in Aktion zu sehen.
Löschen des Clusters
Bereinigen Sie nach Abschluss der Schnellstartanleitung die nicht benötigten Ressourcen, um Azure-Gebühren zu vermeiden.
Löschen Sie alle in der Schnellstartanleitung erstellten Ressourcen mit dem Befehl
azd down.azd downBestätigen Sie Ihre Entscheidung, alle verwendeten Ressourcen aus Ihrem Abonnement zu entfernen, indem Sie
yeingeben und dieEnter-TASTE drücken.? Total resources to delete: 14, are you sure you want to continue? (y/N)Erlauben Sie bei der Bereinigung, dass die Variablen aus dieser Schnellstartanleitung ggf. wiederverwendet werden, indem Sie
ytippen und dann dieEnter-TASTE drücken.[Warning]: These resources have soft delete enabled allowing them to be recovered for a period or time after deletion. During this period, their names may not be reused. In the future, you can use the argument --purge to skip this confirmation. ? Would you like to permanently delete these resources instead, allowing their names to be reused? (y/N)Sobald die Ressourcen gelöscht sind, sollte eine Ausgabe ähnlich der folgenden Beispielausgabe angezeigt werden:
SUCCESS: Your application was removed from Azure in 14 minutes 30 seconds.
Hinweis
Diese Beispielanwendung dient zu Demozwecken und stellt nicht alle bewährten Methoden für Kubernetes-Anwendungen dar. Anleitungen zum Erstellen vollständiger Lösungen mit AKS für die Produktion finden Sie unter AKS-Lösungsleitfaden.
Nächste Schritte
In dieser Schnellstartanleitung haben Sie einen Kubernetes-Cluster und eine Beispielanwendung mit mehreren Containern dafür bereitgestellt. Diese Beispielanwendung dient nur zu Demozwecken und stellt nicht alle bewährten Methoden für Kubernetes-Anwendungen dar. Anleitungen zum Erstellen vollständiger Lösungen mit AKS für die Produktion finden Sie unter AKS-Lösungsleitfaden.
Weitere Informationen zu Azure Kubernetes Service (AKS) sowie ein vollständiges Beispiel vom Code bis zur Bereitstellung finden Sie im Tutorial zu Kubernetes-Clustern.