Bagikan melalui


Tutorial: Mengonfigurasi kontainer sidecar untuk kontainer kustom di Azure App Service

Dalam tutorial ini, Anda menambahkan pengumpul OpenTelemetry sebagai kontainer sidecar ke aplikasi kontainer kustom Linux di Azure App Service. Untuk aplikasi Linux bring-your-own-code, lihat Tutorial: Mengonfigurasi kontainer sidecar untuk aplikasi Linux di Azure App Service.

Di Azure App Service, Anda dapat menambahkan hingga sembilan kontainer sidecar untuk setiap aplikasi kontainer kustom yang mendukung 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 kontainer samping di App Service, lihat:

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. 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 env new my-sidecar-env
    azd provision
    
  2. Saat diminta, berikan langganan dan wilayah yang Anda inginkan. Contohnya:

    • 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
  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 Variabel lingkungan.

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

    • Nama: APPLICATIONINSIGHTS_CONNECTION_STRING
    • Nilai: String koneksi dalam output azd provision. Jika Anda kehilangan sesi Cloud Shell, Anda juga dapat menemukannya di halaman Gambaran Umum sumber daya Application Insight, di bawah String Koneksi.
  3. Pilih Terapkan, lalu Terapkan, lalu Konfirmasi.

    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, lalu 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

Bagaimana kontainer sespan menangani komunikasi internal?

Kontainer sespan berbagi host jaringan yang sama dengan kontainer utama, sehingga kontainer utama (dan kontainer sespan lainnya) dapat mencapai port apa pun di sespan dengan localhost:<port>. Ini persis bagaimana kontainer Nginx mengirim data ke sidecar (lihat konfigurasi modul OpenTelemetry untuk sampel gambar Nginx).

Dalam dialog Edit kontainer, kotak Port saat ini tidak digunakan oleh App Service. Anda dapat menggunakannya sebagai bagian dari metadata sespan, seperti untuk menunjukkan port mana yang didengarkan oleh sespan.

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