Aracılığıyla paylaş


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

Bu öğreticide, Azure Uygulaması Hizmeti'ndeki bir Linux özel kapsayıcı uygulamasına sepet kapsayıcısı olarak bir OpenTelemetry toplayıcısı eklersiniz. Kendi kodunuzu getirme Linux uygulamaları için bkz. Öğretici: Azure Uygulaması Hizmeti'nde Linux uygulaması için sepet kapsayıcısı yapılandırma.

Azure Uygulaması Hizmeti'nde, sepet etkinleştirilmiş her özel kapsayıcı uygulaması için en fazla dokuz 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.

App Service'teki yan kapsayıcı hakkında daha fazla bilgi için bkz:

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

1. Gerekli kaynakları ayarlama

İlk olarak öğreticinin kullandığı kaynakları oluşturursunuz. 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 env new my-sidecar-env
    azd provision
    
  2. İstendiğinde, istediğiniz aboneliği ve bölgeyi sağlayın. Örneğin:

    • 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'daaş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
  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 Ortam değişkenleri'ni seçin.

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

    • Ad: APPLICATIONINSIGHTS_CONNECTION_STRING
    • Değer: çıkışındaki azd provisionbağlantı dizesi. Cloud Shell oturumunu kaybettiyseniz, bunu Application Insight kaynağının Genel Bakış sayfasında, Bağlantı Dizesi'nin altında da bulabilirsiniz.
  3. Uygula'yı, uygula'yı ve ardından Onayla'yı 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 kapsayıcıları iç iletişimi nasıl işler?

Sepet kapsayıcıları ana kapsayıcıyla aynı ağ konağını paylaşır, bu nedenle ana kapsayıcı (ve diğer sepet kapsayıcıları) ile localhost:<port>sepet üzerindeki herhangi bir bağlantı noktasına ulaşabilir. 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).

Kapsayıcıyı düzenle iletişim kutusunda, Bağlantı Noktası kutusu şu anda App Service tarafından kullanılmaz. Sepet meta verilerinin bir parçası olarak kullanabilirsiniz. Örneğin, sepette hangi bağlantı noktasını dinlediğini belirtebilirsiniz.

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