„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Vergleich zweier Methoden zum Bereitstellen von Azure Functions in Azure Container Apps

Vergleich zweier Methoden zum Bereitstellen von Azure Functions in Azure Container Apps

Veröffentlicht am 07.11.2024
Durchsuche:495

Gestern habe ich einen Artikel mit dem Titel „Bereitstellen einer Java Azure-Funktion in Azure Container Apps“ geschrieben.

In diesem Eintrag habe ich die Verwendung der integrierten Verwaltungsfunktionen von Azure erwähnt und möchte klarstellen, was das bedeutet und wie es sich von den vorherigen Methoden in diesem Artikel unterscheidet.

Alte Methode: Erstellen mit az containerapp create

Azure Container Apps ist eine der Containerausführungsumgebungen von Azure, mit der Sie jeden Containerdienst ausführen können. Wenn Sie Azure Functions bisher in Azure Container Apps ausführen wollten, erstellten Sie eine Instanz mit dem folgenden Befehl:

az containerapp create \
--name general-container-app \
--resource-group $RESOURCE_GROUP_NAME \
--environment $CONTAINER_ENVIRONMENT \
--registry-server $CONTAINER_REGISTRY_SERVER \
--image $CONTAINER_REGISTRY_SERVER/$C_IMAGE_NAME:$C_IMAGE_TAG \
--target-port 80 \
--ingress external \
--query properties.configuration.ingress.fqdn

Nachdem Sie den Befehl ausgeführt haben, sehen Sie eine Meldung wie diese:

Container app created. Access your app at https://general-container-app.niceocean-********.eastus.azurecontainerapps.io/

Sie könnten dann einen Curl-Befehl verwenden, um eine Verbindung zu Ihrem Azure Functions-Dienst herzustellen:

curl https://general-container-app.niceocean-********.eastus.azurecontainerapps.io/api/httpexample?name=World

Beim Zugriff auf die Azure Container Apps-Umgebung sehen Sie, dass die allgemeine Container-App als Container-App erstellt wurde und diese Verwaltungsschnittstelle für jede bereitgestellte Containeranwendung verfügbar ist.

Comparison of Two Methods for Deploying Azure Functions to Azure Container Apps

https://raw.githubusercontent.com/yoshioterada/Azure-Functions-Deploy-To-Azure-Container-Apps/main/images/ACA-Instance-for-Azure-Functions.png

Neue Methode: Erstellen mit az functionapp create

Mit der neuen Methode können Sie Azure-Funktionen in Azure Container Apps mithilfe des Befehls „az functionapp create“ anstelle von „az containerapp create“ erstellen.

az functionapp create \
--name $AZURE_FUNCTION_NAME \
--resource-group $RESOURCE_GROUP_NAME \
--environment $CONTAINER_ENVIRONMENT \
--storage-account $STORAGE_NAME \
--workload-profile-name "Consumption" \
--max-replicas 15 \
--min-replicas 1 \
--functions-version 4 \
--runtime java \
--image $CONTAINER_REGISTRY_SERVER/$C_IMAGE_NAME:$C_IMAGE_TAG \
--assign-identity

Mit diesem Befehl werden Ihre Azure Functions in Azure Container Apps erstellt und die Verwaltungsoberfläche zeigt deutlich an, dass es sich um eine Funktions-App handelt.

Comparison of Two Methods for Deploying Azure Functions to Azure Container Apps

Das bedeutet, dass Azure Functions jetzt über eine dedizierte Azure Functions-Verwaltungsschnittstelle verwaltet werden kann, wodurch es sich von anderen Containeranwendungen unterscheidet.

Es gibt jedoch einige Unterschiede zwischen den in Azure App Service bereitgestellten Verwaltungsfunktionen und denen, die für Azure Functions in Container Apps verfügbar sind. Beispielsweise sind bestimmte Funktionen wie Diagnosetools, Bereitstellungsfunktionen und andere möglicherweise nicht verfügbar.

Comparison of Two Methods for Deploying Azure Functions to Azure Container Apps

Referenz: Azure Functions on App Service (Portal)

Zum Vergleich sehen Sie hier die Verwaltungsschnittstelle für Azure Functions, die im Azure App Service bereitgestellt wird.

Comparison of Two Methods for Deploying Azure Functions to Azure Container Apps

Die Unterschiede in den Verwaltungsfunktionen zwischen App Service und Azure Container Apps können Folgendes umfassen:

Comparison of Two Methods for Deploying Azure Functions to Azure Container Apps

  • Abholen:
- Diagnose and solve problems
- Microsoft Defender for Cloud
- Events (preview)
- Log stream
- Deployment
- App Service plan
- Development Tools
- Monitoring
- Support   troubleshooting

Einige denken vielleicht, dass das Fehlen bestimmter Funktionen auf fehlende Funktionalität hindeutet.

Bei der Bereitstellung in Azure Container Apps ist die Betriebsumgebung jedoch Container-basiert, wodurch sich die Bereitstellungs- und Verwaltungsmethoden ändern. Funktionen, die nicht in der Azure Functions-Verwaltungsschnittstelle enthalten sind, müssen separat über die Azure Container Apps-Schnittstelle verwaltet werden.

Verwaltung von Containern in Azure Container Apps

Wenn Sie den Befehl az functionapp create verwenden, um eine Azure Functions-Instanz in Azure Container Apps zu erstellen, wird automatisch eine neue Ressourcengruppe erstellt, die die Containerinstanz enthält.

Comparison of Two Methods for Deploying Azure Functions to Azure Container Apps

In meiner Umgebung folgt der Ressourcengruppenname dieser Konvention:

$CONTAINER_ENVIRONMENT_FunctionApps_$UUID

Sie werden sehen, dass eine Azure Container Apps-Instanz mit dem Namen Ihres angegebenen $AZURE_FUNCTION_NAME generiert wurde.

Wenn Sie auf diese Instanz klicken, werden Sie zu einer Verwaltungsoberfläche speziell für Azure Container Apps weitergeleitet, wo die Azure-Funktionen als Containerinstanzen ausgeführt werden.

Comparison of Two Methods for Deploying Azure Functions to Azure Container Apps

Azure Container Apps bietet andere CI/CD- und Bereitstellungsmethoden als Azure App Service. Es ermöglicht auch die Nutzung von auf Containerebene angebotenen Funktionen wie Dapr und Service Connector.

Abschluss

Zuvor war es möglich, Azure Functions durch Containerisierung in einer Containerausführungsumgebung auszuführen, es gab jedoch keine dedizierte Verwaltungsschnittstelle für Azure Functions.

Mit dieser neuen Methode wurden Azure Functions und Azure Container Apps integriert und bieten eine Containerumgebung mit einer zugehörigen Azure Functions-Verwaltungsschnittstelle.

Ich weiß, dass einige Kunden Azure Functions Container auf Azure Kubernetes Service (AKS) betreiben. Bisher fehlte ihnen eine dedizierte Verwaltungsschnittstelle. Durch die Bereitstellung in Azure Container Apps können sie jetzt jedoch die Azure Functions-Verwaltung nutzen und gleichzeitig die Einfachheit der Verwaltung von Azure Container Apps im Vergleich zur Verwaltung von Vorgängen auf AKS genießen.

Die Methoden zur Bereitstellung von Azure Functions in Azure Container Apps werden sich wahrscheinlich weiterentwickeln. Ich bin gespannt, wie sich das entwickelt.

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/azure/comparison-of-two-methods-for-deploying-azure-functions-to-azure-container-apps-2o7o?1 Wenn es einen Verstoß gibt, bitte Kontaktieren Sie Study_golang@163 .comdelete
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3