Aracılığıyla paylaş


Eğitim: Özel bir kapsayıcı uygulaması için yan araba kapsayıcı yapılandırma

Bu öğreticide, OpenTelemetry toplayıcısını Azure App Service'teki bir Linux özel kapsayıcı uygulamasına sepet kapsayıcısı olarak nasıl ekleyeceğiniz gösterilmektedir.

App Service'teki sepet kapsayıcıları, Linux uygulamalarınızı yerleşik veya özel ana kapsayıcıya sıkı bir şekilde bağlamadan ek hizmetler ve özellikler dağıtmanıza olanak sağlar. Yan konteynerler, aynı Uygulama Hizmet planında ana uygulama konteyneriyle birlikte çalışır.

App Service'te her Linux uygulaması için en fazla dokuz sepet kapsayıcısı ekleyebilirsiniz. Örneğin izleme, günlüğe kaydetme, yapılandırma ve ağ hizmetlerini sepet kapsayıcıları olarak ekleyebilirsiniz. OpenTelemetry kolektör yan arabası, izleme için bir örnektir.

Kendi kodunuzu getirme Linux uygulamaları için bkz. Öğretici: Azure Uygulaması Hizmeti'nde Linux uygulaması için sepet kapsayıcısı yapılandırma.

Önkoşullar

  • Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.

  • Bu öğreticideki komutları, tarayıcınız aracılığıyla Azure hizmetleriyle çalışmak için kullandığınız etkileşimli bir kabuk olan Azure Cloud Shell'i kullanarak çalıştırabilirsiniz. Cloud Shell'i kullanmak için:

    1. Aşağıdaki Cloud Shell'i Başlat düğmesini seçin veya tarayıcınızda Cloud Shell'i https://shell.azure.com açmaya gidin.

    2. Gerekirse Azure'da oturum açın ve Cloud Shell'in Bash ortamında olduğunuzdan emin olun.

    3. Herhangi bir kod bloğunda Kopyala'yı seçin, kodu Cloud Shell'e yapıştırın ve çalıştırın.

      azd Bu öğreticideki komutlar, Azure'da uygulama kaynaklarını sağlamayı ve dağıtmayı hızlandıran açık kaynak bir araç olan Azure Geliştirici CLI'sini kullanır.

1. Öğretici kaynaklarını ayarlama

Örnek depoyu kopyalamak ve bu öğreticinin kaynaklarını oluşturmak için Cloud Shell'de aşağıdaki komutları çalıştırın. İstendiğinde, kullanmak istediğiniz Azure aboneliğini ve Azure bölgesini seçin.

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

komutu, azd provision aşağıdaki Azure kaynaklarını içeren adlı my-sidecar-env_group bir Azure kaynak grubu oluşturmak için dahil edilen şablonları kullanır:

  • Aşağıdaki görüntülere sahip iki depoya sahip bir kapsayıcı kayıt defteri :
    • nginx OpenTelemetry modülüne sahip bir görüntü.
    • otel-collector aktaracak şekilde yapılandırılmış bir OpenTelemetry toplayıcı görüntüsü.
  • Bir Log Analytics çalışma alanı.
  • Application Insights bileşeni.
  • adlı kullanıcı tarafından atanan id-my-sidecar-env_group.

Dağıtım tamamlandığında aşağıdaki örneğe benzer bir çıktı görmeniz gerekir:

Success!

APPLICATIONINSIGHTS_CONNECTION_STRING = InstrumentationKey=aaaaaaaa-0b0b-1c1c-2d2d-333333333333;IngestionEndpoint=https://eastus2-3.in.applicationinsights.azure.com/;LiveEndpoint=https://eastus2.livediagnostics.monitor.azure.com/;ApplicationId=00001111-aaaa-2222-bbbb-3333cccc4444
Azure container registry name = acro2lc774l6vjgg
Managed identity resource ID = /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-sidecar-env_group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id-my-sidecar-env_group
Managed identity client ID = 00aa00aa-bb11-cc22-dd33-44ee44ee44ee

Open resource group in the portal: https://portal.azure.com/#@/resource/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-sidecar-env_group

Bu öğreticinin ilerleyen bölümlerinde kullanmak üzere APPLICATIONINSIGHTS_CONNECTION_STRING değerini kopyalayın ve kaydedin.

Sağlanan kaynak grubunu Azure portalında açmak için Open resource group in the portal bağlantısını seçin.

2. Sepet özellikli bir uygulama oluşturma

Azure portalındaki kaynak grubunda sepet desteğine sahip bir Linux özel kapsayıcı uygulaması oluşturun ve ana kapsayıcıyı yapılandırın.

  1. Kaynak grubunun Azure portalındaki sayfasında Oluştur'u seçin.

  2. Market sayfasında web uygulamasını arayın, Web Uygulaması kutucuğunda Oluştur'un yanındaki aşağı oku seçin ve Web Uygulaması'nı seçin.

    Web uygulamasının arandığını ve web uygulaması oluştur düğmesinin vurgulandığı Azure Market sayfasını gösteren ekran görüntüsü.

  3. Web Uygulaması Oluştur sayfasının Temel Bilgiler sekmesinde aşağıdaki bilgileri sağlayın:

    • Ad: Web uygulaması için benzersiz bir ad girin.
    • Yayımla: Kapsayıcı'yı seçin.
    • İşletim Sistemi: Linux'ı seçin.
    • Bölge: için azd provisionseçtiğiniz bölgeyi seçin.
    • Linux Planı: Sağlanan (Yeni) App Service planını seçin.

    Linux özel kapsayıcı web uygulamasının Temel ayarlarını gösteren ekran görüntüsü.

  4. Diğer ayarları olduğu gibi bırakın ve sayfanın üst kısmındaki Kapsayıcı sekmesini seçin.

  5. Kapsayıcı sekmesinde aşağıdaki bilgileri sağlayın:

    • Sepet desteği: Sepet desteği açıkken Gelişmiş yapılandırma olarak ayarlayın.
    • Görüntü Kaynağı: Azure Container Registry'ü seçin.
    • Ad: main öğesinin göründüğüne emin olun.
    • Kayıt Defteri: tarafından azd provisionoluşturulan kayıt defterini seçin.
    • Kimlik doğrulaması: Yönetilen kimlik'i seçin.
    • Kimlik: tarafından azd provisionoluşturulan yönetilen kimliği seçin.
    • Resim: nginx yazın.
    • Etiket: En son değerini girin.
    • Bağlantı noktası: Henüz ayarlanmadıysa 80 girin.

    Linux özel kapsayıcı web uygulaması için Kapsayıcı ayarlarını gösteren ekran görüntüsü.

    Not

    Bu ayarlar sepet etkin uygulamalarda, sepetler için etkinleştirilmemiş uygulamalardan farklı yapılandırılır. Daha fazla bilgi için bkz. Sepet etkin özel kapsayıcılar arasındaki farklar nelerdir?

  6. Gözden geçir ve oluştur'u seçin ve doğrulama başarılı olduğunda Oluştur'u seçin.

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

  8. Uygulamanızın sayfasında, varsayılan nginx sayfasını görmek için yeni bir tarayıcı sekmesinde https://<app-name>.azurewebsites.net öğesinin yanındaki URL'yi açın.

3. Uygulamaya sidecar konteyner ekleme

Linux özel kapsayıcı uygulamanıza sepet kapsayıcısı ekleyin.

  1. Uygulamanın Azure portalındaki sayfasında, sol gezinti menüsünde Dağıtım'ın altında Dağıtım Merkezi'ni seçin. Dağıtım Merkezi sayfası, uygulamadaki tüm kapsayıcıları, şu anda yalnızca ana kapsayıcıyı gösterir.

  2. Kapsayıcılar'ı seçin.

  3. Özel kapsayıcı ekle'yi> seçin.

  4. Kapsayıcı ekle bölmesinde aşağıdaki bilgileri tamamlayın:

    • Ad: otel-collector girin.
    • Görüntü kaynağı: Azure Container Registry'yi seçin.
    • Kayıt Defteri: tarafından azd provisionoluşturulan kayıt defterini seçin.
    • Kimlik doğrulaması: Yönetilen Kimlik'i seçin.
    • Kimlik: Kullanıcı Tarafından Atanan bölümünün altında, azd provision tarafından oluşturulan yönetilen kimliği seçin.
    • Görüntü: Otel-collector girin.
    • Resim etiketi: En son değerini girin.
    • Bağlantı noktası: 4317 girin.
  5. 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ü.

Dağıtım merkezinde artık Main ve Sidecar etiketli iki kapsayıcı vardır. Bir uygulamanın tek bir ana kapsayıcısı olmalıdır ve birden çok yan kapsayıcı olabilir.

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

Örnek senaryoda, otel-collector sidecar, OpenTelemetry verilerini bağlantı dizesini bir ortam değişkeni olarak kullanarak Azure Monitor'a aktarmak üzere yapılandırılacaktır. Daha fazla bilgi için otel-collector görüntüsüne ait OpenTelemetry yapılandırma dosyasına bakın.

Uygulamanın uygulama ayarlarını yapılandırarak kapsayıcı için ortam değişkenini yapılandırın. Uygulama ayarlarına uygulamadaki tüm kapsayıcıların erişimi vardır.

  1. Uygulamanın Azure portalındaki sayfasında, sol gezinti menüsündeki Ayarlar'ın altında Ortam değişkenleri'ni seçin.

  2. Ortam değişkenleri sayfasının Uygulama ayarları sekmesinde Ekle'yi seçin.

  3. Uygulama ayarı ekle/düzenle bölmesinde aşağıdaki değerleri girin:

    • Ad: APPLICATIONINSIGHTS_CONNECTION_STRING
    • Değer: APPLICATIONINSIGHTS_CONNECTION_STRING çıktısından azd provisiondeğeri. Bu değeri, kaynak grubunun Application Insight kaynağının Genel Bakış sayfasında Bağlantı Dizesi olarak da bulabilirsiniz.
  4. Uygula'yı seçin, sonra yeniden Uygula'yı ve ardından Onayla'yı seçin. APPLICATIONINSIGHTS_CONNECTION_STRING uygulama ayarı artık Uygulama ayarları sekmesinde görünür.

    İ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ı, sidecar özellikli uygulamalarda geçerli değildir. Daha fazla bilgi için bkz. Sepet etkin özel kapsayıcılar arasındaki farklar nelerdir?

5. Application Insights'ta doğrulama

Sidecar otel-collector artık verileri Application Insights'a ihraç etmelidir.

  1. Yeni bir tarayıcı sekmesinde uygulamanıza gidin ve bazı web istekleri oluşturmak için sayfayı birkaç kez yenileyin.

  2. Azure portalındaki kaynak grubu sayfasında Application Insights kaynağını seçin. Artık Application Insights'a Genel Bakış sayfasında 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 yaygın izleme senaryosunda Application Insights, Jaeger, Prometheus ve Zipkin gibi kullanabileceğiniz OpenTelemetry hedeflerinden yalnızca biridir.

6. Kaynakları temizleme

Bu öğretici için oluşturduğunuz ortama artık ihtiyacınız kalmadığında, kaynak grubunu silip app service'i ve tüm ilgili kaynakları kaldırabilirsiniz. Cloud Shell'deki kopyalanmış depoda aşağıdaki komutu çalıştırın.

azd down