Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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. Projenizi bir Linux işlev uygulamasına dağıttığınızda kodunuz sizin için otomatik olarak oluşturulan ve İşlevler yönetim araçlarıyla sorunsuz bir şekilde tümleşen bir kapsayıcıda çalışır.
İşlevler kapsayıcılı işlev uygulaması dağıtımlarını da destekler. Kapsayıcılı dağıtımda, desteklenen bir taban görüntüsünden yerel bir Docker kapsayıcısında işlev uygulamanızın kendi örneğini 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.
Important
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 özeldir. Bkz. Azure İşlevleri temel görüntü depoları.
İş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. Daha fazla bilgi için bkz . Özel kapsayıcıları koruma.
Kapsayıcı için 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 | Benefits |
|---|---|
| Azure Container Apps | Azure İşlevleri, Azure Container Apps üzerinde kapsayıcılı işlev uygulamaları geliştirmek, dağıtmak ve yönetmek için tümleşik destek sağlar. Bu tümleştirme, Azure portalında aynı İşlevler araçlarını ve sayfalarını kullanarak uygulamalarınızı yönetmenizi sağlar. İşlev uygulaması kapsayıcınızı diğer mikro hizmetler, API'ler, web siteleri, iş akışları veya kapsayıcı tarafından barındırılan diğer programlarla aynı ortamda 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çekleme özelliğini destekler ve kullandıkça öde modeliyle sunucusuz bir barındırma sağlar. İş yükü profillerini kullanarak ayrılmış donanım hatta GPU'lar da isteyebilirsiniz. Kapsayıcılı işlev uygulamaları n Azure 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. Daha fazla bilgi için bkz. Kapsayıcılarla çalışma ve Azure İşlevleri. |
| Azure İşlevleri | Kapsayıcıya alınmış işlev uygulamalarınızı Azure Functions'ta Elastik Premium planında veya Özel App Service planında çalıştırarak barındırabilirsiniz. Zengin kapsayıcı desteği için Container Apps barındırmayı kullanın. 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. Önemli: KeDA kullanarak veya doğrudan dağıtım yoluyla kapsayıcılı işlev uygulamalarınızın Kubernetes barındırması, ücretsiz olarak kullanabileceğiniz açık kaynak bir çabadır. Bu barındırma senaryosu için en iyi çaba desteği yalnızca katkıda bulunanlar ve topluluk tarafından sağlanır. Azure Kubernetes Service'e (AKS) dağıtırken 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.
| Feature/behavior | Container Apps (tümleşik) | Container Uygulamaları (doğrudan) | Premium plan | Özel plan | Kubernetes |
|---|---|---|---|---|---|
| Ürün desteği | Yes | No | Yes | Yes | No |
| Fonksiyonlar portalı entegrasyonu | No | No | Yes | Yes | No |
| Olay temelli ölçeklendirme | Yes5 | Evet (ölçek kuralları) | Yes | No | No |
| Maksimum ölçek (örnekler) | 10001 | 10001 | 1002 | 10-303 | Kümeye göre değişir |
| Sıfıra indirgenebilir örnekler | Yes | Yes | No | No | KEDA |
| Yürütme süresi sınırı | Unbounded6 | Unbounded6 | Unbounded7 | Unbounded8 | None |
| Temel Araçlar dağıtımı | No | No | No | No | func kubernetes |
| Revisions | Yes | Yes | No | No | No |
| Dağıtım yuvaları | No | No | Yes | Yes | No |
| Akış günlükleri | Yes | Yes | Yes | Yes | No |
| Konsol erişimi | Yes | Yes | Evet (Kudu kullanarak) | Evet (Kudu kullanarak) | Evet (podlarda kullanarak kubectl) |
| Soğuk başlangıç etkilerini hafifletme | En az replikalar | Ölçek kuralları | Her zaman hazır/önceden ısıtılmış örnekler | n/a | n/a |
| App Service kimlik doğrulaması | Yes | Yes | Yes | Yes | No |
| Özel etki alanı adları | Yes | Yes | Yes | Yes | No |
| Özel anahtar sertifikaları | Yes | Yes | Yes | Yes | No |
| Sanal ağlar | Yes | Yes | Yes | Yes | Yes |
| Erişilebilirlik bölgeleri | Yes | Yes | Yes | Yes | Yes |
| Diagnostics | Yes | Yes | Yes | Yes | No |
| Özel donanım | Evet (iş yükü profilleri) | Evet (iş yükü profilleri) | No | Yes | Yes |
| Adanmış GPU'lar | Evet (iş yükü profilleri) | Evet (iş yükü profilleri) | No | No | Yes |
| Yapılandırılabilir bellek/CPU sayısı | Yes | Yes | No | No | Yes |
| "Ücretsiz hibe" seçeneği | Yes | Yes | No | No | No |
| 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'ten az karakter: Alfasayısal karakterler ve kısa çizgilerle sınırlıdır. Kısa çizgiyle başlayamaz veya bitemez. | 64'ten az karakter: 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ı görmek amacıyla App Service planı sınırları'na bakın.
- 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.
- Yürütme zaman aşımı süresi için herhangi bir üst sınır uygulanmamaktadır. 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.
Özel kapsayıcıları koruma
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 uygulamanızda kullandığınız dil yığınına göre temel görüntünüzü seçin. Aşağıdaki tabloda her yığın için örnekler verilmiştir. Genel olarak, V4 İşlevleri çalışma zamanını belirtmek için etiketi ile 4- başlamalıdır. Yeni ikincil sürümler yayımlandığında, bu etiket yeni sürüme işaret edecek şekilde güncelleştirilir. Özel görüntünüzü düzenli aralıklarla yeniden oluştururken, yeni sürümleri aynı etiketten çekerek uygulamanızın aynı güncelleştirmelere sahip olmasını sağlarsınız. Küçük çalışma zamanı sürümlerini belirten etiketler kullanmamalısınız çünkü bu etiketler güncellenmeyecek ve özel imajınızı ne kadar sık yeniden derlerseniz derleyin, uygulamanız yamalanmamış bir sürümde kalabilir.
| Dil Yığını | Örnek önerilen temel görüntü etiketleri |
|---|---|
| .NET (yalıtılmış çalışan modeli) |
mcr.microsoft.com/azure-functions/dotnet-isolated:4-dotnet-isolated8.0 veyamcr.microsoft.com/azure-functions/dotnet-isolated:4-dotnet-isolated8.0-appservice(Bu örnekler .NET 8'i hedefler. İhtiyacınız olan .NET sürümü için uygun görüntüyü seçin.) |
| .NET (eski işlem içi modeli) |
mcr.microsoft.com/azure-functions/dotnet:4-dotnet8.0 veyamcr.microsoft.com/azure-functions/dotnet:4-dotnet8.0-appservice(İşlem içi model için destek 10 Kasım 2026'da sona erecektir. Yalıtılmış çalışan modeline en kısa sürede geçiş yapmalısınız.) |
| Java |
mcr.microsoft.com/azure-functions/java:4-java21 veyamcr.microsoft.com/azure-functions/java:4-java21-appservice(Bu örnekler Java 21'i hedefler. İhtiyacınız olan Java sürümü için uygun görüntüyü seçin.) |
| Node.js (JavaScript veya TypeScript) |
mcr.microsoft.com/azure-functions/node:4-node22 veyamcr.microsoft.com/azure-functions/node:4-node22-appservice(Bu örnekler Node.js 22'ye hedeftir. İhtiyacınız olan Node.js sürümü için uygun görüntüyü seçin.) |
| PowerShell |
mcr.microsoft.com/azure-functions/powershell:4-powershell7.4 veyamcr.microsoft.com/azure-functions/powershell:4-powershell7.4-appservice(Bu örnekler PowerShell 7.4'i hedefler. İhtiyacınız olan PowerShell sürümü için uygun görüntüyü seçin.) |
| Piton |
mcr.microsoft.com/azure-functions/python:4-python3.12 veyamcr.microsoft.com/azure-functions/python:4-python3.12-appservice(Bu örnekler Python 3.12'ye hedeftir. İhtiyacınız olan Python sürümü için uygun görüntüyü seçin.) |
| Özel işleyiciler / diğer |
mcr.microsoft.com/azure-functions/base:4 veyamcr.microsoft.com/azure-functions/base:4-appservice |
ile biten -appservice temel görüntüler, platformdan SSH ve uzaktan hata ayıklamayı etkinleştirir. Bu özelliklere ihtiyacınız yoksa, -appservice sonek olmadan temel görüntüleri kullanabilirsiniz.
Important
Dockerfile dosyanızda yukarıdaki etiketlerden yalnızca birinin olması yeterli değildir. Özel görüntünüzün en son güncelleştirmeleri içerecek şekilde yeniden oluşturulabilmesi için bu etiketten düzenli olarak en son görüntüyü çekmeniz gerekir. En son görüntüyü çekmezseniz ve yeniden derlemezseniz uygulamanız eski temel görüntüde çalışmaya devam eder.
Özel görüntü kullanarak kendi kapsayıcılı uygulamanızı oluşturduğunuzda veya dağıttığınızda, özel görüntünüzün yayımlanan temel görüntülerimizle up-togüncel kalmasını sağlamak sizin sorumluluğunuzdadır. Bu temel görüntü güncelleştirmeleri, yeni özelliklere ve iyileştirmelere ek olarak uygulamanız için kritik öneme sahip güvenlik güncelleştirmelerini de içerebilir. Uygulamanızın korunduğundan emin olmak için güncel kaldığınızdan emin olun. Temel görüntünün en son sürümünü düzenli olarak çekmeniz, özel kapsayıcı görüntünüzü yeniden oluşturmanız ve uygulamanızı kullanmak üzere yeniden dağıtmanız gerekir.
Bazı durumlarda, eski bir temel görüntü kullanan özel bir kapsayıcıdaki bir uygulamanın düzgün çalışmayı durdurabileceği anlamına gelen platform düzeyinde değişiklikler yapmamız gerekir. Bu tür önemli değişiklikler için, düzenli güncelleştirmeleri alan uygulamaların olumsuz etkilenmemesi için güncelleştirilmiş görüntüleri önceden kullanıma slacağız. Özel kapsayıcılarda çalışan uygulamalarınızla ilgili olası sorunları önlemek için, yayınlanan en son ikincil sürümün çok gerisinde kalmadığınızdan emin olun. Destek olayı sırasında uygulamanızın daha eski veya desteklenmeyen bir sürümde olduğu için sorun yaşadığını belirlersek, desteğe devam etmeden önce kapsayıcınızı en son temel görüntü sürümüne güncelleştirmenizi rica ederiz.
Başlangıç Yapmak
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 |
| Azure İşlevlerine kapsayıcılandırılmış işlevler oluşturma ve dağıtma | İlk kapsayıcılı Azure İşlevleri oluşturma |