Azure Container Apps instellen

Voltooid

In deze les leert u hoe u een Azure Container Apps-omgeving en een Azure for PostgreSQL-database maakt met behulp van Azure CLI. Vervolgens configureert u uw Quarkus-toepassing zodat deze verbinding maakt met de externe database in plaats van de lokale database.

Er zijn verschillende doelen beschikbaar voor het implementeren van een Quarkus-toepassing in Azure, variërend van IaaS tot FaaS. Azure Container Apps bevindt zich tussen PaaS en FaaS. Het is meer vergelijkbaar met een PaaS, omdat u hiermee niet in een specifiek programmeermodel wordt gedwongen en u de regels kunt beheren waarmee u kunt uitschalen en inschalen. Aan de andere kant heeft het een aantal serverloze kenmerken, zoals schalen naar nul, gebeurtenisgestuurd schalen en een prijsmodel per seconde.

Screenshot that shows all Azure compute services.

Container Apps is gebouwd op Azure Kubernetes Service (AKS). Het omvat diepgaande integratie met KEDA (gebeurtenisgestuurde automatische schaalaanpassing voor Kubernetes), Dapr (gedistribueerde toepassingsruntime) en Envoy (een serviceproxy die is ontworpen voor cloudeigen toepassingen). De onderliggende complexiteit wordt geabstraheerd, dus u hoeft uw Kubernetes-service, implementatie, inkomend verkeer of volumemanifesten niet te configureren. U krijgt een eenvoudige API en gebruikersinterface om uw containertoepassing te configureren. Vanwege deze vereenvoudiging hebt u minder controle dan met AKS.

In Container Apps moeten toepassingen worden verpakt in een Docker-container. Container Apps ondersteunt Docker-containers die zijn gebouwd met Dockerfiles of met Jib. De container moet beschikbaar zijn in een containerregister. Container Apps ondersteunt Azure Container Registry, Docker Hub en GitHub Container Registry. Nadat de toepassingsinstallatiekopieën beschikbaar zijn in een register, biedt Container Apps ondersteuning voor implementatie vanuit Azure Portal, Azure CLI, GitHub Actions en Azure DevOps.

Container Apps biedt de volgende functies.

  • Revisies: Automatische versiebeheer waarmee u de levenscyclus van de toepassing van uw container-apps kunt beheren.
  • Verkeersbeheer: de mogelijkheid om binnenkomend HTTP-verkeer te splitsen over meerdere revisies voor blauw/groene implementaties en A/B-tests.
  • Inkomend verkeer: eenvoudige HTTPS-toegangsbeheerobjectconfiguratie. U hoeft zich geen zorgen te maken over DNS of certificaten.
  • Automatisch schalen: door KEDA ondersteunde schaaltriggers om uw app te schalen op basis van externe metrische gegevens.
  • Geheimen: Geheimen die worden gedeeld tussen containers, schaalregels en Dapr-sidecars.
  • Bewaking: Standaarduitvoer- en foutstromen die automatisch naar Log Analytics worden geschreven.
  • Dapr: Dapr-integratie voor uw container-apps. Schakel deze integratie in met behulp van een eenvoudige vlag.

In de volgende oefening leert u de volgende concepten kennen.

  • Omgeving: Een verbeterde beveiligingsgrens rond een groep container-apps. De apps worden geïmplementeerd in één virtueel netwerk, ze kunnen eenvoudig met elkaar communiceren en ze schrijven logboeken naar één Log Analytics-werkruimte. Een omgeving kan worden vergeleken met een Kubernetes-naamruimte.
  • Container-app: Een groep containers (een pod) die samen wordt geïmplementeerd en geschaald. Ze delen één schijfruimte en een netwerk.
  • Revisie: Een onveranderbare momentopname van een container-app. Nieuwe revisies worden automatisch gemaakt en zijn waardevol voor HTTP-verkeersomleidingsstrategieën zoals A/B-tests.

Screenshot that illustrates Container Apps concepts.

U maakt nu een Container App-omgeving om te zien hoe deze elementen werken.