Azure İşlevleri'da Linux kapsayıcısı desteği
tek tek işlevlerinizi Azure İşlevleri çalışacak şekilde planlayıp geliştirirken genellikle kodun kendisine odaklanırsınız. Azure İşlevleri yalnızca kod projenizi Azure'daki bir işlev uygulamasına dağıtmayı kolaylaştırır. Kod projenizi Linux üzerinde çalışan bir işlev uygulamasına dağıttığınızda, proje sizin için otomatik olarak oluşturulan bir kapsayıcıda çalışır. Bu kapsayıcı İşlevler tarafından yönetilir.
İşlevler kapsayıcılı işlev uygulaması dağıtımlarını da destekler. Kapsayıcılı dağıtımda, desteklenen bir tabanlı görüntüden yerel bir Docker kapsayıcısında kendi işlev uygulama örneğinizi oluşturursunuz. Ardından bu kapsayıcılı işlev uygulamasını Azure'daki bir barındırma ortamına dağıtabilirsiniz. Kendi işlev uygulaması kapsayıcınızı oluşturmak, işlev kodunuzun hemen çalışma zamanı ortamını özelleştirmenize veya başka bir şekilde denetlemenize olanak tanır.
Ö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.
Kapsayıcı barındırma seçenekleri
Kapsayıcılı işlev uygulamalarınızı Azure'da barındırmak için çeşitli seçenekler vardır:
Barındırma seçeneği | Sosyal haklar |
---|---|
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. Bu, Azure portalında aynı İşlevler araçlarını ve sayfalarını kullanarak uygulamalarınızı yönetmenizi sağlar. 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 yönetilen Kubernetes tabanlı bir ortamda çalıştırmanıza olanak tanır. Sıfıra ölçekle özelliğini destekler ve sunucusuz bir kullanılıp kullanılmadığınız için ödemeli barındırma modeli sağlar. İş yükü profillerini kullanarak ayrılmış donanım hatta GPU'lar da isteyebilirsiniz. Azure'da kapsayıcılı işlev uygulamalarını çalıştırmak için önerilen barındırma seçeneği. |
Azure Arc özellikli Kubernetes kümeleri (önizleme) | İşlev uygulamalarınızı Azure Arc özellikli Kubernetes kümelerinde yalnızca kod dağıtımı olarak veya özel bir Linux kapsayıcısında barındırabilirsiniz. Azure Arc, Kubernetes kümelerini azure'da yönetebilmeniz ve yapılandırabilmeniz için eklemenize olanak tanır. Azure Arc özellikli Kubernetes kümelerinde Azure İşlevleri kapsayıcıları barındırma şu anda önizleme aşamasındadır. |
Azure Functions | Kapsayıcıyı Elastik Premium planında veya Ayrılmış planda çalıştırarak kapsayıcılı işlev uygulamalarınızı Azure İşlevleri'de barındırabilirsiniz. Premium plan barındırma, dinamik ölçeklendirmenin avantajlarını sağlar. Mevcut kullanılmayan App Service planı kaynaklarından yararlanmak için Ayrılmış plan barındırmayı kullanmak isteyebilirsiniz. |
Kubernetes | Azure İşlevleri çalışma zamanı istediğiniz yerde ve şekilde barındırma esnekliği sağladığından işlev uygulaması kapsayıcılarınızı doğrudan Kubernetes kümelerinde barındırabilir ve yönetebilirsiniz. KEDA (Kubernetes tabanlı Event Driven Autoscaling), Kubernetes'te olay odaklı ölçek sağlamak için Azure İşlevleri çalışma zamanı ve araçlarıyla sorunsuz bir şekilde eşleştirir. Kapsayıcılı işlev uygulamalarınızı KEDA kullanarak veya doğrudan dağıtım yoluyla Kubernetes'te çalıştırmanın, katkıda bulunanlar ve topluluk tarafından sağlanan en iyi çaba desteğiyle ücretsiz olarak kullanabileceğiniz bir açık kaynak çaba olduğunu unutmayın. Azure Kubernetes Service'e (AKS) dağıtım yaparken bile bir kümede kendi işlev uygulaması kapsayıcılarınızı korumak sizin sorumluluğunuzdadır. |
Özellik desteği karşılaştırması
İşlev uygulamanızı bir kapsayıcıda çalıştırırken Azure İşlevleri çeşitli özelliklerinin ve davranışlarının desteklenme derecesi, seçtiğiniz kapsayıcı barındırma seçeneğine bağlıdır.
Özellik/davranış | Container Apps (tümleşik) | Container Apps (doğrudan) | Premium plan | Ayrılmış plan | Kubernetes |
---|---|---|---|---|---|
Ürün desteği | Yes | Hayı | Evet | Evet | Hayır |
İşlevler portalı tümleştirmesi | Evet | Hayır | Evet | Evet | Hayır |
Olay temelli ölçeklendirme | Evet5 | Evet (ölçek kuralları) | Yes | Hayır | Hayır |
Maksimum ölçek (örnekler) | 10001 | 10001 | 1002 | 10-303 | Kümeye göre değişir |
Sıfıra ölçeklendir örnekleri | Evet | Evet | Hayır | Hayır | KEDA |
Yürütme süresi sınırı | İlişkisiz6 | İlişkisiz6 | İlişkisiz7 | İlişkisiz8 | Hiç kimse |
Temel Araçlar dağıtımı | func azurecontainerapps |
Hayır | Hayır | Hayır | func kubernetes |
Düzeltmeler | Hayır | Evet | Hayır | Hayır | Hayır |
Dağıtım yuvaları | Hayır | Hayır | Evet | Evet | Hayır |
Akış günlükleri | Evet | Evet | Evet | Evet | Hayır |
Konsol erişimi | Şu anda kullanılamıyor4 | Yes | Evet (Kudu kullanarak) | Evet (Kudu kullanarak) | Evet (kullanarak kubectl podlarda) |
Soğuk başlangıç risk azaltma | En düşük çoğaltmalar | Ölçek kuralları | Her zaman hazır/önceden ısıtılmış örnekler | yok | Yok |
App Service kimlik doğrulaması | Şu anda kullanılamıyor4 | Evet | Evet | Evet | Hayır |
Özel etki alanı adları | Şu anda kullanılamıyor4 | Evet | Evet | Evet | Hayır |
Özel anahtar sertifikaları | Şu anda kullanılamıyor4 | Evet | Evet | Evet | Hayır |
Sanal ağlar | Evet | Evet | Evet | Evet | Evet |
Kullanılabilirlik alanları | Evet | Evet | Evet | Evet | Evet |
Tanılama | Şu anda kullanılamıyor4 | Evet | Evet | Evet | Hayır |
Özel donanım | Evet (iş yükü profilleri) | Evet (iş yükü profilleri) | Hayır | Evet | Yes |
Ayrılmış GPU'lar | Evet (iş yükü profilleri) | Evet (iş yükü profilleri) | Hayır | Hayır | Evet |
Yapılandırılabilir bellek/CPU sayısı | Evet | Evet | Hayır | Hayır | Evet |
"Ücretsiz hibe" seçeneği | Evet | Evet | Hayır | Hayır | Hayır |
Fiyatlandırma ayrıntıları | Container Apps faturalaması | Container Apps faturalaması | Premium plan faturalaması | Ayrılmış plan faturalaması | AKS fiyatlandırması |
Hizmet adı gereksinimleri | 2-32 karakter: küçük harfler, sayılar ve kısa çizgilerle sınırlıdır. Harfle başlayıp alfasayısal karakterle bitmelidir. | 2-32 karakter: küçük harfler, sayılar ve kısa çizgilerle sınırlıdır. Harfle başlayıp alfasayısal karakterle bitmelidir. | 64 karakterden az: Alfasayısal karakterler ve kısa çizgilerle sınırlıdır. Kısa çizgiyle başlayamaz veya bitemez. | 64 karakterden az: Alfasayısal karakterler ve kısa çizgilerle sınırlıdır. Kısa çizgiyle başlayamaz veya bitemez. | 253 karakterden az: Alfasayısal karakterler ve kısa çizgilerle sınırlıdır. Alfasayısal karakterle başlayıp bitmelidir. |
- Container Apps'te varsayılan değer 10 örnektir, ancak toplam en fazla 1000 çoğaltma içeren en fazla çoğaltma sayısını ayarlayabilirsiniz. Yeterli çekirdek kotası olduğu sürece bu ayar kabul edilir. İşlev uygulamanızı Azure portalından oluşturduğunuzda 300 örnekle sınırlısınız.
- Bazı bölgelerde Premium plandaki Linux uygulamaları 100 örneğe ölçeklendirilebilir. Daha fazla bilgi için Premium plan makalesine bakın.
- Çeşitli App Service planı seçenekleri için belirli sınırlar için bkz . App Service planı sınırları.
- Özellik eşliği, Azure Container Apps'te tümleşik barındırmanın bir hedefidir.
- KEDA gerektirir; çoğu tetikleyici tarafından desteklenir. Hangi tetikleyicilerin olay odaklı ölçeklendirmeyi desteklediğini öğrenmek için bkz . Container Apps barındırma ile ilgili önemli noktalar.
- En az çoğaltma sayısı sıfır olarak ayarlandığında, varsayılan zaman aşımı uygulamada kullanılan belirli tetikleyicilere bağlıdır.
- Zorunlu yürütme zaman aşımı süresi üst sınırı yoktur. Ancak, bir işlev yürütmesine verilen yetkisiz kullanım süresi, ölçeği daraltma sırasında 60 dakikadır ve platform güncelleştirmeleri sırasında 10 dakikalık yetkisiz kullanım süresi verilir.
- App Service planının Always On olarak ayarlanmasını gerektirir. Platform güncelleştirmeleri sırasında 10 dakikalık bir yetkisiz kullanım süresi verilir.
Başlarken
Linux kapsayıcılarında Azure İşlevleri ile çalışmaya başlamak için şu bağlantıları kullanın:
Yapmak istiyorum... | Makaleye bakın: |
---|---|
İlk kapsayıcılı işlevlerimi oluşturma | Yerel Linux kapsayıcısında işlev uygulaması oluşturma |
İşlev oluşturma ve Azure Container Apps'e dağıtma | Azure Container Apps'te ilk kapsayıcılı işlevlerinizi oluşturma |
Kapsayıcılı işlevler oluşturma ve Azure İşlevleri dağıtma | İlk kapsayıcılı Azure İşlevleri oluşturma |
İşlev oluşturma ve Azure Arc özellikli Kubernetes'e dağıtma | Azure Arc'ta ilk kapsayıcılı Azure İşlevleri oluşturma (önizleme) |