Schnellstart: Bereitstellen eines vorhandenen Containerimages mit der Befehlszeile
Mit dem Azure Container Apps-Dienst können Sie Microservices und containerisierte Anwendungen auf einer serverlosen Plattform ausführen. Mit Container Apps genießen Sie die Vorteile von Containern und müssen sich nicht mehr um die manuelle Konfiguration von Cloudinfrastrukturen und komplexe Containerorchestratoren kümmern.
In diesem Artikel wird veranschaulicht, wie Sie einen vorhandenen Container in Azure Container Apps bereitstellen.
Hinweis
Die Autorisierung einer privaten Registrierung wird über den Benutzernamen und das Kennwort der Registrierung unterstützt.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement.
- Falls Sie keins haben, können Sie kostenlos eins erstellen.
- Installieren Sie die Azure CLI.
- Zugriff auf eine öffentliche oder private Containerregistrierung, z. B. Azure Container Registry.
Setup
Um sich ausgehend von der CLI bei Azure anzumelden, führen Sie den folgenden Befehl aus und befolgen Sie die Anweisungen, um den Authentifizierungsprozess abzuschließen.
az login
Verwenden Sie den Upgradebefehl, um sicherzustellen, dass Sie die neueste Version der CLI ausführen.
az upgrade
Installieren oder aktualisieren Sie als Nächstes die Azure Container Apps-Erweiterung für die CLI.
Falls Sie Fehler aufgrund fehlender Parameter erhalten, wenn Sie az containerapp
-Befehle in der Azure CLI oder Cmdlets aus dem Az.App
-Modul in Azure PowerShell ausführen, stellen Sie sicher, dass die aktuelle Version der Azure Container Apps-Erweiterung installiert ist.
az extension add --name containerapp --upgrade
Hinweis
Ab Mai 2024 aktivieren Azure CLI-Erweiterungen standardmäßig keine Previewfunktionen mehr. Um auf Previewfunktionen von Container Apps zuzugreifen, installieren Sie die Container Apps-Erweiterung mit --allow-preview true
.
az extension add --name containerapp --upgrade --allow-preview true
Nachdem die aktuelle Erweiterung oder das aktuelle Modul installiert ist, registrieren Sie nun die Namespaces Microsoft.App
und Microsoft.OperationalInsights
.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Festlegen von Umgebungsvariablen
Legen Sie die folgenden Umgebungsvariablen fest. Ersetzen Sie <PLACEHOLDERS>
durch Ihre eigenen Werte:
RESOURCE_GROUP="<RESOURCE_GROUP>"
LOCATION="<LOCATION>"
CONTAINERAPPS_ENVIRONMENT="<CONTAINERAPPS_ENVIRONMENT>"
Erstellen einer Azure-Ressourcengruppe
Erstellen Sie eine Ressourcengruppe, um die Dienste im Zusammenhang mit der Bereitstellung Ihrer Container-App zu organisieren.
az group create \
--name $RESOURCE_GROUP \
--location "$LOCATION"
Erstellen einer Umgebung
Eine Umgebung in Azure Container Apps erstellt eine sichere Grenze für eine Gruppe von Container-Apps. Container-Apps, die in derselben Umgebung bereitgestellt werden, werden im gleichen virtuellen Netzwerk bereitgestellt und schreiben Protokolle in denselben Log Analytics-Arbeitsbereich.
Führen Sie den folgenden Befehl aus, um die Umgebung zu erstellen:
az containerapp env create \
--name $CONTAINERAPPS_ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location "$LOCATION"
Erstellen einer Container-App
Nachdem Sie eine Umgebung erstellt haben, können Sie Ihre erste Container-App bereitstellen.
Festlegen der Umgebungsvariablen.
Ersetzen Sie
<PLACEHOLDERS>
durch Ihre eigenen Werte. Ihr Benutzerprinzipalname befindet sich in der Regel im Format einer E-Mail-Adresse (z. Busername@domain.com
).CONTAINER_APP_NAME=my-container-app KEY_VAULT_NAME=my-key-vault USER_PRINCIPAL_NAME=<USER_PRINCIPAL_NAME> SECRET_NAME=my-secret-name CONTAINER_IMAGE_NAME=<CONTAINER_IMAGE_NAME> REGISTRY_SERVER=<REGISTRY_SERVER> REGISTRY_USERNAME=<REGISTRY_USERNAME>
Erstellen Sie die Key Vault-Instanz.
Wenn Sie Ihr Containerregistrierungskennwort mithilfe eines Diensts wie Azure Key Vault speichern, bleiben die Werte jederzeit sicher. Die Schritte in diesem Abschnitt zeigen, wie Sie einen Schlüsseltresor erstellen, Ihr Containerregistrierungskennwort im Key Vault speichern und dann das Kennwort für die Verwendung in Ihrem Code abrufen.
az keyvault create --name $KEY_VAULT_NAME --resource-group $RESOURCE_GROUP
Gewähren von Berechtigungen zum Verwalten von Geheimnissen im Schlüsseltresor für das Benutzerkonto.
KEY_VAULT_ID=$(az keyvault show --name $KEY_VAULT_NAME --query id --output tsv) az role assignment create --role "Key Vault Secrets Officer" --assignee "$USER_PRINCIPAL_NAME" --scope "$KEY_VAULT_ID"
Speichern Sie Ihr Containerregistrierungskennwort im Schlüsseltresor.
Ersetzen Sie
<REGISTRY_PASSWORD>
durch Ihren Wert.az keyvault secret set --vault-name $KEY_VAULT_NAME --name $SECRET_NAME --value "<REGISTRY_PASSWORD>"
Rufen Sie ihr Containerregistrierungskennwort aus dem Schlüsseltresor ab.
REGISTRY_PASSWORD=$(az keyvault secret show --name $SECRET_NAME --vault-name $KEY_VAULT_NAME --query value --output tsv)
Bereitstellen eines Containerimages für Azure Container Apps.
az containerapp create \ --name $CONTAINER_APP_NAME \ --location $LOCATION \ --resource-group $RESOURCE_GROUP \ --image $CONTAINER_IMAGE_NAME \ --environment $CONTAINERAPPS_ENVIRONMENT \ --registry-server $REGISTRY_SERVER \ --registry-username $REGISTRY_USERNAME \ --registry-password $REGISTRY_PASSWORD
Wenn Sie den Eingang für Ihre Container-App aktiviert haben, können Sie
--query properties.configuration.ingress.fqdn
dem Befehlcreate
hinzufügen, um die öffentliche URL der App zurückzugeben.
Festlegen der Umgebungsvariablen.
CONTAINER_APP_NAME=my-container-app CONTAINER_IMAGE_NAME=mcr.microsoft.com/k8se/quickstart:latest
Bereitstellen eines Containerimages für Azure Container Apps.
az containerapp create \ --image $CONTAINER_IMAGE_NAME \ --name $CONTAINER_APP_NAME \ --resource-group $RESOURCE_GROUP \ --environment $CONTAINERAPPS_ENVIRONMENT
Wenn Sie den Eingang für Ihre Container-App aktiviert haben, können Sie
--query properties.configuration.ingress.fqdn
dem Befehlcreate
hinzufügen, um die öffentliche URL der App zurückzugeben.
Überprüfen der Bereitstellung
Um eine erfolgreiche Bereitstellung zu überprüfen, können Sie den Log Analytics-Arbeitsbereich abfragen. Möglicherweise müssen Sie nach der Bereitstellung einige Minuten warten, bis die Analyse zum ersten Mal eintrifft, bevor Sie die Protokolle abfragen können. Dies hängt von der in Ihrer Container-App implementierten Konsolenprotokollierung ab.
Verwenden Sie die folgenden Befehle, um Konsolenprotokollnachrichten anzuzeigen.
LOG_ANALYTICS_WORKSPACE_CLIENT_ID=`az containerapp env show --name $CONTAINERAPPS_ENVIRONMENT --resource-group $RESOURCE_GROUP --query properties.appLogsConfiguration.logAnalyticsConfiguration.customerId --out tsv`
az monitor log-analytics query \
--workspace $LOG_ANALYTICS_WORKSPACE_CLIENT_ID \
--analytics-query "ContainerAppConsoleLogs_CL | where ContainerAppName_s == $CONTAINER_APP_NAME | project ContainerAppName_s, Log_s, TimeGenerated" \
--out table
Bereinigen von Ressourcen
Wenn Sie diese Anwendung nicht weiter verwenden möchten, führen Sie den folgenden Befehl aus, um die Ressourcengruppe zusammen mit allen in dieser Schnellstartanleitung erstellten Ressourcen zu löschen.
Achtung
Mit dem folgenden Befehl werden die angegebene Ressourcengruppe und alle darin enthaltenen Ressourcen gelöscht. Falls in der angegebenen Ressourcengruppe Ressourcen enthalten sind, die nicht zum Umfang dieser Schnellstartanleitung gehören, werden sie ebenfalls gelöscht.
az group delete --name $RESOURCE_GROUP
Tipp
Treten Probleme auf? Informieren Sie uns über GitHub, indem Sie ein Problem im Azure Container Apps-Repository öffnen.