Zelfstudie: Een toepassing voorbereiden voor AKS
Van toepassing op: AKS in Azure Stack HCI 22H2, AKS op Windows Server
In deze zelfstudie, deel één van zeven, wordt een toepassing met meerdere containers voorbereid voor gebruik op een Kubernetes-cluster wanneer u Azure Kubernetes Service gebruikt die zijn ingeschakeld door Azure Arc. Bestaande ontwikkelhulpprogramma's, zoals Docker Compose, worden gebruikt om een 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 wordt de containerinstallatiekopie geüpload naar een Azure Container Registry en vervolgens geïmplementeerd in een Kubernetes-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 waarmee Docker in Windows wordt geconfigureerd.
Notitie
AKS 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 GitHub om de voorbeeldtoepassing te klonen naar uw ontwikkelomgeving:
git clone https://github.com/Azure-Samples/azure-voting-app-redis.git
Ga naar 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
U kunt Docker Compose gebruiken om het bouwen van containerinstallatiekopieën en de implementatie 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 containerinstallatiekopieën niet. In de volgende zelfstudie wordt de installatiekopieën azure-vote-front 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 u de lokale toepassing verwijdert, hebt u een Docker-installatiekopieën die de Azure Vote-toepassing, azure-vote-front, bevat voor gebruik in 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.