Samouczek: przygotowywanie aplikacji do usługi AKS
Dotyczy: usługa AKS w usłudze Azure Stack HCI 22H2, AKS w systemie Windows Server
W tym samouczku, część jedna z siedmiu, aplikacja z wieloma kontenerami jest przygotowana do użycia w klastrze Kubernetes, gdy używasz Azure Kubernetes Service włączonej przez usługę Azure Arc. Istniejące narzędzia programistyczne, takie jak Docker Compose, są używane do lokalnego kompilowania i testowania aplikacji.
Omawiane kwestie:
- Klonowanie źródła przykładowej aplikacji z usługi GitHub
- Tworzenie obrazu kontenera ze źródła przykładowej aplikacji
- Testowanie aplikacji z wieloma kontenerami w lokalnym środowisku platformy Docker
Po zakończeniu następująca aplikacja będzie uruchomiona w lokalnym środowisku programistycznym:
W kolejnych samouczkach obraz kontenera jest przekazywany do Azure Container Registry, a następnie wdrażany w klastrze Kubernetes.
Zanim rozpoczniesz
Ten samouczek zakłada, że masz podstawową wiedzę na temat najważniejszych pojęć dotyczących platformy Docker, takich jak kontenery, obrazy kontenerów i polecenia docker
. Aby uzyskać podstawowe informacje na temat kontenerów, zapoznaj się z tematem Get started with Docker (Rozpoczynanie pracy z platformą Docker).
Do ukończenia tego samouczka konieczne będzie lokalne środowisko programistyczne platformy Docker z działającymi kontenerami systemu Linux. Platforma Docker udostępnia pakiety, które konfigurują platformę Docker w systemie Windows.
Uwaga
Usługa AKS nie zawiera składników platformy Docker wymaganych do wykonania każdego kroku w tych samouczkach. Dlatego zalecamy używanie pełnego środowiska programistycznego usługi Docker.
Pobieranie kodu aplikacji
Przykładowa aplikacja używana w tym samouczku to podstawowa aplikacja do głosowania składająca się z składnika internetowego frontonu i wystąpienia usługi Redis zaplecza. Składnik internetowy znajduje się w pakiecie niestandardowego obrazu kontenera. Wystąpienie usługi Redis używa niezmodyfikowanego obrazu z usługi Docker Hub.
Użyj usługi GitHub , aby sklonować przykładową aplikację do środowiska deweloperskiego:
git clone https://github.com/Azure-Samples/azure-voting-app-redis.git
Przejdź do sklonowanego katalogu:
cd azure-voting-app-redis
W tym katalogu znajduje się kod źródłowy aplikacji, wstępnie utworzony plik redagowania usługi Docker i plik manifestu usługi Kubernetes. Te pliki są używane w całym zestawie samouczków. Zawartość i struktura katalogu są następujące:
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
Tworzenie obrazów kontenerów
Za pomocą narzędzia Docker Compose można zautomatyzować tworzenie obrazów kontenerów i wdrażanie aplikacji z wieloma kontenerami.
Użyj przykładowego pliku docker-compose.yaml
, aby utworzyć obraz kontenera, pobrać obraz usługi Redis i uruchomić aplikację:
docker-compose up -d
Po zakończeniu użyj polecenia docker images w celu wyświetlenia utworzonych obrazów. Pobrano lub utworzono trzy obrazy. Obraz azure-vote-front zawiera aplikację frontonu i używa obrazu nginx-flask jako podstawy. Obraz redis służy do uruchamiania wystąpienia usługi Redis.
$ 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
Uruchom polecenie docker ps, aby wyświetlić uruchomione kontenery:
$ 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
Testowanie aplikacji w środowisku lokalnym
Aby wyświetlić działającą aplikację, wprowadź adres http://localhost:8080
w lokalnej przeglądarce internetowej. Zostanie załadowana przykładowa aplikacja, jak pokazano w poniższym przykładzie:
Czyszczenie zasobów
Po zweryfikowaniu funkcjonalności aplikacji można zatrzymać i usunąć uruchomione kontenery. Nie usuwaj obrazów kontenerów — w następnym samouczku obraz azure-vote-front zostanie przekazany do wystąpienia Azure Container Registry.
Zatrzymaj i usuń wystąpienia kontenerów i zasoby za pomocą polecenia docker-compose down:
docker-compose down
Po usunięciu aplikacji lokalnej masz obraz platformy Docker, który zawiera aplikację Azure Vote, azure-vote-front, do użycia z następnym samouczkiem.
Następne kroki
W tym samouczku przetestowano aplikację i obrazy kontenera utworzone dla aplikacji. W tym samouczku omówiono:
- Klonowanie źródła przykładowej aplikacji z usługi GitHub
- Tworzenie obrazu kontenera ze źródła przykładowej aplikacji
- Testowanie aplikacji z wieloma kontenerami w lokalnym środowisku platformy Docker
Przejdź do kolejnego samouczka, aby dowiedzieć się, jak przechowywać obrazy kontenerów w usłudze Azure Container Registry.