Dela via


Automatiserade distributioner för Azure Kubernetes Service (AKS)

Automatiserade distributioner effektiviserar processen med att konfigurera en GitHub-åtgärd eller Azure DevOps-pipeline, vilket gör det enkelt att skapa en pipeline för kontinuerlig distribution för ditt program till Azure Kubernetes Service (AKS). När du är ansluten utlöser varje ny commit pipelinen automatiskt och levererar uppdateringar sömlöst till din applikation. Du kan antingen ta med egna distributionsfiler för att snabbt skapa pipeline eller generera Dockerfiles- och Kubernetes-manifest för att containerisera och distribuera icke-containerbaserade program med minimal ansträngning.

Förutsättningar

Ansluta till källkodslagringsplatsen

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

  1. I Azure Portal navigerar du till aks-klusterresursen.
  2. På tjänstmenyn går du till Inställningar och väljer Automatiserade distributioner>Skapa.
  3. Under Information om lagringsplats anger du ett namn för arbetsflödet och väljer sedan GitHub eller ADO för lagringsplatsen.
  4. Välj Auktorisera åtkomst för att ansluta till önskad lagringsplats.
  5. Välj Lagringsplats och gren och välj sedan 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 lagra det 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 programporten.
  5. Ange Dockerfile-byggekontextens sökväg.
  6. Välj ett befintligt Azure Container Registry eller skapa ett nytt. Det här registret används för att lagra den byggda programbilden.

Välj Kubernetes-manifestkonfigurationen

Anmärkning

Alternativet Generera manifest stöder även avancerade funktioner som Integrering av Service Connector, automatiskt genererade ingressresurser och mer detaljerade, anpassningsbara Kubernetes-manifestfiler.

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][kubernetes-documentation]. Om källkodslagringsplatsen 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.

Om din kodlagringsplats redan har en Dockerfile kan du välja den som ska användas för att skapa programbilden.

  1. Välj Använd befintliga Kubernetes-manifestdistributionsfiler för distributionsalternativen.
  2. Välj Kubernetes-manifestfilen eller -mappen från lagringsplatsen.
  3. Välj Nästa.

(Valfritt) Använd en hanterad ingress och/eller tjänstanslutning

När du genererar Kubernetes-manifest med automatiserade distributioner kan du också aktivera approutning för att konfigurera en ingresskontrollant för ditt program. Du kan också använda Service Connector för att skapa en ny anslutning eller sömlöst integrera din app med en befintlig Azure-tjänstserverdel.

App Routing tillhandahåller en fullt hanterad NGINX-baserad ingress-kontrollant direkt ur boxen, komplett med inbyggd SSL/TLS-kryptering med certifikat som lagras i Azure Key Vault och hantering av DNS-zoner via Azure DNS. När du använder automatiserade distributioner integreras kommandot för att exponera ingress sömlöst med App Routing, vilket gör det enkelt att exponera din applikation för extern trafik under ett säkert, anpassat DNS-namn – med minimal konfiguration.

  1. Välj rutan Exponera ingress .
  2. Välj mellan en befintlig ingresskontrollant eller en ny ingresskontrollant.
  3. Välj mellan att använda en SSL/TLS-aktiverad eller osäker ingresskontrollant.
  4. (Valfritt) Ange certifikatinformation om du väljer en SSL/TLS-aktiverad ingresskontrollant.
  5. Välj mellan att använda Azure DNS eller en tredjepartsleverantör.
  6. Ange Namnet på Azure DNS-zonen och underdomänen.

(Valfritt) Lägga till miljövariabler

Definiera miljövariabler för en container i Kubernetes genom att ange namn/värde-par. Miljövariabler är viktiga eftersom de underlättar hanteringen av inställningar, säker hantering av känslig information och flexibilitet i olika miljöer.

Granska konfiguration och distribution

Granska konfigurationen för programmet och Kubernetes-manifest och välj sedan Distribuera. En pull-begäran (PR) genereras mot den lagringsplats som du har valt, så gå inte bort från distributionssidan.

Granska och sammanfoga pull-begäran

När distributionen lyckas väljer du 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.

Genom att slå samman ändringen körs GitHub Actions-arbetsflödet som skapar ditt program till en containeravbildning, lagrar det i Azure Container Registry och distribuerar det till klustret.

Skärmbild som visar hur GitHub Actions-arbetsflödet pågår.

Kontrollera de distribuerade resurserna

När pipelinen är klar kan du granska den skapade Kubernetes Service i Azure-portalen genom att välja Tjänster och ingresser under avsnittet Kubernetes-resurser på tjänstmenyn.

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 använder du följande steg för att ta bort det för att undvika azure-avgifter:

  1. I Azure-portalen går du till Automatiserade distributioner
  2. Välj ... på den pipeline du vill.
  3. Välj Ta bort.