Herstellen einer Verbindung mit Diensten in Azure-Container-Apps (Vorschau)
Während Sie Anwendungen in Azure Container-Apps entwickeln, müssen Sie häufig eine Verbindung mit verschiedenen Diensten herstellen. Anstatt Dienste im Voraus zu erstellen und sie manuell mit Ihrer Container-Anwendung zu verbinden, können Sie schnell Instanzen von Entwicklungsdiensten erstellen, die für nicht-produktive Umgebungen gedacht sind und als Add-Ons bezeichnet werden.
Mit Add-Ons können Sie OSS-Dienste ohne manuelle Downloads, Erstellung und Konfiguration verwenden.
Sobald Sie bereit sind, ihre App für die Verwendung eines Diensts auf Produktionsebene zu verwenden, können Sie Ihre Anwendung mit einem von Azure verwalteten Dienst verbinden.
Zu den als Add-On verfügbaren Diensten gehören:
Titel | Dienstname |
---|---|
Kafka | kafka |
MariaDB | mariadb |
Milvus | milvus |
PostgreSQL- (Open Source) | postgres |
Qdrant | qdrant |
Redis (Open Source) | redis |
Weaviate | weaviate |
Sie können die neueste Liste der Add-On-Dienste abrufen, indem Sie den folgenden Befehl ausführen:
az containerapp add-on --help
Informationen zur Verwendung finden Sie im Abschnitt zum Verwalten eines Diensts.
Features
Add-Ons verfügen über die folgenden Features:
- Bereichs-: Das Add-On wird in derselben Umgebung wie die verbundene Container-App ausgeführt.
- Skalierung: Das Add-On kann auf Null skaliert werden, wenn kein Bedarf für den Dienst besteht.
- Preise: Die Add-On-Abrechnung fällt unter die verbrauchsbasierten Preise. Die Abrechnung erfolgt nur, wenn Instanzen des Add-Ons ausgeführt werden.
- Speicher-: Das Add-On verwendet beständigen Speicher, um sicherzustellen, dass kein Datenverlust besteht, da das Add-On auf Null skaliert wird.
- Überarbeitungen: Wenn Sie ein Add-On ändern, wird eine neue Überarbeitung Ihrer Container-App erstellt.
Siehe die dienstspezifischen Features für verwaltete Dienste.
Bindung
Sowohl Add-Ons als auch verwaltete Dienste stellen über eine Bindung eine Verbindung mit einem Container her.
Die Container-Apps-Laufzeit bindet eine Container-App an einen Dienst durch:
- Ermitteln des Diensts
- Extrahieren von Netzwerk- und Verbindungskonfigurationswerten
- Einfügen von Konfigurations- und Verbindungsinformationen in Container-App-Umgebungsvariablen
Sobald eine Bindung eingerichtet wurde, kann die Container-App diese Konfigurations- und Verbindungswerte aus Umgebungsvariablen lesen.
Entwicklung und Produktion im Vergleich
Während Sie von der Entwicklung zur Produktion wechseln, können Sie von einem Add-On zu einem verwalteten Dienst wechseln.
In der folgenden Tabelle ist dargestellt, welcher Dienst in der Entwicklung verwendet werden soll und welcher Dienst in der Produktion verwendet werden soll.
Funktionalität | Add-On | Verwalteter Produktionsdienst |
---|---|---|
cache | Open-source Redis | Azure Cache for Redis |
Datenbank | Nicht zutreffend | Azure Cosmos DB |
Datenbank | Open-source PostgreSQL | Azure Database for PostgreSQL – Flexibler Server |
Sie sind für die Datenkontinuität zwischen Entwicklungs- und Produktionsumgebungen verantwortlich.
Verwalten eines Diensts
Um einen Dienst mit einer Anwendung zu verbinden, müssen Sie zuerst den Dienst erstellen.
Verwenden Sie den Befehl az containerapp add-on <SERVICE_TYPE> create
mit dem Diensttyp und dem Namen, um einen neuen Dienst zu erstellen.
az containerapp add-on redis create \
--name myredis \
--environment myenv
Dieser Befehl erstellt einen neuen Redis-Dienst namens myredis
in einer Container-Apps-Umgebung namens myenv
.
Um einen Dienst an eine Anwendung zu binden, verwenden Sie das --bind
Argument fürcontainerapp create
.
az containerapp create \
--name myapp \
--image myimage \
--bind myredis \
--environment myenv
Dieser Befehl enthält die typische Container-App create
mit dem Argument für --bind
. Das Bind-Argument weist die Container-Apps-Laufzeit an, einen Dienst mit der Anwendung zu verbinden.
Das Argument --bind
ist für die Befehle create
oder update
verfügbar.
Um einen Dienst von einer Anwendung zu trennen, verwenden Sie das --unbind
Argument für den Befehl update
Das folgende Beispiel zeigt, wie Sie die Verbindung eines Diensts aufheben.
az containerapp update --name myapp --unbind myredis
Ein vollständiges Lernprogramm zum Herstellen einer Verbindung mit Diensten finden Sie unter Verbinden von Diensten in Azure Container Apps.
Weitere Informationen zu den Dienstbefehlen und Argumenten finden Sie in der az containerapp
Referenz.
Begrenzungen
- Add-Ons befinden sich in der öffentlichen Vorschau.
- Jede Container-App, die vor dem 23. Mai 2023 erstellt wurde, ist nicht berechtigt, Add-Ons zu verwenden.
- Add-Ons bieten minimale Garantien. Sie werden beispielsweise automatisch neu gestartet, wenn sie abstürzen, es gibt jedoch keine formale Servicequalität oder Hohe Verfügbarkeitsgarantien, die ihnen zugeordnet sind. Verwenden Sie für Produktionsworkloads Azure-verwaltete Dienste.
- Wenn Sie Ihr eigenes VNET verwenden, müssen Sie eine Umgebung mit Workloadprofilen verwenden. Das Add-Ons-Feature wird nicht nur in Umgebungen unterstützt, die benutzerdefinierte VNETs verwenden.