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ö:
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:
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.