Delen via


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:

Schermopname van de containerinstallatiekopieën die de Azure Voting App lokaal heeft geopend in een lokale webbrowser.

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:

Schermopname van de containerinstallatiekopieën die zijn 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 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.