Snabbstart: Distribuera ett program till ett nytt Azure Kubernetes Service (AKS) automatiskt kluster från en kodlagringsplats

Gäller för: ✔️ AKS Automatic

Använd automatiserade distributioner för att skapa och distribuera ett program från en kodlagringsplats till ett nytt eller befintligt AKS-automatiskt kluster. Automatiserade distributioner förenklar processen med att konfigurera ett arbetsflöde för GitHub åtgärd för att skapa och distribuera din kod. När du är ansluten startar varje ny commit pipelinen. Automatiserade distributioner bygger på draft.sh. När du skapar ett nytt distributionsarbetsflöde kan du använda en befintlig Dockerfile, generera en Dockerfile, använda befintliga Kubernetes-manifest eller generera Kubernetes-manifest. De genererade manifesten skapas med bästa praxis för säkerhet och återhämtning i åtanke. AKS Automatic innehåller även ett serviceavtal för poddberedskap som garanterar att 99,9% av kvalificerade poddberedskapsåtgärder slutförs inom 5 minuter, vilket garanterar tillförlitlig, självläkande infrastruktur för dina applikationer.

I den här snabbstarten lär du dig att:

  • Anslut till en kodlagringsplats.
  • Containerisera ditt program.
  • Konfigurera Kubernetes-manifest.
  • Skapa ett AKS-automatiskt kluster.
  • Distribuera programmet via en pull-begäran.

Innan du börjar

Begränsningar

  • AKS Automatiska klusters systemnodpool kräver distribution i Azure regioner som stöder minst tre tillgänglighetszoner, tillfälliga OS-diskar och Azure Linux OS.
  • AKS Automatic är tillgängligt i följande regioner: australiaeast, austriaeast, belgiumcentral, brazilsouth, canadacentral, centralindia, centralus, chilecentral, denmarkeast, eastasia, eastus, eastus2, francecentral, germanywestcentral, indonesiacentral, israelcentral, italynorth, japaneast, japanwest, koreacentral, malaysiawest, mexicocentral, newzealandnorth, northcentralus, northeurope, norwayeast, polandcentral, southafricanorth, southcentralus, southeastasia, spaincentral, swedencentral, switzerlandnorth, uaenorth, uksouth, westeurope, westus, westus2, westus3.
  • DET automatiska AKS-klustret har nedlåsning av resursgruppen förkonfigurerat, vilket inte tillåter ändringar i MC_-resursgruppen, vilket förhindrar virtuella nätverkslänkar i den privata standardzonen DNS. För scenarier mellan virtuella nätverk eller anpassade DNS-scenarier använder du anpassat nätverk och privat DNS genom att följa Skapa ett privat Azure Kubernetes Service (AKS) Automatiskt kluster i ett anpassat virtuellt nätverk.

Viktigt!

AKS Automatic försöker dynamiskt välja en virtuell datorstorlek för nodpoolen system baserat på den tillgängliga kapaciteten i prenumerationen. Kontrollera att din prenumeration har en kvot på 16 vCPU:er av någon av följande storlekar i den region som du distribuerar klustret till: Standard_D4lds_v5, Standard_D4ads_v5, Standard_D4ds_v5, Standard_D4d_v5, Standard_D4d_v4, Standard_DS3_v2, Standard_DS12_v2, Standard_D4alds_v6, Standard_D4lds_v6 eller Standard_D4alds_v5. Du kan visa kvoter för specifika VM-familjer och skicka begäranden om kvotökning via Azure-portalen. Om du har ytterligare frågor kan du läsa mer i felsökningsdokumenten.

Hämta programmets källkod

Om du vill distribuera ett program från en kodlagringsplats börjar du på startsidan Azure.

Skärmbild som visar hur du väljer

  1. Sök efter Kubernetes-tjänster i det övre sökfältet.
  2. Välj Kubernetes-tjänster i sökresultaten.
  3. Välj knappen Skapa och välj Distribuera program.

Ansluta till källkodslagringsplatsen

Skapa och automatiserat distributionsarbetsflöde och auktorisera det för att ansluta till den önskade källkodslagringsplatsen.

  1. På fliken Grundläggande väljer du Distribuera ditt program.
  2. Under Project information väljer du Subscription, Resource Group och Region.
  3. Under Databasinformation anger du ett namn för arbetsflödet och väljer sedan Authorize access för att ansluta till önskad GitHub lagringsplats.
  4. Välj lagringsplats och gren.
  5. Välj knappen Nästa.

Välj containeravbildningskonfigurationen

För att göra ett program redo för Kubernetes måste du skapa det i en containeravbildning och lagras i ett containerregister. Du använder en Dockerfile för att ge instruktioner om hur du skapar containeravbildningen. Om källkodslagringsplatsen inte redan har en Dockerfile kan automatiserade distributioner generera en åt dig, annars kan du använda en befintlig Dockerfile.

Använd Automatiserade distributioner för att generera en Dockerfile för många språk och ramverk som Go, C#, Node.js, Python, Java, Gradle, Clojure, PHP, Ruby, Erlang, Swift och Rust. Språkstöd bygger på vad som är tillgängligt i draft.sh.

  1. Välj Autocontainerize (generera Dockerfile) för containerkonfigurationen.
  2. Välj platsen där den genererade Dockerfile ska sparas på lagringsplatsen.
  3. Välj programmiljön i listan över språk och ramverk som stöds.
  4. Ange applikationsporten.
  5. Välj en befintlig Azure Container Registry eller skapa en ny. Det här registret används för att lagra den byggda programbilden. Kubelet-identiteten för AKS Automatic-klustret ges AcrPull behörigheter i det registret.

Välj Kubernetes-manifestkonfigurationen

Ett program som körs på Kubernetes består av många primitiva Kubernetes-komponenter. Dessa komponenter beskriver vilken containeravbildning som ska användas, hur många repliker som ska köras, om det krävs en offentlig IP-adress för att exponera programmet osv. Mer information finns i den officiella Kubernetes-dokumentationen. Om din källkodslagringsplats inte redan har de grundläggande Kubernetes-manifesten att distribuera kan automatiserade distributioner generera dem åt dig, annars kan du använda en uppsättning befintliga manifest. Du kan också välja ett befintligt Helm-diagram.

Använd Automatiserade distributioner för att generera en uppsättning grundläggande Kubernetes-manifestfiler för att få igång ditt program. För närvarande skapar automatiserade distributioner en Deployment, en Serviceoch en ConfigMap.

De genererade manifesten är utformade för att tillämpa rekommendationer för distributionsskydd, till exempel:

Så här genererar du Kubernetes-manifest:

  1. Välj Generera programdistributionsfiler för distributionsalternativen.
  2. Ange applikationsporten. Den här porten används på den genererade Service.
  3. Välj platsen där du vill spara de genererade Kubernetes-manifesten på lagringsplatsen.
  4. Välj knappen Nästa.

Välj var du vill distribuera programmet

Om du inte redan har ett kluster kan du skapa ett nytt AKS-automatiskt kluster som en del av den här distributionen.

  1. Välj Skapa automatiskt Kubernetes-kluster för klusterkonfigurationen.
  2. Ange ett klusternamn.
  3. Välj underhållsschemat för automatisk uppgradering eller låt standardinställningen vara markerad.
  4. Ange kubernetes-namnområdet där programmet distribueras.
  5. Välj övervaknings- och loggningsnivå eller låt standardvärdet vara valt.
  6. Välj knappen Nästa.

Granska konfiguration och distribution

Granska konfigurationen för kluster-, program- och Kubernetes-manifesten och välj sedan Distribuera. Det tar några minuter att skapa ett kluster, navigera inte bort från distributionssidan.

Skärmbild som visar Distribution av programmet.

  1. Ett nytt AKS-automatiskt kluster skapas eller ett befintligt har konfigurerats.
  2. Ett containerregister skapas eller så konfigureras ett befintligt med klustret.
  3. Federerade autentiseringsuppgifter skapas så att arbetsflödet för GitHub åtgärd kan distribueras till klustret.
  4. En pull-begäran skapas på kodlagringsplatsen med alla genererade filer och arbetsflödet.

Granska och sammanfoga pull-begäran

När distributionen lyckas väljer du knappen Visa pull-begäran för att visa information om den genererade pull-begäran på kodlagringsplatsen.

Skärmbild av pull-begäran på GitHub.

  1. Granska ändringarna under Filer har ändrats och gör önskade ändringar.
  2. Välj Koppla pull-begäran för att sammanfoga ändringarna till din kodlagringsplats.

När ändringen sammanfogas kör GitHub Actions-arbetsflödet som bygger din applikation till en containeravbildning, lagrar den i Azure Container Registry och distribuerar den på klustret.

Skärmbild som visar ett GitHub Actions-arbetsflöde som pågår.

Kontrollera de distribuerade resurserna

När pipelinen har slutförts kan du granska den skapade Kubernetes Service på Azure-portalen genom att välja Tjänster och ingresser under Kubernetes-resurser tjänstmeny.

Skärmbild av fönstret Tjänster och ingresser.

Om du väljer den externa IP-adressen bör du öppna en ny webbläsarsida med det program som körs.

Skärmbild som visar contoso Air-programmet som körs.

Ta bort resurser

När du är klar med klustret kan du ta bort det för att undvika Azure avgifter.

  1. I Azure-portalen går du till resursgruppen.
  2. Välj Ta bort resursgrupp.
  3. Ange namnet på resursgruppen för att bekräfta borttagningen och välj Ta bort.
  4. I dialogrutan Ta bort bekräftelse väljer du Ta bort.

Nästa steg

I den här snabbstarten distribuerade du ett program till ett Kubernetes-kluster med hjälp av AKS Automatic och konfigurerade en ci/CD-pipeline (kontinuerlig integrering/kontinuerlig distribution) från en kodlagringsplats.

Om du vill veta mer om AKS Automatic fortsätter du till introduktionen.