Zelfstudie: Toepassing voorbereiden voor AKS (Azure Kubernetes Service)
In deze zelfstudie, deel een van zeven, wordt een toepassing met meerdere containers voorbereid voor gebruik in Kubernetes. Bestaande ontwikkelprogramma's, zoals Docker Compose, worden gebruikt voor het lokaal bouwen en testen van een toepassing. 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:
In latere zelf studies wordt de container installatie kopie geüpload naar een Azure Container Registry en vervolgens geïmplementeerd 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 voorbeeld toepassing die in deze zelf studie wordt gebruikt, is een eenvoudige stem-app die bestaat uit een front-end-webonderdeel 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
In de map bevinden zich de broncode van de toepassing, een vooraf gemaakt Docker Compose-bestand 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.
Gebruik het voorbeeldbestand docker-compose.yaml om automatisch de containerinstallatiekopie te maken, de Redis-installatiekopie te downloaden en de toepassing te starten:
docker-compose up -d
Wanneer dit is voltooid, gebruikt u de opdracht docker images om de gemaakte installatiekopieën te bekijken. Er zijn drie installatiekopieën gedownload of gemaakt. De installatiekopie azure-vote-front bevat de front-endtoepassing en gebruikt de nginx-flask installatiekopie als basis. De redis-installatiekopie wordt gebruikt om een Redis-exemplaar te starten.
$ 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
Voer de opdracht docker ps 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 wilt zien hoe de toepassing wordt uitgevoerd, typt u http://localhost:8080 in een lokale browser. De voorbeeldtoepassing wordt dan geladen, zoals wordt weergegeven in het volgende voorbeeld:
Resources opschonen
Nu de functionaliteit van de toepassing is gevalideerd, kunnen de actieve containers worden gestopt en verwijderd. Verwijder de container installatie kopieën niet. in de volgende zelf studie wordt de _azure-stem--afbeelding geüpload naar een Azure container Registry-exemplaar.
Stop en verwijder de containerexemplaren en -resources met de opdracht docker-compose down:
docker-compose down
Wanneer de lokale toepassing is verwijderd, hebt u een Docker-installatiekopie met de Azure Vote-toepassing, azure-vote-front, voor gebruik met de volgende zelfstudie.
Volgende stappen
In deze zelfstudie is een toepassing getest en zijn containerinstallatiekopieën gemaakt voor de toepassing. 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
Ga verder met de volgende zelfstudie voor informatie over het opslaan van containerinstallatiekopieën in Azure Container Registry.