Självstudie: Köra program i 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. Lär dig att:

  • Uppdatera en Kubernetes-manifestfil.
  • Kör ett program i Kubernetes.
  • Testa programmet.

I senare självstudier skalar du ut och uppdaterar ditt program.

Den här snabbstarten förutsätter att du har en grundläggande förståelse för Kubernetes-begrepp. Mer information finns i Viktiga koncept för Azure Kubernetes Service (AKS).

Tips

AKS-kluster kan använda GitOps för konfigurationshantering. Med GitOp kan deklarationer av klustrets tillstånd, som skickas till källkontrollen, 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örhandskraven för Azure Kubernetes Service kluster i självstudiekursen för GitOps med Flux v2.

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.

I den här självstudien behöver du Kubernetes-manifestfilen azure-vote-all-in-one-redis.yaml som skapats i förväg. Den här filnedladdningen inkluderades i programmets källkod i en tidigare självstudie. Kontrollera att du har klonat lagringsplatsen och att du har ändrat kataloger till den klonade lagringsplatsen. Om du inte har gjort de här stegen och vill följa med kan du börja med Självstudie 1: Förbereda ett program för AKS.

Den här självstudien kräver att du kör Azure CLI version 2.0.53 eller senare. Kör az --version för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.

Uppdatera manifestfilen

I dessa självstudier lagrar en Azure Container Registry-instans (ACR) containeravbildningen för exempelprogrammet. För att distribuera programmet måste du uppdatera avbildningens namn i Kubernetes-manifestfilen så att det inkluderar namnet på ACR-inloggningsservern.

Hämta namnet på ACR-inloggningsservern med kommandot az acr list .

az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table

Exempelmanifestfilen från git-lagringsplatsen som du klonade i den första självstudien använder avbildningarna från Microsoft Container Registry (mcr.microsoft.com). Kontrollera att du är i den klonade katalogen azure-voting-app-redis och öppna sedan manifestfilen med en textredigerare, till exempel vi:

vi azure-vote-all-in-one-redis.yaml

Ersätt mcr.microsoft.com med namnet på ACR-inloggningsservern. Du hittar avbildningsnamnet på rad 60 i manifestfilen. I följande exempel visas standardnamnet för avbildning:

containers:
- name: azure-vote-front
  image: mcr.microsoft.com/azuredocs/azure-vote-front:v1

Ange ditt eget namn på ACR-inloggningsservern så att manifestfilen ser ut ungefär som i följande exempel:

containers:
- name: azure-vote-front
  image: <acrName>.azurecr.io/azure-vote-front:v1

Spara och stäng filen. I vi använder du :wq.

Distribuera programmet

Om du vill distribuera programmet använder du kubectl apply kommandot och anger exempelmanifestfilen. Det här kommandot parsar manifestfilen och skapar de definierade Kubernetes-objekten.

kubectl apply -f azure-vote-all-in-one-redis.yaml

Följande exempelutdata visar de resurser som skapats på AKS-klustret:

$ kubectl apply -f azure-vote-all-in-one-redis.yaml

deployment "azure-vote-back" created
service "azure-vote-back" created
deployment "azure-vote-front" created
service "azure-vote-front" created

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.

Om du vill övervaka förloppet använder du kubectl get service kommandot med --watch argumentet .

kubectl get service azure-vote-front --watch

Till en början visas EXTERNAL-IP för tjänsten azure-vote-front som väntande.

azure-vote-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s

När EXTERNAL-IP-adressen ändras från väntande till en faktisk offentlig IP-adress använder du CTRL-C för att stoppa kubectl-övervakningsprocessen. Följande exempelutdata visar en giltig offentlig IP-adress som har tilldelats tjänsten:

azure-vote-front   LoadBalancer   10.0.34.242   52.179.23.131   80:30676/TCP   67s

Om du vill se programmet i praktiken öppnar du en webbläsare till tjänstens externa IP-adress.

Skärmbild som visar containeravbildningen Azure Voting App som körs i ett AKS-kluster som öppnats i en lokal webbläsare

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.

Nästa steg

I den här självstudien distribuerade du ett Exempelprogram för Azure-omröstning 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 skalar ett Kubernetes-program och den underliggande Kubernetes-infrastrukturen.