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:
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:
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.