Tutorial: Mengonfigurasi kontainer sidecar untuk kontainer kustom di Azure App Service (pratinjau)
Dalam tutorial ini, Anda menambahkan pengumpul OpenTelemetry sebagai kontainer sidecar ke aplikasi kontainer kustom Linux di Azure App Service.
Di Azure App Service, Anda dapat menambahkan hingga 4 kontainer sidecar untuk setiap aplikasi kontainer kustom berkemampuan sidecar. Kontainer sidecar memungkinkan Anda menyebarkan layanan dan fitur tambahan ke aplikasi kontainer Anda tanpa membuatnya digabungkan erat ke kontainer aplikasi utama Anda. Misalnya, Anda dapat menambahkan layanan pemantauan, pengelogan, konfigurasi, dan jaringan sebagai kontainer sespan. Sidecar kolektor OpenTelemetry adalah salah satu contoh pemantauan seperti itu.
Untuk informasi selengkapnya tentang sespan, lihat Pola sespan.
Catatan
Untuk periode pratinjau, dukungan sidecar harus diaktifkan pada pembuatan aplikasi. Saat ini tidak ada cara untuk mengaktifkan dukungan sidecar untuk aplikasi yang ada.
Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.
1. Siapkan sumber daya yang diperlukan
Pertama, Anda membuat sumber daya yang digunakan tutorial (untuk informasi selengkapnya, lihat Gambaran Umum Cloud Shell). Mereka digunakan untuk skenario khusus ini dan tidak diperlukan untuk kontainer sespan secara umum.
Di Azure Cloud Shell, jalankan perintah berikut:
git clone https://github.com/Azure-Samples/app-service-sidecar-tutorial-prereqs cd app-service-sidecar-tutorial-prereqs azd provision
Saat diminta, berikan nama lingkungan, langganan, dan wilayah yang Anda inginkan. Contohnya:
- Nama lingkungan: my-sidecar-env
- Langganan: langganan Anda
- Wilayah: (Eropa) Eropa Barat
Saat penyebaran selesai, Anda akan melihat output berikut:
APPLICATIONINSIGHTS_CONNECTION_STRING = InstrumentationKey=...;IngestionEndpoint=...;LiveEndpoint=... Open resource group in the portal: https://portal.azure.com/#@/resource/subscriptions/.../resourceGroups/...
Buka tautan grup sumber daya di tab browser. Anda harus menggunakan string koneksi nanti.
Catatan
azd provision
menggunakan templat yang disertakan untuk membuat sumber daya Azure berikut:- Grup sumber daya
- Registri kontainer dengan dua gambar yang disebarkan:
- Gambar Nginx dengan modul OpenTelemetry.
- Gambar pengumpul OpenTelemetry, dikonfigurasi untuk diekspor ke Azure Monitor.
- Ruang kerja analitik log
- Komponen Application Insights
2. Buat aplikasi berkemampuan sespan
Di halaman manajemen grup sumber daya, pilih Buat.
Cari aplikasi web, lalu pilih panah bawah pada Buat dan pilih Aplikasi Web.
Konfigurasikan panel Dasar sebagai berikut:
- Nama: Nama yang unik
- Terbitkan: Kontainer
- Sistem Operasi: Linux
- Wilayah: Wilayah yang sama dengan wilayah yang Anda pilih
azd provision
- Paket Linux: Paket App Service baru
Pilih Kontainer. Konfigurasikan panel Kontainer sebagai berikut:
- Dukungan sidecar: Diaktifkan
- Sumber Gambar: Azure Container Registry
- Registri: Registri yang dibuat oleh
azd provision
- Gambar: nginx
- Tag: terbaru
- Port: 80
Catatan
Pengaturan ini dikonfigurasi secara berbeda di aplikasi yang mendukung sidecar. Untuk informasi selengkapnya, lihat Perbedaan untuk aplikasi yang mendukung sidecar.
Pilih Tinjau + buat, lalu pilih Buat.
Setelah penyebaran selesai, pilih Buka sumber daya.
Di tab browser baru, navigasikan ke
https://<app-name>.azurewebsites.net
dan lihat halaman Nginx default.
3. Tambahkan kontainer sespan
Di bagian ini, Anda menambahkan kontainer sidecar ke aplikasi kontainer kustom Anda.
Di halaman manajemen aplikasi, dari menu sebelah kiri, pilih Pusat Penyebaran.
Pusat penyebaran menunjukkan kepada Anda semua kontainer di aplikasi. Saat ini, ia hanya memiliki kontainer utama.
Pilih Tambahkan dan konfigurasikan kontainer baru sebagai berikut:
- Nama: otel-collector
- Sumber gambar: Azure Container Registry
- Registri: Registri yang dibuat oleh
azd provision
- Gambar: otel-collector
- Tag: terbaru
- Port: 4317
Port 4317 adalah port default yang digunakan oleh kontainer sampel untuk menerima data OpenTelemetry. Ini dapat diakses dari kontainer lain di aplikasi di
localhost:4317
. Ini persis bagaimana kontainer Nginx mengirim data ke sidecar (lihat konfigurasi modul OpenTelemetry untuk sampel gambar Nginx).Pilih Terapkan.
Anda sekarang akan melihat dua kontainer di pusat penyebaran. Kontainer utama ditandai Main, dan kontainer sidecar ditandai Sidecar. Setiap aplikasi harus memiliki satu kontainer utama tetapi dapat memiliki beberapa kontainer sidecar.
4. Mengonfigurasi variabel lingkungan
Untuk skenario sampel, sidecar pengumpul otel dikonfigurasi untuk mengekspor data OpenTelemetry ke Azure Monitor, tetapi memerlukan string koneksi sebagai variabel lingkungan (lihat file konfigurasi OpenTelemetry untuk gambar otel-collector).
Anda mengonfigurasi variabel lingkungan untuk kontainer seperti aplikasi App Service apa pun, dengan mengonfigurasi pengaturan aplikasi. Pengaturan aplikasi dapat diakses oleh semua kontainer di aplikasi.
Di halaman manajemen aplikasi, dari menu sebelah kiri, pilih Konfigurasi.
Tambahkan pengaturan aplikasi dengan memilih Pengaturan aplikasi baru dan konfigurasikan sebagai berikut:
- Nama: APPLICATIONINSIGHTS_CONNECTION_STRING
- Nilai: String koneksi dalam output
azd provision
Pilih Simpan, lalu pilih Lanjutkan.
Catatan
Pengaturan aplikasi tertentu tidak berlaku untuk aplikasi berkemampuan sidecar. Untuk informasi selengkapnya, lihat Perbedaan untuk aplikasi yang mendukung sidecar
5. Verifikasi di Application Insights
Sidecar pengumpul otel harus mengekspor data ke Application Insights sekarang.
Kembali ke tab browser untuk
https://<app-name>.azurewebsites.net
, refresh halaman beberapa kali untuk menghasilkan beberapa permintaan web.Kembali ke halaman gambaran umum grup sumber daya, pilih sumber daya Application Insights. Sekarang Anda akan melihat beberapa data di bagan default.
Catatan
Dalam skenario pemantauan yang sangat umum ini, Application Insights hanyalah salah satu target OpenTelemetry yang dapat Anda gunakan, seperti Jaeger, Prometheus, dan Zipkin.
Membersihkan sumber daya
Saat Anda tidak lagi memerlukan lingkungan, Anda dapat menghapus grup sumber daya, Layanan aplikasi, dan semua sumber daya terkait. Cukup jalankan perintah ini di Cloud Shell, di repositori kloning:
azd down
Perbedaan untuk aplikasi yang diaktifkan sidecar
Anda mengonfigurasi aplikasi dengan dukungan sidecar secara berbeda dari aplikasi yang tidak diaktifkan sespan. Secara khusus, Anda tidak mengonfigurasi kontainer utama dan sespan dengan pengaturan aplikasi, tetapi langsung di properti sumber daya. Pengaturan aplikasi ini tidak berlaku untuk aplikasi berkemampuan sidecar:
- Pengaturan autentikasi registri:
DOCKER_REGISTRY_SERVER_URL
,DOCKER_REGISTRY_SERVER_USERNAME
danDOCKER_REGISTRY_SERVER_PASSWORD
. - Port kontainer:
WEBSITES_PORT