Azure Arc üzerinde App Service, Işlevler ve Logic Apps (Önizleme)
Azure Arc özellikli bir Kubernetes kümesinde App Service, Işlevler ve Logic Apps çalıştırabilirsiniz. Kubernetes kümesi şirket içinde olabilir veya üçüncü taraf bir bulutta barındırılabilir. Bu yaklaşım, uygulama geliştiricilerinin App Service özelliklerinden yararlanmasını sağlar. Aynı zamanda, BT yöneticilerinin App Service uygulamalarını iç altyapıya barındırarak kurumsal uyumluluğun korunmasını sağlar. Ayrıca, mevcut Kubernetes kümelerinde App Service çalıştırarak diğer bulut sağlayıcılarındaki önceki yatırımlarını korumanıza olanak sağlar.
Not
Kubernetes kümenizi App Service, Işlevleri ve Logic Apps için ayarlamayı öğrenmek için bkz. App Service Kubernetes ortamı oluşturma (Önizleme).
Çoğu durumda, uygulama geliştiricilerinin dağıtılan Kubernetes ortamını temsil eden doğru Azure bölgesine nasıl dağıtılacağı hakkında bilgi sahibi olmaları gerekir. Ortamı sağlayan ve temel alınan Kubernetes altyapısını koruyacak operatörler için aşağıdaki Azure kaynaklarından haberdar olmanız gerekir:
- Kubernetes altyapınızın Azure projeksiyonu olan bağlı küme. Daha fazla bilgi için bkz. Azure Arc özellikli Kubernetes nedir?.
- Bağlı küme kaynağının alt kaynağı olan bir küme uzantısı. App Service uzantısı, gerekli olan kümelerinizi bağlı kümenize yüklerse. Küme uzantıları hakkında daha fazla bilgi için bkz. Azure yay özellikli Kubernetes üzerinde küme uzantıları.
- Bir uzantı grubunu birlikte paketlediği ve bunları oluşturulan kaynaklar için bir ad alanı ile eşleyen özel bir konum. Daha fazla bilgi için bkz. Azure Arc etkin Kubernetes üzerinde özel konumlar.
- Bir App Service Kubernetes ortamı, uygulamalar arasında ortak yapılandırma sağlar, ancak küme işlemleriyle ilgili değildir. Kavramsal olarak, özel konum kaynağına dağıtılır ve uygulama geliştiricileri bu ortama uygulamalar oluşturur. Bu, App Service Kubernetes ortamındadaha ayrıntılı olarak açıklanmıştır.
Genel önizleme sınırlamaları
Aşağıdaki genel önizleme sınırlamaları App Service Kubernetes ortamları için geçerlidir. Bunlar, değişiklikler kullanılabilir hale getirildikleri için güncelleştirilir.
| Sınırlama | Ayrıntılar |
|---|---|
| Desteklenen Azure bölgeleri | Doğu ABD, Batı Avrupa |
| Küme ağ gereksinimi | LoadBalancerHizmet türünü desteklemelidir ve genel olarak adreslenebilir statik BIR IP sağlamalıdır |
| Küme depolama gereksinimi | Uygun yerlerde kod tabanlı uygulamaların dağıtımını ve derlemesini desteklemek için, uzantı tarafından kullanılmak üzere kullanılabilir küme ekli depolama sınıfı olmalıdır |
| Özellik: ağ Iletişimi | Kullanılamıyor (küme ağlarına bağlı) |
| Özellik: Yönetilen kimlikler | Kullanılamıyor |
| Özellik: Anahtar Kasası başvuruları | Kullanılamıyor (yönetilen kimliklere bağlıdır) |
| Özellik: yönetilen kimlik ile ACR 'den görüntüleri çekme | Kullanılamıyor (yönetilen kimliklere bağlıdır) |
| Özellik: Işlevler ve Logic Apps için Portal Içi düzenlemeler | Kullanılamaz |
| Özellik: FTP yayımlaması | Kullanılamaz |
| Günlükler | Log Analytics küme uzantısıyla yapılandırılmalıdır; site başına değil |
App Service uzantısı tarafından oluşturulan pods 'ler
App Service uzantısı, Azure Arc etkin Kubernetes kümesinde yüklü olduğunda, belirtilen yayın ad alanında oluşturulan birkaç düğüm görürsünüz. Bu düğüm, Kubernetes kümenizi Azure 'da kaynak sağlayıcısının bir uzantısı olacak şekilde etkinleştirir Microsoft.Web ve uygulamalarınızın yönetim ve işlemlerini destekler. İsteğe bağlı olarak, uzantısının olay odaklı ölçeklendirme için Keda yüklemesini seçebilirsiniz.
Aşağıdaki tabloda, varsayılan olarak oluşturulan her Pod 'un rolü açıklanmaktadır:
| Ayak | Description |
|---|---|
<extensionName>-k8se-app-controller |
Kümede kaynakları oluşturan ve bileşenlerin durumunu tutan çekirdek işleci Pod. |
<extensionName>-k8se-envoy |
Tüm veri düzlemi istekleri için bir ön uç proxy katmanı. Gelen trafiği doğru uygulamalara yönlendirir. |
<extensionName>-k8se-activator |
Sistem, kullanılabilir ilk örneği aldığı sırada sıfıra ölçeklendirilen uygulamalarla ilgili yardımcı olmaya yönelik alternatif bir yönlendirme hedefi. |
<extensionName>-k8se-build-service |
Dağıtım işlemlerini destekler ve Gelişmiş Araçlar özelliğinisunar. |
<extensionName>-k8se-http-scaler |
Keda'a ölçeklendirme bilgileri sağlamak için gelen istek birimini izler. |
<extensionName>-k8se-img-cacher |
Yer tutucu ve uygulama görüntülerini düğümdeki yerel bir önbelleğe çeker. |
<extensionName>-k8se-log-processor |
Uygulamalardan ve diğer bileşenlerden günlükleri toplar ve onları Log Analytics gönderir. |
placeholder-azure-functions-* |
Azure Işlevleri için soğuk çalışmaya başlamadan önce kullanılır. |
Kubernetes ortamını App Service
Uygulamalar oluşturulabilmesi için Kubernetes ortam kaynağı App Service gerekir. Varsayılan DNS son eki gibi özel konumdaki uygulamalarda ortak yapılandırma sağlar.
Özel bir konumda yalnızca bir Kubernetes ortam kaynağı oluşturulabilir. Çoğu durumda, uygulamaları oluşturan ve dağıtan bir geliştiricinin kaynağın doğrudan farkında olması gerekmez. Bu, belirtilen özel konum KIMLIĞINDEN doğrudan çıkarsanamıyor. Ancak, Azure Resource Manager şablonları tanımlarken, herhangi bir plan kaynağının doğrudan ortamın kaynak KIMLIĞINE başvurması gerekir. Planın özel konum değerlerinin ve belirtilen ortamın eşleşmesi gerekir.
App Service, Işlevler ve Azure Arc 'daki Logic Apps hakkında SSS (Önizleme)
- Fiyatı nedir?
- hem Windows hem de Linux uygulamaları destekleniyor mu?
- Hangi yerleşik uygulama yığınları desteklenir?
- Tüm uygulama dağıtım türleri destekleniyor mu?
- Hangi App Service özellikleri destekleniyor?
- Ağ özellikleri destekleniyor mu?
- Yönetilen kimlikler destekleniyor mu?
- Herhangi bir ölçeklendirme sınırı var mı?
- Hangi Günlükler toplanır?
- Sağlayıcı kayıt hatası gördiğimde ne yapmalıyım?
- Uygulama Hizmetleri uzantısını ARM64 tabanlı bir kümede dağıtabilir miyim?
Fiyatı nedir?
Azure Arc 'daki App Service, genel önizleme süresince ücretsizdir.
hem Windows hem de Linux uygulamaları destekleniyor mu?
Yalnızca Linux tabanlı uygulamalar desteklenir, hem kod hem de özel kapsayıcılar desteklenir. Windows uygulamalar desteklenmez.
Hangi yerleşik uygulama yığınları desteklenir?
Tüm yerleşik Linux yığınları desteklenir.
Tüm uygulama dağıtım türleri destekleniyor mu?
FTP dağıtımı desteklenmez. Şu anda az webapp up de desteklenmiyor. Git, ZIP, cı/CD, Visual Studio ve Visual Studio Code dahil diğer dağıtım yöntemleri desteklenir.
Hangi App Service özellikleri destekleniyor?
Önizleme dönemi boyunca bazı App Service Özellikler doğrulanıyor. Desteklendiklerinde Azure portal sol gezinti seçenekleri etkinleştirilir. Henüz desteklenmeyen özellikler gri kalır.
Ağ özellikleri destekleniyor mu?
Hayır. Karma bağlantılar, sanal ağ tümleştirmesi veya IP kısıtlamaları gibi ağ özellikleri desteklenmez. Ağ doğrudan Kubernetes kümesinde ağ kurallarında işlenmeli.
Yönetilen kimlikler destekiliyor mu?
Hayır. Uygulamalar, Azure Arc'da çalıştırıken yönetilen kimlikler Azure Arc. Uygulamanıza başka bir Azure kaynağıyla çalışmak için kimlik gerekiyorsa bunun yerine bir uygulama hizmet sorumlusu kullanmayı göz önünde bulundurabilirsiniz.
Herhangi bir ölçeklendirme sınırı var mı?
Azure Arc kubernetes üzerinde Azure App Service ile dağıtılan tüm uygulamalar, temel alınan Kubernetes kümesi sınırları içinde ölçeklendirebilir. Temel alınan Kubernetes Kümesinde kullanılabilir işlem kaynakları (öncelikli olarak CPU ve bellek) biterse, uygulamalar yalnızca Kubernetes'in kullanılabilir kaynakla zamanlayabilecek uygulama örneklerinin sayısına ölçeklendirebilir.
Hangi günlükler toplanır?
Hem sistem bileşenlerine hem de uygulamalarınıza ilişkin günlükler standart çıkışa yazılır. İki günlük türü de standart Kubernetes araçlarıyla analiz için toplanabilir. Log Analytics çalışma alanıyla App Service küme uzantısını da yapılandırabilirsinizve tüm günlükleri bu çalışma alanına gönderir.
Varsayılan olarak sistem bileşenlerinden gelen günlükler Azure ekibine gönderilir. Uygulama günlükleri gönderilmez. Uzantı yapılandırma ayarlarına logProcessor.enabled=false ekleyerek bu günlüklerin aktarılmasını engelleyebilirsiniz. Bu, uygulamanın Log Analytics çalışma alanınıza veri iletmesini de devre dışı bırakır. Günlük işlemcisinin devre dışı bırakılması herhangi bir destek çalışması için gereken süreyi etkileyebilir günlükleri farklı yöntemlerle standart çıktılardan toplamanız istenecektir.
Sağlayıcı kayıt hatasıyla karşılaştım mı?
Kubernetes ortam kaynağı oluştururken, bazı abonelikler "Kayıtlı kaynak sağlayıcısı bulunamadı" hatasıyla karşı karşıdan bulunabilir. Hata ayrıntıları, geçerli olarak kabul edilen bir dizi konum ve API sürümü içerebilir. Böyle bir durumda aboneliğin Mevcut uygulamalar veya API'ler üzerinde hiçbir etkisi olmayan bir işlem olan Microsoft.Web sağlayıcısına yeniden kayıtlı olması gerekebilir. Yeniden kaydolmak için Azure CLI kullanarak az provider register --namespace Microsoft.Web --wait çalıştırın. Ardından Kubernetes ortam komutunu yeniden deneme.
Uygulama hizmetleri uzantısını ARM64 tabanlı bir kümeye dağıtabilirsiniz.
ARM64 tabanlı kümeler şu anda desteklenmiyor.
Uzantı Sürüm Notları
Uygulama hizmetleri uzantısı v 0.9.0 (Mayıs 2021)
- Uygulama hizmetleri uzantısının ilk genel önizleme sürümü.
- Web, İşlev ve Mantıksal Uygulamaların kod ve kapsayıcı tabanlı dağıtımları için destek.
- Web uygulaması çalışma zamanı desteği - .NET 3.1 ve 5.0; Node JS 12 ve 14; Python 3.6, 3.7 ve 3.8; PHP 7.3 ve 7.4; Ruby 2.5, 2.5.5, 2.6 ve 2.6.2; Java SE 8u232, 8u242, 8u252, 11.05, 11.06 ve 11.07; Tomcat 8.5, 8.5.41, 8.5.53, 8.5.57, 9.0.20, 9.0.33 ve 9.0.37.
Uygulama hizmetleri uzantısı v 0.10.0 (Kasım 2021)
Uzantınız kararlı sürümde ise ve otomatik yükseltme-ikincil-sürümü etkin olarak ayarlanırsa uzantı otomatik olarak yükseltilir. Uzantıyı el ile uzantının en son sürümüne yükseltmek için aşağıdaki komutu çalıştırabilirsiniz
- Envoy uç noktasına atama için gereken önceden atanmış Statik IP Adresi gereksinimi kaldırıldı
- Keda'yı v2.4.0 sürümüne yükseltme
- Faturalamayı v1.19.0 sürümüne yükseltme
- Azure İşlevi çalışma zamanının v3.3.1 sürümüne yükseltin
- Daha fazla kararlılık eklemek için Varsayılan App Controller ve Envoy Controller çoğaltma sayısını 2 olarak ayarlayın
Uzantınız kararlı sürümde ise ve otomatik yükseltme-ikincil-sürümü true olarak ayarlanırsa, uzantı otomatik olarak yükseltilir. Uzantıyı en son sürüme el ile yükseltmek için aşağıdaki komutu çalıştırabilirsiniz:
az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.10.0