Konfigurere Azure Container Apps

Fullført

I denne enheten lærer du hvordan du oppretter et Azure Container Apps-miljø og en Azure for PostgreSQL-database ved hjelp av Azure CLI. Deretter konfigurerer du Quarkus-programmet slik at det kobles til den eksterne databasen i stedet for den lokale.

Flere mål er tilgjengelige for distribusjon av et Quarkus-program på Azure, alt fra IaaS til FaaS. Azure Container Apps er mellom PaaS og FaaS. Det er mer som en PaaS fordi det ikke tvinger deg inn i en bestemt programmeringsmodell, og du kan kontrollere reglene for å skalere ut og inn. På den annen side har den noen serverløse egenskaper, for eksempel skalering til null, hendelsesdrevet skalering og en prismodell per sekund.

Skjermbilde som viser alle Azure-databehandlingstjenester.

Container Apps er bygget på Azure Kubernetes Service (AKS). Det inkluderer dyp integrering med KEDA- (hendelsesdrevet autoskalering for Kubernetes), Dapr (distribuert programkjøring) og Envoy (en tjenesteproxy designet for skybaserte programmer). Den underliggende kompleksiteten er abstrahert, så du trenger ikke å konfigurere Kubernetes-tjenesten, distribusjons-, inngående- eller volummanifestene. Du får en enkel API og brukergrensesnitt for å konfigurere det beholderiserte programmet. På grunn av denne forenklingen har du mindre kontroll enn du har med AKS.

I Container Apps må programmer pakkes inn i en Docker-beholder. Container Apps støtter Docker-beholdere bygget med Dockerfiles eller med Jib. Beholderen må være tilgjengelig i et beholderregister. Container Apps støtter Azure Container Registry, Docker Hub og GitHub Container registret. Når programbildet er tilgjengelig i et register, støtter Container Apps distribusjon fra Azure-portalen, Azure CLI, GitHub Actions og Azure DevOps.

Container Apps inneholder følgende funksjoner.

  • Revisjoner: Automatisk versjonskontroll som hjelper deg med å administrere programmets livssyklus for beholderappene.
  • Trafikkkontroll: Muligheten til å dele innkommende HTTP-trafikk på tvers av flere revisjoner for blå/grønne distribusjoner og A/B-testing.
  • inngående: Enkel HTTPS-inntrengningskonfigurasjon. Du trenger ikke å bekymre deg for DNS eller sertifikater.
  • Autoscaling: KEDA-støttede skalautløsere for å skalere appen basert på eksterne måledata.
  • Secrets: Hemmeligheter som deles mellom beholdere, skaleringsregler og Dapr-sidebiler.
  • Overvåking: Standardutdata og feilstrømmer som skrives automatisk til Log Analytics.
  • Dapr: Dapr-integrering for beholderappene. Aktiver denne integreringen ved hjelp av et enkelt flagg.

I neste øvelse vil du bli introdusert til følgende konsepter.

  • Miljø: En utvidet sikkerhetsgrense rundt en gruppe beholderapper. Appene distribueres i ett enkelt virtuelt nettverk, de kan enkelt kommunisere med hverandre, og de skriver logger til ett enkelt Log Analytics-arbeidsområde. Et miljø kan sammenlignes med et Kubernetes-navneområde.
  • Container-appen: En gruppe beholdere (en pod) som distribueres og skaleres sammen. De deler én diskplass og et enkelt nettverk.
  • Revisjon: Et uforanderlig øyeblikksbilde av en beholderapp. Nye revisjoner opprettes automatisk og er verdifulle for HTTP-trafikkomadresseringsstrategier som A/B-testing.

skjermbilde som illustrerer Container Apps-konsepter.

Nå oppretter du et beholderappmiljø for å se hvordan disse elementene fungerer.