Konfigurera Azure Container Apps

Slutförd

I den här lektionen får du lära dig hur du skapar en Azure Container Apps-miljö och en Azure for PostgreSQL-databas med hjälp av Azure CLI. Sedan konfigurerar du Quarkus-programmet så att det ansluter till fjärrdatabasen i stället för den lokala.

Det finns flera mål för att distribuera ett Quarkus-program i Azure, allt från IaaS till FaaS. Azure Container Apps är mellan PaaS och FaaS. Det är mer som en PaaS eftersom det inte tvingar dig till en specifik programmeringsmodell, och du kan styra reglerna för att skala ut och in. Å andra sidan har den vissa serverlösa egenskaper, till exempel skalning till noll, händelsedriven skalning och en prismodell per sekund.

Skärmbild som visar alla Azure-beräkningstjänster.

Container Apps bygger på Azure Kubernetes Service (AKS). Den innehåller djupgående integrering med KEDA- (händelsedriven automatisk skalning för Kubernetes), Dapr (distribuerad programkörning) och Envoy (en tjänstproxy utformad för molnbaserade program). Den underliggande komplexiteten är abstrakt, så du behöver inte konfigurera kubernetes-tjänsten, distributionen, ingressen eller volymmanifesten. Du får ett enkelt API och användargränssnitt för att konfigurera ditt containerbaserade program. På grund av den här förenklingen har du mindre kontroll än vad du har med AKS.

I Container Apps måste program paketeras i en Docker-container. Container Apps stöder Docker-containrar som skapats med Dockerfiles eller med Jib. Containern måste vara tillgänglig i ett containerregister. Container Apps stöder Azure Container Registry, Docker Hub och GitHub Container Registry. När programavbildningen är tillgänglig i ett register stöder Container Apps distribution från Azure-portalen, Azure CLI, GitHub Actions och Azure DevOps.

Container Apps innehåller följande funktioner.

  • Revisions: Automatisk versionshantering som hjälper dig att hantera programlivscykeln för dina containerappar.
  • Trafikkontroll: Möjligheten att dela inkommande HTTP-trafik över flera revisioner för blå/gröna distributioner och A/B-testning.
  • Inkommande: Enkel HTTPS-ingresshantering. Du behöver inte bekymra dig om DNS eller certifikat.
  • Autoskalning: KEDA-stödda skaleringsutlösare för att skala din app baserat på externa metrikvärden.
  • Secrets: Hemligheter som delas mellan containrar, skalningsregler och Dapr-sidovagnar.
  • Övervakning: Standardutdata och felströmmar som skrivs automatiskt till Log Analytics.
  • Dapr: Dapr-integrering för dina containerappar. Aktivera den här integreringen med hjälp av en enkel flagga.

I nästa övning kommer du att introduceras för följande begrepp.

  • Environment: En utökad säkerhetsgräns runt en grupp med containerappar. Apparna distribueras i ett enda virtuellt nätverk, de kan enkelt kommunicera med varandra och de skriver loggar till en enda Log Analytics-arbetsyta. En miljö kan jämföras med ett Kubernetes-namnområde.
  • Container app: En grupp containrar (en podd) som distribueras och skalas tillsammans. De delar ett enda diskutrymme och nätverk.
  • Revision: En oföränderlig ögonblicksbild av en containerapp. Nya revisioner skapas automatiskt och är värdefulla för HTTP-trafikomdirigeringsstrategier som A/B-testning.

Skärmbild som illustrerar begrepp för Container Apps.

Nu ska du skapa en Container App-miljö för att se hur dessa element fungerar.