Azure Container Apps'te Azure İşlevleri v2'ye geçiş

Eski İşlevler v1 modelinde çalışan Azure İşlevleri'ni Azure Container Apps'te önerilen İşlevler v2 modeline taşımak için bu kılavuzu kullanın. Geçişin neden yapıldığını, hangi değişikliklerin yapıldığını ve geçişi en düşük riskle nasıl yürüteceğinizi öğrenirsiniz.

İki dağıtım modeli kullanarak Azure Container Apps'te Azure İşlevleri'ne ev sahipliği yapabilirsiniz:

  • İşlevler v1: İşlev Uygulaması (Microsoft.Web kaynak sağlayıcısı) ve arka planda kapsayıcı uygulaması kullanan eski ara sunucu modeli.

  • İşlevler v2: Microsoft.App ile tek bir Azure Container App kaynağı (kind=functionapp) oluşturan doğal model.

v2'ye geçtiğiniz zaman yönetimi basitleştirir, yerel özelliklerin kilidini açar ve Azure İşlevleri'nin gelecekteki yol haritasıyla uyumlu hale getirirsiniz.

Model karşılaştırması

Area v1 (eski) v2 (önerilir)
Kaynak modeli Gizli bir taşıyıcı uygulamasıyla eşleştirilmiş Ara Sunucu İşlevleri uygulaması Tek yerel kapsayıcı uygulaması (kind=functionapp)
Yerel özellikler

(düzeltmeler, gizli bilgiler, sağlık kontrolleri, özel etki alanları, aynı kapsamdaki modüller)
Desteklenmez Destekleniyor
Ölçeklendirme denetimleri

(bekleme süresi, yoklama aralığı)
Sınırlı Tüm kapsayıcı uygulama ölçeklendirme seçenekleri
Günlük Kaydı ve Sorun Giderme Dolaylı. Canlı konsol yok Dolaysız. Canlı günlükleri ve tanılamaları içerir
Dapr tümleştirmesi Bazı yalıtılmış .NET senaryolarında sorunlu Standart desenlerle desteklenir
Kimlik Doğrulaması (Kolay Doğrulama) Mevcut değil Mevcut
Sertifikalar ve özel etki alanları Mevcut değil Mevcut
Ölçümler ve uyarı Temel Tam yerel ölçümler ve uyarılar
Gelecekteki yol haritası

(işlev listesi, anahtarlar, çağırma sayısı)
Planlanmadı Planned
operasyonel karmaşıklık çift kaynak yönetimi Tek kaynak
Yeni dağıtımlar için önerilir Hayı Yes

İşlevler v1'in sınırlamaları

Azure Container Apps'te v1 işlevleri ölçeklenebilirliği, yönetimi ve özellik kullanılabilirliğini etkileyen çeşitli sınırlamalara sahiptir. Bu kısıtlamaları anlamak, v2 modeline geçişin avantajlarını netleştirmeye yardımcı olur.

Özellik boşlukları

İşlevler v1 uygulamalarında aşağıdaki özellikler kullanılamaz:

  • Kolay Kimlik Doğrulaması
  • Sağlık araştırmaları
  • Özel alan adları
  • Sepet kapsayıcıları
  • Yönetilen sertifikalar
  • Kapsayıcı uygulama gizlilik bilgileri
  • Ayrıntılı ölçek ayarları
  • Çoklu revizyonlu trafik bölme

Sorun giderme kısıtlamaları

İşlevler v1 uygulamalarıyla doğrudan kapsayıcı erişiminiz veya gerçek zamanlı konsol çıkışınız yoktur. Bunun yerine, altyapı tanılaması için Log Analytics'i ve uygulama günlükleri için Application Insights'ı kullanmanız gerekir.

Dapr entegrasyon problemleri

Dapr ve .NET yalıtılmış İşlevleri, bağımlılık ve başlatma sıralama kısıtlamaları nedeniyle derleme veya çalışma zamanı sırasında çakışabilir.

İşlevlerin avantajları v2

Functionlar v2 doğrudan yerel bir kapsayıcı uygulama kaynağı oluşturur. Bu yaklaşım, proxy dolaylılığını ortadan kaldırır ve Azure Container Apps'in tüm yeteneklerini etkinleştirir.

Önemli avantajlar:

  • Kimlik boşaltma için Kolay Kimlik Doğrulama'yı etkinleştirin.
  • Dayanıklılığı artırmak için sağlık denetimlerini yapılandırın.
  • Özel etki alanları ayarlayın ve yönetilen sertifikaları kullanın.
  • Tek bir kaynakla operasyonel ek yükü azaltın.
  • Gizli verileri yerel olarak depolayın ve yan taşıyıcı kapsayıcıları bağlayın.
  • Daha net ölçümler, uyarılar ve canlı günlük akışı elde edin.
  • Çok bölümlü dağıtımları kullanın ve trafiği güvenli bir şekilde bölün.
  • Ayrıntılı ölçeklendirme kuralları uygulama (yoklama aralığı, bekleme süresi).

Uyarı

Kod değişikliği gerekmez. Mevcut kapsayıcı görüntünüzü yeniden kullanabilirsiniz.

Eski doğrudan görüntü dağıtımı (desteklenmiyor)

Bazı dağıtımlarda standart bir kapsayıcı uygulaması kullanılır ve İşlevler görüntüsü manuel olarak çalıştırılır.

Önemli

Bu yaklaşım desteklenmez. Otomatik ölçek kuralları yoktur ve işlev listeleme, anahtarlar ve çağırma sayıları gibi yaklaşan v2 platformu özelliklerini almaz.

Tavsiye: Azure Container Apps'te İşlevler v2'ye geçiş.

Önkoşullar

Taşımadan önce:

  • Azure aboneliği ve kaynak oluşturma izni.
  • [Azure CLI](/cli/azure/install-azure-cli-windows?view=azure-cli-latest) en son sürümü yüklü.
  • Gerekli uzantılar: az extension add --name containerapp, az extension add --name functionapp (varsa).
  • v1 dağıtımınız tarafından kullanılan kapsayıcı görüntüsüne erişim.
  • Ortam değişkenlerinin, gizli dizilerin, depolama bağlamalarının ve ağ ayarlarının envanteri.

Geçiş prosedürü

1. Hazırlama

  1. Geçerli dağıtımınızın bir İşlevler v1 uygulaması olduğunu belirleyin.
  2. Ortam değişkenleri, gizli diziler, bağlantı dizeleri ve özel bağlamalar dahil olmak üzere tüm yapılandırma verilerini dışarı aktarın.
  3. Ortam kotalarını (CPU, bellek, maksimum örnekler) gözden geçirin ve gerekirse ayarlayın.
  4. Kayıt defterinizde görüntü kullanılabilirliğini onaylayın.

2. v2 uygulaması oluşturma

  1. Azure Container Apps ortamı oluşturma veya yeniden kullanma.

  2. Aynı görüntüye sahip yeni bir v2 kapsayıcı uygulaması dağıtın.

    az containerapp create \
      --name my-func-v2 \
      --resource-group <RESOURCE_GROUP_NAME> \
      --environment <ENVRONMENT_NAME> \
      --image myregistry.azurecr.io/<IMAGE_NAME>:<TAG_NAME> \
      --kind functionapp \
      --ingress external --target-port <TARGET_PORT>
    
  3. Gizli diziler, ortam değişkenleri, kimlik, ağ gibi yapılandırma ayrıntılarını yeniden uygulayın.

  4. Gerekirse kimlik doğrulamasını veya özel etki alanını etkinleştirin.

  5. Ölçeklendirme kurallarını tanımlayın (HTTP, CPU, kuyruk tetikleyicisi bağıntısını uygun şekilde).

3. Doğrulama

  1. HTTP ile tetiklenen işlevleri (curl veya tarayıcı) çağırma.

  2. Her tetikleyici türünü test edin (Event Hubs, Service Bus, zamanlayıcı).

  3. Application Insights telemetrisini ve Log Analytics günlüklerini onaylayın.

  4. Yük altında ölçeklendirme davranışını kontrol edin (otomatik ölçeklendirme kuralları çalışıyor).

  5. Gizli anahtarların ve bağlantı dizelerinin doğru çözüldüğünü doğrulayın.

  6. Sağlık sondası durumu ve kapsayıcı revizyon ayrıntılarını onaylayın.

4. DNS veya özel etki alanlarını güncelleştirme (isteğe bağlı)

  1. Özel bir etki alanı kullanıyorsanız, bunu yeni v2 ana bilgisayar adıyla (CNAME veya A kaydı) eşleyin.

  2. SSL/TLS sertifikalarını yeniden bağlama (yönetilen veya karşıya yüklenen).

  3. Alan adı çözümlemeyi ve TLS el sıkışmasını test edin.

  4. Uç nokta değişikliklerini dahili olarak iletme.

5. Geçiş

  1. Üretim trafiğini kaydırma (DNS TTL veya yönlendirme kurallarını güncelleştirme).

  2. Gecikme süresini, hataları ve çağırma sayılarını izleyin.

  3. Gerekirse ölçeklendirme parametrelerini ayarlayın (bekleme süresi, minimum/maksimum örnekler).

  4. İlk birkaç saat içinde anomaliler için günlükleri izleyin.

6. Temizleme

  1. Eski v1 İşlevleri uygulamasını ve ilgili kaynakları hizmet dışı bırakın.

    Dikkat

    Silme işleminden önce üretim trafiğinin hala v1 uç noktasını hedeflemiyor olduğunu doğrulayın.

  2. Kullanılmayan gizli bilgileri veya depolama referanslarını kaldırın.

  3. İç belgeleri ve operasyonel runbook'ları güncelleştirin.

Doğrulama denetim listesi

Ürün Geçme kriterleri
Tetikleyiciler çalışır Yapılandırılan tüm tetikleyiciler başarıyla yürütülür
Günlükler ve telemetri Application Insights çağrıları gösterir; gerçek zamanlı günlük akışı
Scaling Örnek sayısı kural yapılandırmasına göre ayarlanır
Kimlik doğrulaması (etkinse) Korumalı uç noktalar beklenen durum kodlarını döndürür
Etki alanları Özel alan adı geçerli bir sertifikayla çözümlenir
Sırlar Hassas değerler hatasız yüklenir

operasyonel geliştirmeler (isteğe bağlı)

Geçiş sonrasında güvenilirliği artırın: