Tutorial: Menyiapkan aplikasi untuk AKS

Berlaku untuk: AKS di Azure Stack HCI 22H2, AKS di Windows Server

Dalam tutorial ini, bagian satu dari tujuh, aplikasi multi-kontainer disiapkan untuk digunakan pada kluster Kubernetes saat Anda menggunakan Azure Kubernetes Service diaktifkan oleh Azure Arc. Alat pengembangan yang ada seperti Docker Compose digunakan untuk membangun dan menguji aplikasi secara lokal.

Anda mempelajari cara:

  • Mengkloning sumber daya aplikasi sampel dari GitHub
  • Membuat citra kontainer dari sumber daya aplikasi sampel
  • Menguji aplikasi multi-kontainer di lingkungan Docker lokal

Setelah selesai, aplikasi berikut berjalan di lingkungan pengembangan lokal Anda:

Cuplikan layar memperlihatkan gambar kontainer yang dijalankan Azure Voting App secara lokal dibuka di browser web lokal.

Dalam tutorial selanjutnya, gambar kontainer diunggah ke Azure Container Registry, lalu disebarkan ke dalam kluster Kubernetes.

Sebelum Anda mulai

Tutorial ini mengasumsikan pemahaman dasar tentang konsep core Docker seperti kontainer, citra kontainer, dan perintah docker. Untuk informasi awal tentang dasar-dasar kontainer, lihat Mulai menggunakan Docker.

Untuk menyelesaikan tutorial ini, Anda memerlukan lingkungan pengembangan Docker lokal yang menjalankan kontainer Linux. Docker menyediakan paket yang mengonfigurasi dirinya sendiri di Windows.

Catatan

AKS tidak menyertakan komponen Docker yang diperlukan untuk menyelesaikan setiap langkah dalam tutorial ini. Oleh karena itu, kami sarankan untuk menggunakan lingkungan pengembangan Docker penuh.

Mendapatkan kode aplikasi

Aplikasi sampel yang digunakan dalam tutorial ini adalah aplikasi pemungutan suara dasar yang terdiri dari komponen web front-end dan instans Redis back-end. Komponen web dikemas ke dalam citra kontainer kustom. Instans Redis menggunakan gambar yang tidak diubah dari Docker Hub.

Gunakan GitHub untuk mengkloning aplikasi sampel ke lingkungan pengembangan Anda:

git clone https://github.com/Azure-Samples/azure-voting-app-redis.git

Ubah ke direktori kloning:

cd azure-voting-app-redis

Di dalam direktori adalah kode sumber aplikasi, file Docker Compose yang telah dibuat sebelumnya, dan file manifes Kubernetes. File-file ini digunakan di seluruh set tutorial. Konten dan struktur direktori adalah sebagai berikut:

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

Membuat gambar kontainer

Anda dapat menggunakan Docker Compose untuk mengotomatiskan pembuatan gambar kontainer dan penyebaran aplikasi multi-kontainer.

Gunakan file docker-compose.yaml sampel untuk membuat citra kontainer, mengunduh citra Redis, dan memulai aplikasi:

docker-compose up -d

Setelah selesai, gunakan perintah citra docker untuk melihat citra yang dibuat. Tiga gambar diunduh atau dibuat. Citra azure-vote-front berisi aplikasi front-end dan menggunakan citra nginx-flask sebagai basis. Citra redis digunakan untuk memulai instans 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

Jalankan perintah docker ps untuk melihat kontainer yang sedang berjalan:

$ 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

Menguji aplikasi secara lokal

Untuk melihat aplikasi yang sedang berjalan, masukkan http://localhost:8080 di browser web lokal. Aplikasi sampel dimuat, seperti yang ditunjukkan dalam contoh berikut:

Cuplikan layar memperlihatkan gambar kontainer yang dibuka di browser web lokal.

Membersihkan sumber daya

Sekarang setelah fungsionalitas aplikasi divalidasi, kontainer yang sedang berjalan dapat dihentikan dan dihapus. Jangan hapus gambar kontainer - dalam tutorial berikutnya, gambar azure-vote-front diunggah ke instans Azure Container Registry.

Hentikan dan hapus instans kontainer dan sumber daya dengan perintah docker-compose down:

docker-compose down

Saat Anda menghapus aplikasi lokal, Anda memiliki gambar Docker yang berisi aplikasi Azure Vote, azure-vote-front, untuk digunakan dengan tutorial berikutnya.

Langkah berikutnya

Dalam tutorial ini, aplikasi diuji dan citra kontainer dibuat untuk aplikasi. Anda mempelajari cara untuk:

  • Mengkloning sumber daya aplikasi sampel dari GitHub
  • Membuat citra kontainer dari sumber daya aplikasi sampel
  • Menguji aplikasi multi-kontainer di lingkungan Docker lokal

Lanjutkan ke tutorial berikutnya untuk mempelajari cara menyimpan citra kontainer di Azure Container Registry.