Självstudie: Förbereda ett program för Azure Kubernetes Service (AKS)

I den här självstudien, del ett av sju, förbereder du ett program med flera containrar som ska användas i Kubernetes. Du använder befintliga utvecklingsverktyg som Docker Compose för att skapa och testa programmet lokalt. Lär dig att:

  • Klona en exempelprogramkälla från GitHub
  • Skapa en containeravbildning från exempelprogramkällan
  • Testa programmet med flera containrar i en lokal Docker-miljö

När det är klart körs följande program i din lokala utvecklingsmiljö:

Skärmbild som visar containeravbildningen azure voting app som körs lokalt öppnad i en lokal webbläsare

I senare självstudier laddar du upp containeravbildningen till en Azure Container Registry (ACR) och distribuerar den sedan till ett AKS-kluster.

Innan du börjar

Den här självstudiekursen förutsätter grundläggande kunskaper om grundläggande Docker-begrepp som containrar, containeravbildningar och docker-kommandon. Läs mer om grunderna för containrar i Kom igång med Docker.

För att slutföra den här självstudien behöver du en lokal Docker-utvecklingsmiljö som kör Linux-containrar. Docker tillhandahåller paket som konfigurerar Docker i ett Mac-, Windows- eller Linux-system.

Anteckning

Azure Cloud Shell inkluderar inte de Docker-komponenter som krävs för att slutföra stegen i dessa självstudier. Därför rekommenderar vi att du använder en fullständig Docker-utvecklingsmiljö.

Hämta programkod

Exempelprogrammet som används i den här självstudien är en grundläggande röstningsapp som består av en frontend-webbkomponent och en Redis-instans i serverdelen. Webbkomponenten paketeras i en anpassad containeravbildning. Redis-instansen använder en oförändrad avbildning från Docker Hub.

Använd git för att klona exempelprogrammet till utvecklingsmiljön.

git clone https://github.com/Azure-Samples/azure-voting-app-redis.git

Ändra till den klonade katalogen.

cd azure-voting-app-redis

Katalogen innehåller programmets källkod, en i förväg skapad Docker-skrivfil och en Kubernetes-manifestfil. De här filerna används i hela självstudien. Innehållet och strukturen i katalogen är följande:

azure-voting-app-redis
│   azure-vote-all-in-one-redis.yaml
│   docker-compose.yaml
│   LICENSE
│   README.md
│
├───azure-vote
│   │   app_init.supervisord.conf
│   │   Dockerfile
│   │   Dockerfile-for-app-service
│   │   sshd_config
│   │
│   └───azure-vote
│       │   config_file.cfg
│       │   main.py
│       │
│       ├───static
│       │       default.css
│       │
│       └───templates
│               index.html
│
└───jenkins-tutorial
        config-jenkins.sh
        deploy-jenkins-vm.sh

Skapa containeravbildningar

Docker Compose kan användas för att automatisera genereringen av containeravbildningar och distributionen av program med flera containrar.

Följande kommando använder exempelfilen docker-compose.yaml för att skapa containeravbildningen, ladda ned Redis-avbildningen och starta programmet.

docker-compose up -d

När du docker images är klar använder du kommandot för att se de skapade avbildningarna. Två avbildningar laddas ned eller skapas. Avbildningen azure-vote-front innehåller klientdelsprogrammet. Redis-avbildningen används för att starta en Redis-instans.

$ docker images
REPOSITORY                                     TAG       IMAGE ID       CREATED       SIZE
mcr.microsoft.com/oss/bitnami/redis            6.0.8     3a54a920bb6c   2 years ago   103MB
mcr.microsoft.com/azuredocs/azure-vote-front   v1        4d4d08c25677   5 years ago   935MB

docker ps Kör kommandot för att se de containrar som körs.

$ docker ps

CONTAINER ID        IMAGE                                             COMMAND                  CREATED             STATUS              PORTS                           NAMES
d10e5244f237        mcr.microsoft.com/azuredocs/azure-vote-front:v1   "/entrypoint.sh /sta…"   3 minutes ago       Up 3 minutes        443/tcp, 0.0.0.0:8080->80/tcp   azure-vote-front
21574cb38c1f        mcr.microsoft.com/oss/bitnami/redis:6.0.8         "/opt/bitnami/script…"   3 minutes ago       Up 3 minutes        0.0.0.0:6379->6379/tcp          azure-vote-back

Testa programmet lokalt

Om du vill se ditt program som körs navigerar du till http://localhost:8080 i en lokal webbläsare. Exempelprogrammet läses in, som du ser i följande exempel:

Skärmbild som visar containeravbildningen azure voting app som körs lokalt öppnad i en lokal webbläsare

Rensa resurser

Nu när programfunktionen har verifierats, kan containrarna som körs stoppas och tas bort. Ta inte bort containeravbildningarna – i nästa självstudie överför du avbildningen azure-vote-front till en ACR-instans.

Om du vill stoppa och ta bort containerinstanser och resurser använder du docker-compose down kommandot .

docker-compose down

När det lokala programmet har tagits bort har du en Docker-avbildning som innehåller Azure Vote-programmet, azure-vote-front, som ska användas i nästa självstudie.

Nästa steg

I den här självstudien skapade du ett exempelprogram, skapade containeravbildningar för programmet och testade sedan programmet. Du har lärt dig att:

  • Klona en exempelprogramkälla från GitHub
  • Skapa en containeravbildning från exempelprogramkällan
  • Testa programmet med flera containrar i en lokal Docker-miljö

I nästa självstudie får du lära dig hur du lagrar containeravbildningar i en ACR.