Einrichten von Azure-Container-Apps
In dieser Lektion erfahren Sie, wie Sie eine Azure-Container-Apps-Umgebung und eine Azure für PostgreSQL-Datenbank mithilfe der Azure CLI erstellen. Anschließend konfigurieren Sie Ihre Datenbankserverus-Anwendung so, dass sie eine Verbindung mit der Remotedatenbank anstelle der lokalen Datenbank herstellt.
Es stehen mehrere Ziele für die Bereitstellung einer Quarkus-Anwendung auf Azure zur Verfügung, von IaaS bis FaaS. Azure Container Apps liegt zwischen PaaS und FaaS. Es ist eher wie ein PaaS, da es Sie nicht in ein bestimmtes Programmiermodell erzwingt, und Sie können die Regeln steuern, um die sie skalieren und in. Andererseits weist sie einige serverlose Merkmale auf, z. B. skalierungsfrei auf Null, ereignisgesteuerte Skalierung und ein Preismodell pro Sekunde.
Container-Apps basieren auf Azure Kubernetes Service (AKS). Es umfasst eine umfassende Integration in KEDA- (ereignisgesteuertes automatischesCaling für Kubernetes), Dapr (verteilte Anwendungslaufzeit) und Envoy- (ein Dienstproxy, der für cloudeigene Anwendungen entwickelt wurde). Die zugrunde liegende Komplexität wird abstrahiert, sodass Sie Ihren Kubernetes-Dienst, Ihre Bereitstellung, den Eingangs- oder Volumemanifest nicht konfigurieren müssen. Sie erhalten eine einfache API und Benutzeroberfläche, um Ihre containerisierte Anwendung zu konfigurieren. Aufgrund dieser Vereinfachung haben Sie weniger Kontrolle als bei AKS.
In Container-Apps müssen Anwendungen in einen Docker-Container verpackt werden. Container-Apps unterstützen Docker-Container, die mit Dockerfiles oder mit Jib erstellt wurden. Der Container muss in einer Containerregistrierung verfügbar sein. Container-Apps unterstützen azure Container Registry, Docker Hub und GitHub Container Registry. Nachdem das Anwendungsimage in einer Registrierung verfügbar ist, unterstützt Container-Apps die Bereitstellung über das Azure-Portal, azure CLI, GitHub-Aktionen und Azure DevOps.
Container-Apps bieten die folgenden Features.
- Überarbeitungen: Automatische Versionsverwaltung, mit der Sie den Anwendungslebenszyklus Ihrer Container-Apps verwalten können.
- Datenverkehrskontrolle: Die Möglichkeit, eingehenden HTTP-Datenverkehr über mehrere Überarbeitungen für blaue/grüne Bereitstellungen und A/B-Tests aufzuteilen.
- Ingress-: Einfache HTTPS-Eingangskonfiguration. Sie müssen sich keine Gedanken über DNS oder Zertifikate machen.
- automatische Skalierung: KEDA-unterstützte Skalierungstrigger, um Ihre App basierend auf externen Metriken zu skalieren.
- Geheimnisse: Geheime Schlüssel, die für Container, Skalierungsregeln und Dapr-Sidecars freigegeben werden.
- Monitoring: Standardausgabe- und Fehlerdatenströme, die automatisch in Log Analytics geschrieben werden.
- Dapr: Dapr-Integration für Ihre Container-Apps. Aktivieren Sie diese Integration mithilfe eines einfachen Flags.
In der nächsten Übung werden Sie mit den folgenden Konzepten vertraut gemacht.
- Umgebung: Eine erweiterte Sicherheitsgrenze um eine Gruppe von Container-Apps. Die Apps werden in einem einzigen virtuellen Netzwerk bereitgestellt, können problemlos miteinander kommunizieren und Protokolle in einen einzelnen Log Analytics-Arbeitsbereich schreiben. Eine Umgebung kann mit einem Kubernetes-Namespace verglichen werden.
- Container-App: Eine Gruppe von Containern (einem Pod), die bereitgestellt und skaliert wird. Sie teilen einen einzelnen Speicherplatz und ein Netzwerk.
- Revision: Eine unveränderliche Momentaufnahme einer Container-App. Neue Überarbeitungen werden automatisch erstellt und sind für HTTP-Datenverkehrsumleitungsstrategien wie A/B-Tests nützlich.
Sie erstellen nun eine Container-App-Umgebung, um zu sehen, wie diese Elemente funktionieren.