Självstudie – Distribuera ett program till Azure Kubernetes Service (AKS)
Kubernetes tillhandahåller en distribuerad plattform för containerbaserade program. Du skapar och distribuerar dina egna program och tjänster till ett Kubernetes-kluster och låter klustret hantera tillgängligheten och anslutningen.
I den här självstudien, del fyra av sju, distribuerar du ett exempelprogram till ett Kubernetes-kluster. Du lär dig att:
- Uppdatera en Kubernetes-manifestfil.
- Kör ett program i Kubernetes.
- Testa programmet.
Dricks
Med AKS kan du använda följande metoder för konfigurationshantering:
GitOps: Gör att deklarationer av klustrets tillstånd kan tillämpas automatiskt på klustret. Information om hur du använder GitOps för att distribuera ett program med ett AKS-kluster finns i förutsättningarna för Azure Kubernetes Service-kluster i självstudiekursen GitOps med Flux v2 .
DevOps: Gör att du kan skapa, testa och distribuera med kontinuerlig integrering (CI) och kontinuerlig leverans (CD). Exempel på hur du använder DevOps för att distribuera ett program med ett AKS-kluster finns i Skapa och distribuera till AKS med Azure Pipelines eller GitHub Actions för distribution till Kubernetes.
Innan du börjar
I tidigare självstudier paketerade du ett program i en containeravbildning, laddade upp avbildningen till Azure Container Registry och skapade ett Kubernetes-kluster. För att slutföra den här självstudien behöver du den förskapade aks-store-quickstart.yaml
Kubernetes-manifestfilen. Den här filen laddades ned i programmets källkod från Självstudie 1 – Förbereda programmet för AKS.
Den här självstudien kräver Azure CLI version 2.0.53 eller senare. Kontrollera din version med az --version
. Information om hur du installerar eller uppgraderar finns i Installera Azure CLI.
Uppdatera manifestfilen
I de här självstudierna lagrar din Azure Container Registry-instans (ACR) containeravbildningarna för exempelprogrammet. Om du vill distribuera programmet måste du uppdatera avbildningsnamnen i Kubernetes-manifestfilen så att det innehåller namnet på ACR-inloggningsservern.
Hämta din inloggningsserveradress med hjälp av
az acr list
kommandot och frågan för inloggningsservern.az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
Kontrollera att du är i den klonade katalogen aks-store-demo och öppna sedan manifestfilen med en textredigerare, till exempel
vi
.vi aks-store-quickstart.yaml
image
Uppdatera egenskapen för containrarna genom att ersätta ghcr.io/azure-samples med namnet på ACR-inloggningsservern.containers: ... - name: order-service image: <acrName>.azurecr.io/aks-store-demo/order-service:latest ... - name: product-service image: <acrName>.azurecr.io/aks-store-demo/product-service:latest ... - name: store-front image: <acrName>.azurecr.io/aks-store-demo/store-front:latest ...
Spara och stäng filen. I
vi
använder du:wq
.
Kör appen
Distribuera programmet med kommandot
kubectl apply
som parsar manifestfilen och skapar de definierade Kubernetes-objekten.kubectl apply -f aks-store-quickstart.yaml
Följande exempelutdata visar de resurser som skapats på AKS-klustret:
deployment.apps/rabbitmq created service/rabbitmq created deployment.apps/order-service created service/order-service created deployment.apps/product-service created service/product-service created deployment.apps/store-front created service/store-front created
Kontrollera att distributionen lyckas genom att visa poddarna med
kubectl
kubectl get pods
Testa programmet
När programmet körs så exponerar en Kubernetes-tjänst programmets klientdel mot Internet. Den här processen kan ta ett par minuter att slutföra.
Kommandorad
Övervaka förloppet med kommandot
kubectl get service
med--watch
argumentet .kubectl get service store-front --watch
EXTERNAL-IP
Till en början visas tjänsten för butiksfronten som väntande:store-front LoadBalancer 10.0.34.242 <pending> 80:30676/TCP 5s
EXTERNAL-IP
När adressen ändras från väntande till en faktisk offentlig IP-adress använder duCTRL-C
för att stoppakubectl
bevakningsprocessen.Följande exempelutdata visar en giltig offentlig IP-adress som har tilldelats tjänsten:
store-front LoadBalancer 10.0.34.242 52.179.23.131 80:30676/TCP 67s
Visa programmet i praktiken genom att öppna en webbläsare till tjänstens externa IP-adress.
Om programmet inte läses in kan det vara ett auktoriseringsproblem med avbildningsregistret. Du kan visa statusen för dina containrar med hjälp av kommandot kubectl get pods
. Om du inte kan hämta containeravbildningarna kan du läsa Autentisera med Azure Container Registry från Azure Kubernetes Service.
Azure Portal
Gå till Azure-portalen för att hitta distributionsinformationen.
Navigera till Kubernetes-tjänsten för klustret
Välj
Services and Ingress
underKubernetes Resources
Kopiera den externa IP-adress som visas i kolumnen för butiksfronten
Klistra in IP-adressen i webbläsaren och besök din butikssida
Nästa steg
I den här självstudien distribuerade du ett Azure-exempelprogram till ett Kubernetes-kluster i AKS. Du har lärt dig att:
- Uppdatera en Kubernetes-manifestfil.
- Kör ett program i Kubernetes.
- Testa programmet.
I nästa självstudie får du lära dig hur du använder PaaS-tjänster för tillståndskänsliga arbetsbelastningar i Kubernetes.
Azure Kubernetes Service
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för