Konfigurere Azure Container Apps
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.
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.
Nå oppretter du et beholderappmiljø for å se hvordan disse elementene fungerer.