Azure İşlevleri barındıran Azure Container Apps

Azure İşlevleri üzerinde kapsayıcılı işlev uygulamaları geliştirmek, dağıtmak ve yönetmek için tümleşik destek sağlarAzure Container Apps. Azure'da olay temelli işlevlerinizi diğer mikro hizmetler, API'ler, web siteleri, iş akışları veya kapsayıcı tarafından barındırılan programlarla aynı ortamda çalıştırmanız gerektiğinde işlev uygulaması kapsayıcılarınızı barındırmak için Azure Container Apps'i kullanın. Container Apps barındırma, açık kaynak izleme, mTLS, Dapr ve KEDA için yerleşik destekle işlevlerinizi Kubernetes tabanlı bir ortamda çalıştırmanıza olanak tanır.

Önemli

Azure Container Apps'te işlev uygulamalarını barındırma desteği şu anda önizleme aşamasındadır.

Container Apps ile tümleştirme, Azure İşlevleri tarafından desteklenen tercih ettiğiniz programlama dilinde veya çerçevede işlev kodu yazmak için mevcut işlev programlama modelini kullanmanıza olanak tanır. Olay temelli ölçeklendirme ile İşlevler tetikleyicilerini ve bağlamalarını almaya devam edersiniz. Container Apps, temel alınan Azure Kubernetes Service'in (AKS) gücünü kullanırken Kubernetes API'leriyle çalışma zorunluluğu ortadan kaldırır.

Bu tümleştirme ayrıca kapsayıcı oluşturmak, işlev uygulaması kapsayıcılarını Container Apps'e dağıtmak ve sürekli dağıtımı yapılandırmak için mevcut İşlevler istemci araçlarını ve Azure portalını kullanabileceğiniz anlamına gelir. Ağ ve gözlemlenebilirlik yapılandırmaları Kapsayıcı Uygulaması ortam düzeyinde tanımlanır ve işlev uygulamanız da dahil olmak üzere bir Container Apps ortamında çalışan tüm mikro hizmetlere uygulanır. Ayrıca KeDA, Dapr, Envoy gibi Container Apps'in buluta özel diğer özelliklerini de alırsınız. İşlev yürütmelerinizi izlemek için Uygulama Analizler kullanmaya devam edebilirsiniz.

Barındırma ve iş yükü profilleri

Container Apps için iki birincil barındırma planı vardır: sunucusuz Tüketim planı ve dağıtım kaynaklarınızı daha iyi denetlemek için iş yükü profillerini kullanan Ayrılmış plan. bir iş yükü profili, bir ortamda dağıtılan kapsayıcı uygulamaları için kullanılabilir işlem ve bellek kaynaklarının miktarını belirler. Bu profiller, uygulamalarınızın farklı gereksinimlerine uyacak şekilde yapılandırılır. Tüketim iş yükü profili, her İş Yükü profili ortam türüne eklenen varsayılan profildir. Ortamınızı oluştururken veya oluşturulduktan sonra ortamınıza Ayrılmış iş yükü profilleri ekleyebilirsiniz. İş yükü profilleri hakkında daha fazla bilgi edinmek için bkz . Azure Container Apps'te iş yükü profilleri.

Kapsayıcılı işlev uygulamalarını barındıran Container Apps, Container Apps'i destekleyen tüm bölgelerde desteklenir.

Uygulamanızın belirli bir donanım gereksinimleri yoksa, varsayılan Tüketim iş yükü profilini kullanarak ortamınızı tüketim planında veya Ayrılmış planda çalıştırabilirsiniz. Container Apps'te işlevleri çalıştırırken yalnızca Container Apps kullanımı için ücretlendirilirsiniz. Daha fazla bilgi için bkz . Azure Container Apps fiyatlandırma sayfası.

Azure Container Apps'teki Azure İşlevleri, iş yükü profilleriyle Ayrılmış planda GPU özellikli barındırmayı destekler.

Varsayılan Tüketim planında bir işlev uygulaması kapsayıcısı oluşturmayı ve Container Apps'e dağıtmayı öğrenmek için bkz . Azure Container Apps'te ilk kapsayıcılı işlevlerinizi oluşturma.

İş yükü profilleriyle bir Container Apps ortamı oluşturmayı ve işlev uygulaması kapsayıcısını belirli bir iş yüküne dağıtmayı öğrenmek için bkz . Container Apps iş yükü profilleri.

Kapsayıcılardaki işlevler

Container Apps barındırmayı kullanmak için işlev kodunuzun oluşturduğunuz ve bakımını yaptığınız bir Linux kapsayıcısında çalışması gerekir. İşlevler, kapsayıcılı işlev uygulamalarınızı oluşturmak için kullanabileceğiniz dile özgü temel görüntüler kümesi tutar.

Azure İşlevleri Temel Araçları kullanarak bir İşlevler projesi oluşturduğunuzda ve seçeneğini eklediğinizde--docker, Çekirdek Araçlar kapsayıcınızı oluştururken başlangıç noktası olarak kullanabileceğiniz doğru temel görüntüye sahip Dockerfile'ı oluşturur.

Önemli

Kendi kapsayıcılarınızı oluştururken kapsayıcınızın temel görüntüsünü desteklenen en son temel görüntüye güncel tutmanız gerekir. Azure İşlevleri için desteklenen temel görüntüler dile özgü olup Azure İşlevleri temel görüntü depolarında bulunur.

İşlevler ekibi, bu temel görüntüler için aylık güncelleştirmeleri yayımlamaya kararlıdır. Düzenli güncelleştirmeler, hem İşlevler çalışma zamanı hem de diller için en son ikincil sürüm güncelleştirmelerini ve güvenlik düzeltmelerini içerir. Kapsayıcınızı düzenli olarak en son temel görüntüden güncelleştirmeli ve kapsayıcınızın güncelleştirilmiş sürümünü yeniden dağıtmalısınız.

İşlev kodunuzda değişiklik yaptığınızda kapsayıcı görüntünüzü yeniden oluşturup yeniden yayımlamanız gerekir. Daha fazla bilgi için bkz . Kayıt defterindeki bir görüntüyü güncelleştirme.

Dağıtım seçenekleri

Azure İşlevleri şu anda kapsayıcılı işlev uygulamasını Azure Container Apps'e dağıtmak için aşağıdaki yöntemleri desteklemektedir:

Ölçek kurallarını yapılandırma

Container Apps'te Azure İşlevleri, olay hedefine göre ölçek parametrelerini ve kurallarını yapılandırmak için tasarlanmıştır. KEDA ölçeklendirilen nesneleri yapılandırma konusunda endişelenmeniz gerekmez. İşlev uygulamanızı oluştururken veya değiştirirken yine de en düşük ve en yüksek çoğaltma sayısını ayarlayabilirsiniz. Aşağıdaki Azure CLI komutu, Bir Azure Container Registry'den Container Apps ortamında yeni bir işlev uygulaması oluştururken en düşük ve en yüksek çoğaltma sayısını ayarlar:

az functionapp create --name <APP_NAME> --resource-group <MY_RESOURCE_GROUP> --max-replicas 15 --min-replicas 1 --storage-account <STORAGE_NAME> --environment MyContainerappEnvironment --image <LOGIN_SERVER>/azurefunctionsimage:v1 --registry-username <USERNAME> --registry-password <SECURE_PASSWORD> --registry-server <LOGIN_SERVER>

Aşağıdaki komut, mevcut bir işlev uygulamasında aynı en düşük ve en yüksek çoğaltma sayısını ayarlar:

az functionapp config container set --name <APP_NAME> --resource-group <MY_RESOURCE_GROUP> --max-replicas 15 --min-replicas 1

Yönetilen kaynak grupları

Container Apps üzerinde Azure İşlevi, işlevlendirilmiş kapsayıcı kaynaklarınızı özel olarak yönetilen kaynak gruplarında çalıştırır. Bu, kullanıcılara, gruplara veya hizmet ilkelerine göre yönetilen gruptaki kaynakların istenmeyen veya yetkisiz olarak değiştirilmesini veya silinmesini engelleyerek uygulamalarınızın tutarlılığını korumaya yardımcı olur. Bu yönetilen kaynak grubu, bir Container Apps ortamında işlev uygulaması kaynaklarını ilk kez oluşturduğunuzda sizin için oluşturulur. Kapsayıcılı işlev uygulamanızın gerektirdiği Container Apps kaynakları bu yönetilen kaynak grubunda çalıştırılır ve aynı ortamda oluşturulan diğer tüm işlev uygulamaları bu mevcut grubu kullanır. Yönetilen kaynak grubu, tüm işlev uygulaması kapsayıcı kaynakları ortamdan kaldırıldıktan sonra otomatik olarak kaldırılır. Yönetilen kaynak grubu görünür durumdayken, yönetilen kaynak grubunu değiştirme veya kaldırma girişimleri hatayla sonuçlanır. Yönetilen kaynak grubunu bir ortamdan kaldırmak için, işlev uygulaması kapsayıcı kaynaklarının tümünü kaldırın; bu kaynak sizin için kaldırılır. Bu yönetilen kaynak gruplarında herhangi bir sorunla karşılaşırsanız desteğe başvurmanız gerekir.

Container Apps barındırma ile ilgili dikkat edilmesi gerekenler

İşlev uygulaması kapsayıcılarınızı Container Apps'e dağıtırken dikkat edilmesi gereken noktaları göz önünde bulundurun:

  • Tüm tetikleyiciler kullanılabilir ancak Container Apps üzerinde çalışırken yalnızca aşağıdaki tetikleyiciler dinamik olarak ölçeklendirilebilir (sıfır örnekten):
    • HTTP
    • Azure Kuyruk Depolama
    • Azure Service Bus
    • Azure Event Hubs
    • Kafka*
    • Zamanlayıcı
      *protokol değeri ssl , Container Apps'te barındırıldığında desteklenmez. Farklı bir protokol değeri kullanın.
  • Yerleşik Container Apps ilke tanımları için şu anda yalnızca ortam düzeyinde ilkeler Azure İşlevleri kapsayıcılar için geçerlidir.
  • Şu anda Container Apps tarafından barındırılan işlev uygulaması dağıtımlarını kaynak grupları arasında veya abonelikler arasında taşıyamazsınız. Bunun yerine mevcut kapsayıcılı uygulama dağıtımını yeni bir kaynak grubunda, abonelikte veya bölgede yeniden oluşturmanız gerekir.
  • Container Apps kullanırken alt düzey Kubernetes API'lerine doğrudan erişiminiz yoktur.
  • Uzantı, containerapp Azure CLI'daki appservice-kube uzantıyla çakişer. Daha önce Azure Arc'ta uygulama yayımladıysanız komutunu çalıştırın az extension list ve yüklü olmadığından emin olun appservice-kube . Bu durumda, komutunu çalıştırarak az extension remove -n appservice-kubekaldırabilirsiniz.
  • İşlevler Dapr uzantısı da depoda sağlanan yardımla önizleme aşamasındadır.

Sonraki adımlar