Quickstart: Een toepassing implementeren in een nieuw Azure Kubernetes Service (AKS) Automatisch cluster vanuit een codeopslagplaats

Van toepassing op: ✔️ AKS Automatisch

Gebruik geautomatiseerde implementaties om een toepassing te bouwen en te implementeren vanuit een codeopslagplaats naar een nieuw of bestaand automatisch AKS-cluster. Geautomatiseerde implementaties vereenvoudigen het instellen van een GitHub Action-werkstroom voor het bouwen en implementeren van uw code. Zodra u geconnecteerd bent, zal elke nieuwe commit de pijplijn starten. Geautomatiseerde implementaties bouwen voort op draft.sh. Wanneer u een nieuwe implementatiewerkstroom maakt, kunt u een bestaand Dockerfile gebruiken, een Dockerfile genereren, bestaande Kubernetes-manifesten gebruiken of Kubernetes-manifesten genereren. De gegenereerde manifesten worden opgesteld met de beste praktijken voor beveiliging en veerkracht in gedachten. AKS Automatic bevat ook een SLA voor podgereedheid die garandeert dat 99,9% van in aanmerking komende podgereedheidsbewerkingen binnen 5 minuten voltooid zijn, waardoor uw toepassingen beschikken over een betrouwbare, zelfherstellende infrastructuur.

In deze quickstart leert u het volgende:

  • Verbinding maken met een codeopslagplaats.
  • Plaats uw toepassing in een container.
  • Kubernetes-manifesten configureren.
  • Maak een automatisch AKS-cluster.
  • Implementeer de toepassing via een pull-aanvraag.

Voordat u begint

Belangrijk

Vanaf AKS 1.36 schakelen nieuwe automatische AKS-clusters standaard Kubernetes Gateway-API in via de invoegtoepassing voor toepassingsroutering in plaats van beheerd NGINX-inkomend verkeer met de invoegtoepassing voor toepassingsroutering vanwege de buitengebruikstelling van upstream Ingress NGINX.

Bestaande automatische clusters worden niet beïnvloed, maar moeten beginnen met de migratie naar de Kubernetes Gateway-API via de invoegtoepassing voor toepassingsroutering.

Beperkingen

De volgende beperkingen gelden voor automatische AKS-clusters:

  • AKS Automatic is algemeen beschikbaar in de volgende regio's: australiaeast, austriaeast, belgiumcentral, brazilsouth, canadacentral, centralindia, centralus, chilecentral, denmarkeast, eastasia, eastus, eastus2, francecentral, germanywestcentral, indonesiacentral, israelcentral, italynorth, japaneast, japanwest, koreacentral, malaysiawest, mexicocentral, newzealandnorth, northeurope, norwayeast, polandcentral, southafricanorth, southcentralus, southeastasia, spaincentral, swedencentral, switzerlandnorth, uaenorth, uksouth, westeurope, westus2, westus3.
    • Nieuwe automatische AKS-clusters schakelen standaard pools voor beheerde systeemknooppunten en LocalDNS in. U kunt geen automatische AKS-clusters maken zonder beheerde systeemknooppuntgroepen in een regio.
  • Het automatische AKS-cluster heeft noderesourcegroepvergrendeling vooraf geconfigureerd, waardoor wijzigingen in de MC_ resourcegroep niet zijn toegestaan, waardoor virtuele netwerkkoppelingen in de standaardzone Privé-DNS zone niet zijn toegestaan. Voor cross‑VNet of aangepaste DNS-scenario's gebruikt u een aangepast netwerk en privé-DNS door de instructies te volgen in Create een privé-Azure Kubernetes Service (AKS) automatisch cluster in een aangepast virtueel netwerk.
  • Azure CLI versie 2.86.0 of hoger is vereist. Voer de opdracht uit az --version om de versie te vinden. Als u Azure CLI wilt installeren of upgraden, raadpleegt u Azure CLI installeren.
  • De volgende extensies worden niet ondersteund:
  • Windows-knooppunten worden niet ondersteund.
  • Migratie van AKS-basis-SKU naar automatische SKU wordt niet ondersteund.
  • Migraties tussen AKS Automatische clusters zonder beheerde systeemknooppuntgroepen en AKS Automatische clusters met beheerde systeemknooppuntgroepen worden niet ondersteund.

De broncode van uw toepassing meenemen

Als u een toepassing vanuit een codeopslagplaats wilt implementeren, begint u bij de Azure-portal startpagina.

Schermopname van de optie Toepassing implementeren in het menu Maken van Kubernetes-services.

  1. Zoek naar Kubernetes-services in de bovenste zoekbalk.
  2. Selecteer Kubernetes-services in de zoekresultaten.
  3. Selecteer de knop Maken en selecteer Toepassing implementeren.

Verbinding maken met broncodeopslagplaats

Maak en geautomatiseerde implementatiewerkstroom en autoriseert deze om verbinding te maken met de gewenste opslagplaats voor broncode.

  1. Selecteer Uw toepassing implementeren op het tabblad Basisbeginselen.
  2. Kies onder Project details de Subscription, Resource Group en Region.
  3. Voer onder Repository details een naam in voor de werkstroom en selecteer vervolgens Toegang om verbinding te maken met de gewenste GitHub opslagplaats.
  4. Kies de Repository en Branch.
  5. Selecteer de Volgende knop.

Kies de configuratie van de containerimage

Om een toepassing voor te bereiden voor Kubernetes, moet u deze omzetten in een containerimage en opslaan in een containerregister. U gebruikt een Dockerfile om te beschrijven hoe de containerafbeelding gebouwd moet worden. Als uw broncodeopslagplaats nog geen Dockerfile heeft, kunnen geautomatiseerde implementaties er een voor u genereren, anders kunt u een bestaand Dockerfile gebruiken.

Gebruik geautomatiseerde implementaties om een Dockerfile te genereren voor veel talen en frameworks, zoals Go, C#, Node.js, Python, Java, Gradle, Clojure, PHP, Ruby, Erlang, Swift en Rust. De taalondersteuning is gebaseerd op wat er beschikbaar is in draft.sh.

  1. Selecteer Automatisch containeriseren (Dockerfile genereren) voor de containerconfiguratie.
  2. Selecteer de locatie waar u het gegenereerde Dockerfile in de opslagplaats wilt opslaan.
  3. Kies de toepassingsomgeving in de lijst met ondersteunde talen en frameworks.
  4. Voer de toepassingspoort in.
  5. Selecteer een bestaande Azure Container Registry of maak een nieuwe. Dit register wordt gebruikt voor het opslaan van de ingebouwde toepassingsinstallatiekopie. De kubelet-identiteit van het AKS automatische cluster krijgt AcrPull machtigingen op dat register.

De Configuratie van het Kubernetes-manifest kiezen

Een toepassing die wordt uitgevoerd op Kubernetes bestaat uit veel primitieve Kubernetes-onderdelen. Deze onderdelen beschrijven welke containerinstallatiekopie moet worden gebruikt, hoeveel replica's moeten worden uitgevoerd, als er een openbaar IP-adres is vereist om de toepassing beschikbaar te maken, enzovoort. Zie de officiële Kubernetes-documentatie voor meer informatie. Als uw broncodeopslagplaats nog niet beschikt over de basis-Kubernetes-manifesten om te implementeren, kunnen geautomatiseerde implementaties deze voor u genereren, anders kunt u een set bestaande manifesten gebruiken. U kunt ook een bestaande Helm-grafiek kiezen.

Gebruik geautomatiseerde implementaties om een set eenvoudige Kubernetes-manifestbestanden te genereren om uw toepassing actief te maken. Op dit moment maken geautomatiseerde implementaties een Deployment, een Serviceen een ConfigMap.

De gegenereerde manifesten zijn ontworpen om aanbevelingen van implementatiebeveiligingen toe te passen, zoals:

Kubernetes-manifesten genereren:

  1. Selecteer Toepassingsimplementatiebestanden genereren voor de implementatieopties.
  2. Voer de toepassingspoort in. Deze poort wordt gebruikt voor de gegenereerde Service.
  3. Selecteer de locatie waar de gegenereerde Kubernetes-manifesten in de opslagplaats moeten worden opgeslagen .
  4. Selecteer de Volgende knop.

Selecteer waar u de toepassing wilt implementeren

Als u nog geen cluster hebt, kunt u een nieuw automatisch AKS-cluster maken als onderdeel van deze implementatie.

  1. Selecteer Automatisch Kubernetes-cluster maken voor de clusterconfiguratie.
  2. Voer een clusternaam in.
  3. Kies het onderhoudsschema voor automatische upgrades of laat de standaardwaarde geselecteerd.
  4. Voer de Kubernetes-naamruimte in waar de toepassing is geïmplementeerd.
  5. Kies het bewakings- en logboekregistratieniveau of laat de standaardwaarde geselecteerd.
  6. Selecteer de Volgende knop.

Configuratie beoordelen en uitrollen

Controleer de configuratie voor het cluster, de toepassing en de Kubernetes-manifesten en selecteer vervolgens Implementeren. Het maken van een cluster duurt enkele minuten. Navigeer niet weg van de implementatiepagina.

Schermopname van Het implementeren van de toepassing.

  1. Er wordt een nieuw automatisch AKS-cluster gemaakt of er is een bestaand cluster geconfigureerd.
  2. Er wordt een containerregister gemaakt of er is een bestaand register geconfigureerd met het cluster.
  3. Federatieve referenties worden gemaakt zodat de GitHub actiewerkstroom kan worden geïmplementeerd in het cluster.
  4. Er wordt een pull-aanvraag gemaakt in de codeopslagplaats met alle gegenereerde bestanden en de werkstroom.

Pull-aanvraag controleren en samenvoegen

Wanneer de implementatie is voltooid, selecteert u de knop Pull-aanvraag weergeven om de details van de gegenereerde pull-aanvraag in uw codeopslagplaats weer te geven.

Schermopname van pull-aanvraag op GitHub.

  1. Controleer de wijzigingen onder Bestanden gewijzigd en breng eventueel gewenste wijzigingen aan.
  2. Selecteer Pull-aanvraag samenvoegen om de wijzigingen samen te voegen in uw codeopslagplaats.

Als u de wijziging samenvoegt, wordt de GitHub Actions-werkstroom uitgevoerd die uw toepassing bouwt tot een containerimage, en deze opslaat in Azure Container Registry en implementeert naar de cluster.

Schermopname van een lopende GitHub Actions workflow.

De geïmplementeerde resources controleren

Nadat de pijplijn is voltooid, kunt u de gemaakte Kubernetes-Service bekijken in de Azure-portal door Services en ingresses te selecteren onder Kubernetes-resources servicemenu.

Schermopname van het deelvenster Services en ingresses.

Als u het externe IP-adres selecteert, wordt er een nieuwe browserpagina geopend met de toepassing die wordt uitgevoerd.

Schermopname van de Contoso Air-toepassing die wordt uitgevoerd.

Bronnen verwijderen

Zodra u klaar bent met uw cluster, kunt u het verwijderen om te voorkomen dat er Azure kosten in rekening worden gebracht.

  1. Navigeer in de Azure-portal naar uw resourcegroep.
  2. Selecteer Resourcegroep verwijderen.
  3. Voer de naam van de resourcegroep in om het verwijderen te bevestigen en selecteer Verwijderen.
  4. Selecteer Verwijderen in het dialoogvenster Bevestiging verwijderen.

Volgende stappen

In deze quickstart hebt u een toepassing geïmplementeerd in een Kubernetes-cluster met behulp van AKS Automatisch en een CI/CD-pijplijn (continue integratie/continue implementatie) vanuit een codeopslagplaats ingesteld.

Ga verder met de inleiding voor meer informatie over AKS Automatic.