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.

  1. 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
    
  2. 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/...
     
  3. 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:

2. Buat aplikasi berkemampuan sespan

  1. Di halaman manajemen grup sumber daya, pilih Buat.

  2. Cari aplikasi web, lalu pilih panah bawah pada Buat dan pilih Aplikasi Web.

    Cuplikan layar memperlihatkan halaman Marketplace Azure dengan aplikasi web sedang dicari dan tombol buat aplikasi web sedang diklik.

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

    Cuplikan layar memperlihatkan wizard dan pengaturan pembuatan aplikasi web untuk aplikasi kontainer kustom Linux disorot.

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

    Cuplikan layar memperlihatkan wizard dan pengaturan pembuatan aplikasi web untuk gambar kontainer dan dukungan sidecar disorot.

    Catatan

    Pengaturan ini dikonfigurasi secara berbeda di aplikasi yang mendukung sidecar. Untuk informasi selengkapnya, lihat Perbedaan untuk aplikasi yang mendukung sidecar.

  5. Pilih Tinjau + buat, lalu pilih Buat.

  6. Setelah penyebaran selesai, pilih Buka sumber daya.

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

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

  2. 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).

  3. Pilih Terapkan.

    Cuplikan layar memperlihatkan cara mengonfigurasi kontainer sidecar di pusat penyebaran aplikasi web.

    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.

  1. Di halaman manajemen aplikasi, dari menu sebelah kiri, pilih Konfigurasi.

  2. Tambahkan pengaturan aplikasi dengan memilih Pengaturan aplikasi baru dan konfigurasikan sebagai berikut:

    • Nama: APPLICATIONINSIGHTS_CONNECTION_STRING
    • Nilai: String koneksi dalam outputazd provision
  3. Pilih Simpan, lalu pilih Lanjutkan.

    Cuplikan layar memperlihatkan halaman Konfigurasi aplikasi web dengan dua pengaturan aplikasi ditambahkan.

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.

  1. Kembali ke tab browser untuk https://<app-name>.azurewebsites.net, refresh halaman beberapa kali untuk menghasilkan beberapa permintaan web.

  2. Kembali ke halaman gambaran umum grup sumber daya, pilih sumber daya Application Insights. Sekarang Anda akan melihat beberapa data di bagan default.

    Cuplikan layar halaman Application Insights memperlihatkan 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 dan DOCKER_REGISTRY_SERVER_PASSWORD.
  • Port kontainer: WEBSITES_PORT

Sumber daya lainnya