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