Zelfstudie: Toepassing voorbereiden voor AKS (Azure Kubernetes Service)

In deze zelfstudie, deel één van zeven, bereidt u een toepassing met meerdere containers voor voor gebruik in Kubernetes. U gebruikt bestaande ontwikkelhulpprogramma's zoals Docker Compose om de toepassing lokaal te bouwen en te testen. In deze zelfstudie leert u procedures om het volgende te doen:

  • Een voorbeeld van een toepassingsbron klonen vanuit GitHub
  • Een containerinstallatiekopie maken van het voorbeeld van de toepassingsbron
  • De toepassing met meerdere containers testen in een lokale Docker-omgeving

Als u dit allemaal hebt gedaan, kunt u de volgende toepassing uitvoeren in uw lokale ontwikkelomgeving:

Schermopname van de containerinstallatiekopieën van de Azure Voting-app die lokaal wordt geopend in een lokale webbrowser

In latere zelfstudies uploadt u de containerinstallatiekopieën naar een Azure Container Registry (ACR) en implementeert u deze vervolgens in een AKS-cluster.

Voordat u begint

In deze zelfstudie wordt ervan uitgegaan dat u een basiskennis hebt van Docker-kernconcepten zoals containers, containerinstallatiekopieën en docker-opdrachten. Zie Aan de slag met Docker voor een uitleg van de basisprincipes van containers.

Voor deze zelfstudie hebt u een lokale Docker-ontwikkelomgeving met Linux-containers nodig. Docker biedt pakketten voor de configuratie van Docker op een Mac-, Windows- of Linux-systeem.

Notitie

Azure Cloud Shell bevat niet de Docker-onderdelen die nodig zijn om elke stap in deze zelfstudies te voltooien. Daarom raden wij u aan een volledige Docker-ontwikkelomgeving te gebruiken.

Toepassingscode ophalen

De voorbeeldtoepassing die in deze zelfstudie wordt gebruikt, is een eenvoudige stem-app die bestaat uit een front-endwebonderdeel en een back-end Redis-exemplaar. Het webonderdeel is verpakt in een aangepaste containerinstallatiekopie. Het Redis-exemplaar gebruikt een ongewijzigde installatiekopie van Docker Hub.

Gebruik git om de voorbeeldtoepassing te klonen naar uw ontwikkelomgeving.

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

Wijzig in de gekloonde map.

cd azure-voting-app-redis

De map bevat de broncode van de toepassing, een vooraf gemaakt Docker-opstellenbestand en een Kubernetes-manifestbestand. Deze bestanden worden gebruikt in de alle delen van de zelfstudie. De inhoud en structuur van de map zijn als volgt:

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

Containerinstallatiekopieën maken

Docker Compose kan worden gebruikt om het bouwen van containerinstallatiekopieën en het implementeren van toepassingen met meerdere containers te automatiseren.

Met de volgende opdracht wordt het voorbeeldbestand docker-compose.yaml gebruikt om de containerinstallatiekopieën te maken, de Redis-installatiekopieën te downloaden en de toepassing te starten.

docker compose up -d

Wanneer u klaar bent, gebruikt u de docker images opdracht om de gemaakte installatiekopieën te bekijken. Er worden twee installatiekopieën gedownload of gemaakt. De installatiekopieën azure-vote-front bevatten de front-endtoepassing. De redis-installatiekopie wordt gebruikt om een Redis-exemplaar te starten.

$ 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

Voer de docker ps opdracht uit om de actieve containers te zien.

$ 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

Toepassing lokaal testen

Als u uw actieve toepassing wilt zien, gaat u naar http://localhost:8080 in een lokale webbrowser. De voorbeeldtoepassing wordt dan geladen, zoals wordt weergegeven in het volgende voorbeeld:

Schermopname van de containerinstallatiekopieën van de Azure Voting-app die lokaal wordt geopend in een lokale webbrowser

Resources opschonen

Nu de functionaliteit van de toepassing is gevalideerd, kunnen de actieve containers worden gestopt en verwijderd. Verwijder de containerinstallatiekopieën niet . In de volgende zelfstudie uploadt u de installatiekopieën azure-vote-front naar een ACR-exemplaar .

Gebruik docker-compose down de opdracht om de containerinstanties en -resources te stoppen en te verwijderen.

docker compose down

Wanneer de lokale toepassing is verwijderd, hebt u een Docker-installatiekopieën met de Azure Vote-toepassing, azure-vote-front, die u in de volgende zelfstudie kunt gebruiken.

Volgende stappen

In deze zelfstudie hebt u een voorbeeldtoepassing gemaakt, containerinstallatiekopieën voor de toepassing gemaakt en vervolgens de toepassing getest. U hebt geleerd hoe u:

  • Een voorbeeld van een toepassingsbron klonen vanuit GitHub
  • Een containerinstallatiekopie maken van het voorbeeld van de toepassingsbron
  • De toepassing met meerdere containers testen in een lokale Docker-omgeving

In de volgende zelfstudie leert u hoe u containerinstallatiekopieën opslaat in een ACR.