Tutorial: Mempersiapkan aplikasi untuk Azure Kubernetes Service (AKS)

Dalam tutorial ini, bagian satu dari tujuh, aplikasi multi-kontainer disiapkan untuk digunakan di Kubernetes. 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 citra kontainer Azure Voting App yang berjalan secara lokal terbuka di browser web lokal

Dalam tutorial selanjutnya, citra kontainer diunggah ke Azure Container Registry, dan kemudian diterapkan ke dalam kluster AKS.

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 Docker pada sistem Mac, Windows, atau Linux.

Catatan

Azure Cloud Shell 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. Instance Redis menggunakan citra yang tidak diubah dari Docker Hub.

Gunakan git untuk mengkloning aplikasi sampel ke lingkungan pengembangan Anda:

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

Ubah menjadi 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

Docker Compose dapat digunakan untuk mengotomatiskan citra kontainer bangunan dan penerapan 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 citra telah 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 citra kontainer Azure Voting App yang berjalan secara lokal terbuka di browser web lokal

Bersihkan sumber daya

Sekarang setelah fungsionalitas aplikasi telah divalidasi, kontainer yang berjalan dapat dihentikan dan dihapus. Jangan hapus citra kontainer _ - dalam tutorial berikutnya, citra _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

Ketika aplikasi lokal telah dihapus, 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.