Självstudie: Förbereda ett program för AKS

Gäller för: AKS på Azure Stack HCI 22H2, AKS på Windows Server

I den här självstudien, del ett av sju, förbereds ett program med flera containrar för användning i ett Kubernetes-kluster när du använder Azure Kubernetes Service som aktiveras av Azure Arc. Befintliga utvecklingsverktyg som Docker Compose används för att bygga och testa ett program 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 som Azure Voting-appen som körs lokalt öppnas i en lokal webbläsare.

I senare självstudier laddas containeravbildningen upp till en Azure Container Registry och distribueras sedan till ett Kubernetes-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 Windows.

Anteckning

AKS innehåller inte de Docker-komponenter som krävs för att slutföra varje steg i de här självstudierna. 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 GitHub för att klona exempelprogrammet till din utvecklingsmiljö:

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

Ändra till den klonade katalogen:

cd azure-voting-app-redis

Inuti katalogen finns programmets källkod, en förskapad Docker Compose-fil och en Kubernetes-manifestfil. De här filerna används i hela självstudien. Katalogens innehåll och struktur ä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

Du kan använda Docker Compose för att automatisera skapandet av containeravbildningar och distributionen av program med flera containrar.

Använd docker-compose.yaml-exempelfilen för att skapa containeravbildningen, ladda ned Redis-avbildningen och starta programmet:

docker-compose up -d

När kommandot har körts kan du använda kommandot docker images till att se de avbildningar som skapats. Tre avbildningar laddades ned eller skapades. Avbildningen azure-vote-front innehåller klientdelsprogrammet och använder nginx-flask-avbildningen som bas. Redis-avbildningen används för att starta en Redis-instans.

$ docker images

REPOSITORY                                     TAG                 IMAGE ID            CREATED             SIZE
mcr.microsoft.com/azuredocs/azure-vote-front   v1                  84b41c268ad9        9 seconds ago       944MB
mcr.microsoft.com/oss/bitnami/redis            6.0.8               3a54a920bb6c        2 days ago          103MB
tiangolo/uwsgi-nginx-flask                     python3.6           a16ce562e863        6 weeks ago         944MB

Kör kommandot docker ps för att visa 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 visa programmet som körs anger du http://localhost:8080 i en lokal webbläsare. Exempelprogrammet läses in, som du ser i följande exempel:

Skärmbild som visar containeravbildningen som öppnats i en lokal webbläsare.

Rensa resurser

Nu när programmets funktioner har verifierats kan containrarna som körs stoppas och tas bort. Ta inte bort containeravbildningarna – i nästa självstudie laddas avbildningen azure-vote-front upp till en Azure Container Registry instans.

Stoppa och ta bort containerinstanser och resurser med kommandot docker-compose down:

docker-compose down

När du tar bort det lokala programmet har du en Docker-avbildning som innehåller Azure Vote-programmet azure-vote-front för användning i nästa självstudie.

Nästa steg

I den här självstudien testades ett program och containeravbildningar skapades för 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ö

Gå vidare till nästa självstudie och lär dig hur du lagrar containeravbildningar i Azure Container Registry.