Tutorial: Mempersiapkan aplikasi untuk Azure Kubernetes Service (AKS)

Dalam tutorial ini, bagian satu dari tujuh, Anda menyiapkan aplikasi multi-kontainer untuk digunakan di Kubernetes. Anda menggunakan alat pengembangan yang ada seperti Docker Compose 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, Anda mengunggah gambar kontainer ke Azure Container Registry (ACR), lalu menyebarkannya ke 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. Instans Redis menggunakan gambar 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

Direktori berisi 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.

Perintah berikut menggunakan file sampel docker-compose.yaml untuk membuat gambar kontainer, mengunduh gambar Redis, dan memulai aplikasi.

docker-compose up -d

Setelah selesai, gunakan docker images perintah untuk melihat gambar 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 docker ps perintah 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 Anda yang sedang berjalan, navigasikan ke 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 gambar kontainer - dalam tutorial berikutnya, Anda akan mengunggah gambar azure-vote-front ke instans ACR.

Untuk menghentikan dan menghapus instans dan sumber daya kontainer, gunakan docker-compose down perintah .

docker-compose down

Ketika aplikasi lokal telah dihapus, Anda memiliki gambar Docker yang berisi aplikasi Azure Vote, azure-vote-front, untuk digunakan dalam tutorial berikutnya.

Langkah berikutnya

Dalam tutorial ini, Anda membuat aplikasi sampel, membuat gambar kontainer untuk aplikasi, lalu menguji 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

Dalam tutorial berikutnya, Anda akan mempelajari cara menyimpan gambar kontainer di ACR.