Öğretici: Azure Uygulaması Hizmeti'nde özel kapsayıcı için sepet kapsayıcısı yapılandırma (önizleme)

Bu öğreticide, OpenTelemetry toplayıcısını Azure Uygulaması Hizmeti'ndeki bir Linux özel kapsayıcı uygulamasına sepet kapsayıcısı olarak eklersiniz.

Azure Uygulaması Hizmeti'nde, her sepet etkin özel kapsayıcı uygulaması için en fazla 4 sepet kapsayıcısı ekleyebilirsiniz. Sepet kapsayıcıları, ana uygulama kapsayıcınızla sıkı bir şekilde bağlanmalarına gerek kalmadan kapsayıcı uygulamanıza ek hizmetler ve özellikler dağıtmanıza olanak sağlar. Örneğin izleme, günlüğe kaydetme, yapılandırma ve ağ hizmetlerini sepet kapsayıcıları olarak ekleyebilirsiniz. OpenTelemetry toplayıcısı sepet, bu tür bir izleme örneğidir.

Sepetler hakkında daha fazla bilgi için bkz . Sepet düzeni.

Not

Önizleme dönemi için, uygulama oluşturma sırasında sepet desteği etkinleştirilmelidir. Şu anda mevcut bir uygulama için sepet desteğini etkinleştirmenin bir yolu yoktur.

Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.

1. Gerekli kaynakları ayarlama

İlk olarak öğreticinin kullandığı kaynakları oluşturursunuz (daha fazla bilgi için bkz . Cloud Shell'e Genel Bakış). Bu senaryo için kullanılırlar ve genel olarak sepet kapsayıcıları için gerekli değildir.

  1. Azure Cloud Shell'de aşağıdaki komutları çalıştırın:

    git clone https://github.com/Azure-Samples/app-service-sidecar-tutorial-prereqs
    cd app-service-sidecar-tutorial-prereqs
    azd provision
    
  2. İstendiğinde, istediğiniz ortam adını, aboneliği ve bölgeyi sağlayın. Örneğin:

    • Ortam adı: my-sidecar-env
    • Abonelik: aboneliğiniz
    • Bölge: (Avrupa) Batı Avrupa

    Dağıtım tamamlandığında aşağıdaki çıkışı görmeniz gerekir:

     APPLICATIONINSIGHTS_CONNECTION_STRING = InstrumentationKey=...;IngestionEndpoint=...;LiveEndpoint=...
    
     Open resource group in the portal: https://portal.azure.com/#@/resource/subscriptions/.../resourceGroups/...
     
  3. Kaynak grubu bağlantısını bir tarayıcı sekmesinde açın. daha sonra bağlantı dizesi kullanmanız gerekir.

    Not

    azd provision aşağıdaki Azure kaynaklarını oluşturmak için dahil edilen şablonları kullanır:

2. Sepet özellikli bir uygulama oluşturma

  1. Kaynak grubunun yönetim sayfasında Oluştur'u seçin.

  2. Web uygulamasını arayın, ardından Oluştur'da aşağı oku seçin ve Web Uygulaması'nı seçin.

    Web uygulamasının aranmakta olduğu ve tıklanan web uygulaması oluştur düğmelerinin gösterildiği Azure Market sayfasını gösteren ekran görüntüsü.

  3. Temel Bilgiler panelini aşağıdaki gibi yapılandırın:

    • Ad: Benzersiz bir ad
    • Yayımla: Kapsayıcı
    • İşletim Sistemi: Linux
    • Bölge: Seçtiğiniz bölgeyle aynı bölge azd provision
    • Linux Planı: Yeni bir App Service planı

    Bir Linux özel kapsayıcı uygulaması için web uygulaması oluşturma sihirbazını ve ayarlarının vurgulandığı ekran görüntüsü.

  4. Kapsayıcı'ya tıklayın. Kapsayıcı panelini aşağıdaki gibi yapılandırın:

    • Sepet desteği: Etkin
    • Görüntü Kaynağı: Azure Container Registry
    • Kayıt Defteri: Tarafından oluşturulan kayıt defteri azd provision
    • Görüntü: nginx
    • Etiket: en son
    • Bağlantı noktası: 80

    Kapsayıcı görüntüsü ve sepet desteği için web uygulaması oluşturma sihirbazını ve ayarlarını gösteren ekran görüntüsü vurgulanmış.

    Not

    Bu ayarlar sepet etkin uygulamalarda farklı yapılandırılır. Daha fazla bilgi için bkz . Sepet özellikli uygulamalar için farklılıklar.

  5. Gözden Geçir + oluştur’u ve sonra da Oluştur’u seçin.

  6. Dağıtım tamamlandıktan sonra Kaynağa git'i seçin.

  7. Yeni bir tarayıcı sekmesinde, öğesine gidin https://<app-name>.azurewebsites.net ve varsayılan Nginx sayfasına bakın.

3. Sepet kapsayıcısı ekleme

Bu bölümde, özel kapsayıcı uygulamanıza bir sepet kapsayıcısı eklersiniz.

  1. Uygulamanın yönetim sayfasında, soldaki menüden Dağıtım Merkezi'ni seçin.

    Dağıtım merkezi, uygulamadaki tüm kapsayıcıları gösterir. Şu anda yalnızca ana kapsayıcıya sahiptir.

  2. Ekle'yi seçin ve yeni kapsayıcıyı aşağıdaki gibi yapılandırın:

    • Ad: otel-collector
    • Görüntü kaynağı: Azure Container Registry
    • Kayıt Defteri: Tarafından oluşturulan kayıt defteri azd provision
    • Görüntü: otel-collector
    • Etiket: en son
    • Bağlantı noktası: 4317

    4317 numaralı bağlantı noktası, örnek kapsayıcı tarafından OpenTelemetry verilerini almak için kullanılan varsayılan bağlantı noktasıdır. uygulamasındaki localhost:4317diğer tüm kapsayıcılardan erişilebilir. Nginx kapsayıcısı sepete tam olarak bu şekilde veri gönderir (örnek Nginx görüntüsü için OpenTelemetry modülü yapılandırmasına bakın).

  3. Uygula’yı seçin.

    Web uygulamasının dağıtım merkezinde sepet kapsayıcısını yapılandırmayı gösteren ekran görüntüsü.

    Şimdi dağıtım merkezinde iki kapsayıcı görmeniz gerekir. Ana kapsayıcı Main olarak işaretlenir ve sepet kapsayıcısı Sepet olarak işaretlenir. Her uygulamanın bir ana kapsayıcısı olmalıdır, ancak birden çok sepet kapsayıcısı olabilir.

4. Ortam değişkenlerini yapılandırma

Örnek senaryo için, otel-collector sepet OpenTelemetry verilerini Azure İzleyici'ye dışarı aktaracak şekilde yapılandırılmıştır, ancak ortam değişkeni olarak bağlantı dizesi gerekir (otel toplayıcı görüntüsü için OpenTelemetry yapılandırma dosyasına bakın).

Uygulama ayarlarını yapılandırarak herhangi bir App Service uygulaması gibi kapsayıcılar için ortam değişkenlerini yapılandırırsınız. Uygulama ayarlarına uygulamadaki tüm kapsayıcılar erişebilir.

  1. Uygulamanın yönetim sayfasında, soldaki menüden Yapılandırma'yı seçin.

  2. Yeni uygulama ayarı'ni seçerek bir uygulama ayarı ekleyin ve bunu aşağıdaki gibi yapılandırın:

    • Ad: APPLICATIONINSIGHTS_CONNECTION_STRING
    • Değer: çıkışındaki bağlantı dizesiazd provision
  3. Kaydet'i ve ardından Devam'ı seçin.

    İki uygulama ayarı eklenmiş bir web uygulamasının Yapılandırma sayfasını gösteren ekran görüntüsü.

Not

Bazı uygulama ayarları sepet etkin uygulamalar için geçerli değildir. Daha fazla bilgi için bkz . Sepet özellikli uygulamalar için farklılıklar

5. Application Insights'ta doğrulama

Otel toplayıcısı sepet, verileri application insights'a aktarmalıdır.

  1. için tarayıcı sekmesine geri dönün ve birkaç web isteği oluşturmak için https://<app-name>.azurewebsites.netsayfayı birkaç kez yenileyin.

  2. Kaynak grubuna genel bakış sayfasına dönün ve Application Insights kaynağını seçin. Şimdi varsayılan grafiklerde bazı veriler görmeniz gerekir.

    Varsayılan grafiklerdeki verileri gösteren Application Insights sayfasının ekran görüntüsü.

Not

Bu çok yaygın izleme senaryosunda Application Insights, Jaeger, Prometheus ve Zipkin gibi kullanabileceğiniz OpenTelemetry hedeflerinden yalnızca biridir.

Kaynakları temizleme

Ortama artık ihtiyacınız kalmadığında kaynak grubunu, App service'i ve tüm ilgili kaynakları silebilirsiniz. Bu komutu Cloud Shell'de, kopyalanan depoda çalıştırmanız gerekir:

azd down

Sepet özellikli uygulamalar için farklılıklar

Sepet özellikli uygulamaları sepet etkin olmayan uygulamalardan farklı yapılandırabilirsiniz. Özellikle, ana kapsayıcıyı ve sepetleri uygulama ayarlarıyla değil, doğrudan kaynak özelliklerinde yapılandırırsınız. Bu uygulama ayarları sepet etkin uygulamalar için geçerli değildir:

  • Kayıt defteri kimlik doğrulama ayarları: DOCKER_REGISTRY_SERVER_URL, DOCKER_REGISTRY_SERVER_USERNAME ve DOCKER_REGISTRY_SERVER_PASSWORD.
  • Kapsayıcı bağlantı noktası: WEBSITES_PORT

Diğer kaynaklar