Tutorial: Ertellen einer Azure Container-App in Kubernetes mit Azure Arc-Unterstützung (Vorschau)
In diesem Tutorial erstellen Sie eine Container-App in einem Kubernetes-Cluster mit Azure Arc-Unterstützung (Vorschau) und erfahren Folgendes:.
- Erstellen einer Container-App in Azure Arc
- Anzeigen der Diagnose für Ihre Anwendung
Voraussetzungen
Bevor Sie mit dem Erstellen einer Container-App fortfahren, müssen Sie zunächst einen Kubernetes-Cluster mit Azure Arc-Unterstützung zum Ausführen von Azure Container Apps einrichten.
Hinzufügen von Azure CLI-Erweiterungen
Starten Sie die Bash-Umgebung in Azure Cloud Shell.
Fügen Sie als Nächstes die erforderlichen Azure CLI-Erweiterungen hinzu.
Warnung
Mit dem folgenden Befehl wird eine benutzerdefinierte Container Apps-Erweiterung installiert, die nicht mit dem öffentlichen Clouddienst verwendet werden kann. Sie müssen die Erweiterung deinstallieren, wenn Sie zurück zur öffentlichen Azure-Cloud wechseln.
az extension add --upgrade --yes --name customlocation
az extension add --name containerapp --upgrade --yes
Erstellen einer Ressourcengruppe
Erstellen Sie eine Ressourcengruppe für die in diesem Tutorial verwendeten Dienste:
GROUP_NAME="my-container-apps-resource-group"
az group create --name $GROUP_NAME --location eastus
Abrufen von benutzerdefinierten Standortinformationen
Fragen Sie den Clusteradministrator nach Gruppe, Name und ID des Standorts. Ausführliche Informationen finden Sie unter Tutorial: Aktivieren von Azure Container Apps in Kubernetes mit Azure Arc-Unterstützung (Vorschau).
CUSTOM_LOCATION_GROUP="<RESOURCE_GROUP_CONTAINING_CUSTOM_LOCATION>"
CUSTOM_LOCATION_NAME="<NAME_OF_CUSTOM_LOCATION>"
Rufen Sie die ID des benutzerdefinierten Standorts ab:
CUSTOM_LOCATION_ID=$(az customlocation show \
--resource-group $CUSTOM_LOCATION_GROUP \
--name $CUSTOM_LOCATION_NAME \
--query id \
--output tsv)
Abrufen der ID der verbundenen Umgebung
Sie verfügen nun über die ID des benutzerdefinierten Standorts und können jetzt die verbundene Umgebung abfragen.
Eine verbundene Umgebung ist weitgehend identisch mit einer Container Apps-Standardumgebung, aber der zugrunde liegende Arc-fähige Kubernetes-Cluster gesteuert die Netzwerkeinschränkungen.
CONTAINER_APP_NAME="my-container-app"
CONNECTED_ENVIRONMENT_ID=$(az containerapp connected-env list --custom-location $CUSTOM_LOCATION_ID -o tsv --query '[].id')
Erstellen einer App
Im folgenden Beispiel wird eine Node.js-App erstellt.
az containerapp create \
--resource-group $GROUP_NAME \
--name $CONTAINER_APP_NAME \
--environment $CONNECTED_ENVIRONMENT_ID \
--environment-type connected \
--image mcr.microsoft.com/k8se/quickstart:latest \
--target-port 80 \
--ingress external
az containerapp browse --resource-group $GROUP_NAME --name $CONTAINER_APP_NAME
Abrufen von Diagnoseprotokollen mithilfe von Log Analytics
Hinweis
Eine Log Analytics-Konfiguration ist erforderlich, wenn Sie die Container Apps-Erweiterung installieren, um Diagnoseinformationen anzuzeigen. Wenn Sie die Erweiterung ohne Log Analytics installiert haben, überspringen Sie diesen Schritt.
Navigieren Sie zu dem Log Analytics-Arbeitsbereich, der mit Ihrer Container Apps-Erweiterung konfiguriert ist, und wählen Sie dann im linken Navigationsbereich Protokolle aus.
Führen Sie die folgende Beispielabfrage aus, um Protokolle der letzten 72 Stunden anzuzeigen.
Wenn beim Ausführen einer Abfrage ein Fehler auftritt, versuchen Sie es in 10 bis 15 Minuten erneut. Es kann eine Verzögerung geben, bis Log Analytics beginnt, Protokolle von Ihrer Anwendung zu empfangen.
let StartTime = ago(72h);
let EndTime = now();
ContainerAppConsoleLogs_CL
| where TimeGenerated between (StartTime .. EndTime)
| where ContainerAppName_s =~ "my-container-app"
Die Anwendungsprotokolle für alle Apps, die in Ihrem Kubernetes-Cluster gehostet werden, werden im Log Analytics-Arbeitsbereich in der benutzerdefinierten Protokolltabelle namens ContainerAppConsoleLogs_CL
protokolliert.
- Log_s enthält Anwendungsprotokolle für eine bestimmte Container Apps-Erweiterung.
- AppName_s enthält den Container Apps-App-Namen. Zusätzlich zu Protokollen, die Sie über Ihren Anwendungscode schreiben, enthält die Spalte Log_s auch Protokolle zum Starten und Herunterfahren von Containern.
Weitere Informationen zu Protokollabfragen finden Sie unter Erste Schritte mit Kusto.