Azure Kubernetes Service (AKS) ve Arc özellikli Kubernetes için Dapr uzantısı
Dağıtılmış Uygulama Çalışma Zamanı (Dapr), basit, taşınabilir, dayanıklı ve güvenli mikro hizmetler yazmanıza ve uygulamanıza yardımcı olan API'ler sunar. Dapr API'leri uygulamalarınızla birlikte bir sepet işlemi olarak çalışır ve dağıtılmış uygulamalar oluştururken karşılaşabileceğiniz yaygın karmaşıklıkları soyutlar, örneğin:
- Hizmet bulma
- İleti aracısı tümleştirmesi
- Şifreleme
- Gözlemlenebilirlik
- Gizli dizi yönetimi
Dapr artımlı olarak benimsenebilir. Gerektiğinde API yapı taşları kullanabilirsiniz. Microsoft'un her Dapr API'si ve bileşeni için sunduğu destek düzeyini öğrenin.
Yetenekler ve özellikler
AKS veya Arc özellikli Kubernetes kümenizde Dapr sağlamak için Dapr uzantısını kullanmak şu ek yükü ortadan kaldırır:
- Dapr araçlarını indirme
- AKS kümenizde Dapr çalışma zamanını el ile yükleme ve yönetme
Ayrıca uzantı, basit komut satırı bağımsız değişkenleri aracılığıyla tüm yerel Dapr yapılandırma özellikleri için destek sunar.
Dapr, AKS'de mikro hizmet geliştirmenize yardımcı olmak için aşağıdaki özellikler kümesini sağlar:
- Küme uzantıları aracılığıyla AKS'de Dapr'ın kolay sağlanması
- Temel teknoloji seçimlerini soyutlayan HTTP ve gRPC API'leri aracılığıyla taşınabilirlik etkinleştirildi
- HTTP ve gRPC API'leri aracılığıyla güvenilir, güvenli ve dayanıklı hizmetten hizmete çağrılar
- CloudEvent filtreleme desteği ve ileti teslimi için "en az bir kez" semantiği ile mesajlaşmayı yayımlama ve abone olma kolaylaştırma
- Açık Telemetri API'sini toplayıcı aracılığıyla eklenebilir gözlemlenebilirlik ve izleme
- Dilden bağımsız olarak dile özgü yazılım geliştirme setleri (SDK' lar) sunar
- Dapr uzantısı aracılığıyla Visual Studio Code ile tümleştirme
- Dağıtılmış uygulama zorluklarını çözmek için daha fazla API
Şu anda destekleniyor
Dapr uzantısı, AKS'de Dapr için Microsoft tarafından desteklenen tek seçenektir.
Sorun işleme
Microsoft, Dapr uzantısına karşı ortaya atılan sorunları iki bölüme ayırır:
- Uzantı işlemleri
- Dapr çalışma zamanı (API'ler ve bileşenler dahil)
Aşağıdaki tablo, bu kategorilerin her biri için destek öncelik düzeylerini ayırır.
Açıklama | Güvenlik riskleri/Regresyonlar | İşlevsel sorunlar | |
---|---|---|---|
Uzantı işlemleri | Dapr uzantısını yükleme/kaldırma veya yükseltme gibi uzantı işlemleri sırasında karşılaşılan sorunlar. | Microsoft, anında çözüm için öncelikleri belirler. | Microsoft gerektiğinde araştırır ve adresler. |
Dapr çalışma zamanı | Uzantı aracılığıyla Dapr çalışma zamanı, API'ler ve bileşenler kullanılırken karşılaşılan sorunlar. | Microsoft, yüksek öncelikli sorunları araştırmak için açık kaynak topluluğuyla birlikte çalışır. Sorunun önceliğine, önem derecesine ve boyutuna bağlı olarak, Microsoft bunları doğrudan uzantıda çözer veya bir düzeltmede veya gelecekteki Dapr açık kaynak sürümünde çözmek için Dapr açık kaynak projesiyle çalışır. Düzeltmeler Dapr açık kaynak yayımlandıktan sonra Dapr uzantısında kullanıma sunulur. | Microsoft, Dapr açık kaynak projesiyle birlikte yeni işlevsel sorunları araştırır ve bir düzeltmede veya gelecekteki Dapr açık kaynak sürümünde çözmek için onlarla birlikte çalışır. Bilinen açık kaynak işlevsel sorunlar şu anda Microsoft tarafından araştırılmayacaktır. |
Dapr sürümleri
Microsoft, En son Dapr sürümü ve iki önceki sürüm (N-2) için en iyi desteği sağlar. En son düzeltme eki sürümü, her ikincil sürümün desteklenen tek sürümüdür. Şu anda AKS veya Arc özellikli Kubernetes için Dapr uzantısı aşağıdaki Dapr sürümlerini destekler:
- 1.14.x
- 1.13.x
- 1.12.x
Kümedeki veya konumdaki kullanılabilir sürümlerin listesini almak için Azure CLI komutlarını çalıştırabilirsiniz.
Çalışma zamanı desteği
Dapr uzantısı desteği, çalışma zamanını nasıl yönettiğinize bağlı olarak değişir.
Kendi kendini yöneten
Kendi kendine yönetilen çalışma zamanı, destek penceresinde kalmak için el ile yükseltme gerektirir. Dapr'ı uzantı aracılığıyla yükseltmek için Uzantı örneğini güncelleştirme yönergelerini izleyin.
Bir Dapr çalışma zamanı sürümü Microsoft desteğinin sonuna ulaştıktan sonra uygulamalarınız değişmeden çalışmaya devam eder. Ancak, Microsoft artık bu çalışma zamanı sürümü için güvenlik düzeltme ekleri veya ilgili müşteri desteği sağlayamıyor. Uygulamanız bu sürüm için destek sonu tarihinden sonra herhangi bir sorunla karşılaşırsa, en son güvenlik düzeltme eklerini ve özelliklerini almak için desteklenen bir sürüme yükseltmenizi öneririz.
Otomatik yükseltme
Otomatik yükseltmeyi etkinleştirmek için dikkatli bir değerlendirme gerekir. Otomatik yükseltme, Dapr uzantınızı en son ikincil sürüme güncelleştirse de, güncelleştirmeler arasında hataya neden olan değişikliklerle karşılaşabilirsiniz. Microsoft, otomatik güncelleştirmeler arasındaki hataya neden olan değişikliklerden kaynaklanan kapalı kalma süresinden sorumlu değildir.
Bileşenler ve API'ler
Alfa ve beta durumundaki bileşenler de dahil olmak üzere Tüm Dapr bileşenlerini ve API'lerini Dapr uzantısı aracılığıyla kullanabilirsiniz. Ancak Microsoft, tanımlanan sorun işleme ilkelerini izleyerek yalnızca API'lerin ve bileşenlerin bir alt kümesine destek sağlar.
Kararlı Dapr API'leri
Dapr uzantısı, Dapr API'lerinin (yapı taşları) kararlı sürümlerini destekler.
Dapr API | Çalıştırma Durumu | Açıklama |
---|---|---|
Hizmet-hizmet çağrısı | Dengeli | Hizmetleri keşfedin ve otomatik mTLS kimlik doğrulaması ve şifreleme ile güvenilir, doğrudan hizmet-hizmet çağrıları gerçekleştirin. (#limitations) |
Durum yönetimi | Dengeli | İşlemler ve CRUD işlemleri için durum yönetimi özellikleri sağlar. |
Pub/sub | Dengeli | Yayımcı ve abone uygulamalarının ara ileti aracısı aracılığıyla etkileşime girmelerine izin verir. Dış bileşen JSON dosyası kullanarak bir konuya bildirim temelli abonelikler de oluşturabilirsiniz. |
Bağlamalar | Dengeli | Uygulamalarınızı olaylara göre tetikleme. |
Aktör | Dengeli | Dapr aktörleri, hızla ölçeklendirilmek üzere tasarlanmış, ileti temelli, tek iş parçacıklı, iş birimleridir. Örneğin, yoğun iş yükü durumlarında. |
Gözlemlenebilirlik | Dengeli | bir Application Insights arka ucuna izleme bilgileri gönderme. |
Gizli Diziler | Dengeli | Uygulama kodunuzdan gizli dizilere erişin veya Dapr bileşenlerinizdeki güvenli değerlere başvurun. |
Yapılandırma | Dengeli | Desteklenen yapılandırma için uygulama yapılandırma öğelerini alın ve abone olun. Mağaza. |
Katman 1 ile Katman 2 bileşenleri karşılaştırması
Dapr bileşenlerinin bir alt kümesi desteklenir. Bu alt kümede Dapr bileşenleri iki destek kategorisine ayrılır: Katman 1 veya Katman 2.
- Katman 1 bileşenleri: Kritik (güvenlik veya ciddi regresyon) senaryolarında anında araştırma alan kararlı bileşenler. Aksi takdirde, Microsoft bir düzeltmede veya sonraki normal sürümde ele almak için açık kaynak ile işbirliği yapılır.
- Katman 2 bileşenleri: Kararlı durumda olmadığı veya üçüncü taraf sağlayıcıyla birlikte oldukları için daha az öncelikli olarak araştırılan bileşenler.
Katman 1 bileşenleri
API | Bileşen | Tür |
---|---|---|
Durum yönetimi | Azure Cosmos DB Azure Blob Depolama v1 Azure Tablo Depolaması Microsoft SQL Server |
state.azure.cosmosdb state.azure.blobstorage state.azure.tablestorage state.sqlserver |
Yayımla ve abone ol | Azure Service Bus Kuyrukları Azure Service Bus Konuları Azure Event Hubs |
pubsub.azure.servicebus.queues pubsub.azure.servicebus.topics pubsub.azure.eventhubs |
Bağlama | Azure Depolama Kuyrukları Azure Service Bus Kuyrukları Azure Blob Storage Azure Event Hubs |
bindings.azure.storagequeues bindings.azure.servicebusqueues bindings.azure.blobstorage bindings.azure.eventhubs |
Gizli dizi yönetimi | Azure Key Vault | secretstores.azure.keyvault |
Katman 2 bileşenleri
API | Bileşen | Tür |
---|---|---|
Durum yönetimi | PostgreSQL MySQL & MariaDB Redis |
state.postgresql state.mysql state.redis |
Yayımla ve abone ol | Apache Kafka Redis Akışları |
pubsub.kafka pubsub.redis |
Bağlama | Azure Event Grid Azure Cosmos DB Apache Kafka PostgreSQL Redis Cron |
bindings.azure.eventgrid bindings.azure.cosmosdb bindings.kafka bindings.postgresql bindings.redis bindings.cron |
Yapılandırma | PostgreSQL Redis |
configuration.postgresql configuration.redis |
Bulutlar/bölgeler
Genel Azure bulutu aşağıdaki bölgelerde AKS ve Arc desteğiyle desteklenir:
Bölge | AKS desteği | Kubernetes için Arc desteği |
---|---|---|
australiaeast |
✔️ | ✔️ |
australiasoutheast |
✔️ | ❌ |
brazilsouth |
✔️ | ❌ |
canadacentral |
✔️ | ✔️ |
canadaeast |
✔️ | ✔️ |
centralindia |
✔️ | ✔️ |
centralus |
✔️ | ✔️ |
eastasia |
✔️ | ✔️ |
eastus |
✔️ | ✔️ |
eastus2 |
✔️ | ✔️ |
eastus2euap |
❌ | ✔️ |
francecentral |
✔️ | ✔️ |
francesouth |
✔️ | ❌ |
germanywestcentral |
✔️ | ✔️ |
japaneast |
✔️ | ✔️ |
japanwest |
✔️ | ❌ |
koreacentral |
✔️ | ✔️ |
koreasouth |
✔️ | ❌ |
northcentralus |
✔️ | ✔️ |
northeurope |
✔️ | ✔️ |
norwayeast |
✔️ | ❌ |
southafricanorth |
✔️ | ❌ |
southcentralus |
✔️ | ✔️ |
southeastasia |
✔️ | ✔️ |
southindia |
✔️ | ❌ |
swedencentral |
✔️ | ✔️ |
switzerlandnorth |
✔️ | ✔️ |
uaenorth |
✔️ | ❌ |
uksouth |
✔️ | ✔️ |
ukwest |
✔️ | ❌ |
westcentralus |
✔️ | ✔️ |
westeurope |
✔️ | ✔️ |
westus |
✔️ | ✔️ |
westus2 |
✔️ | ✔️ |
westus3 |
✔️ | ✔️ |
Sık sorulan sorular
Dapr ve Service kısa çizgileri nasıl karşılaştırır?
Dapr ve hizmet kafesleri bazı çakışan özellikler sunsa da, hizmet ağı ağ endişelerine odaklanırken, Dapr ise uygulamaları mikro hizmetler olarak oluşturmayı kolaylaştıran yapı taşları sağlamaya odaklanır. Dapr geliştirici odaklıdır, hizmet kısa çizgileri ise altyapı odaklıdır.
Dapr'ın hizmet kısa çizgileri ile paylaştığı bazı yaygın özellikler şunlardır:
- mTLS şifrelemesi ile hizmet arası iletişimin güvenliğini sağlama
- Hizmet-hizmet ölçümü koleksiyonu
- Hizmet-hizmet dağıtılmış izleme
- Yeniden denemeler aracılığıyla dayanıklılık
Dapr, durum yönetimi, pub/alt mesajlaşma, aktörler ve daha fazlası için diğer uygulama düzeyinde yapı taşları sağlar. Ancak Dapr, trafik davranışı için yönlendirme veya trafik bölme gibi özellikler sağlamaz. Çözümünüz bir hizmet ağı tarafından sunulan trafikten yararlanacaksa Open Service Mesh'i kullanmayı göz önünde bulundurun.
Dapr ve hizmet kısa çizgileri ve bunların birlikte nasıl kullanılabildikleri hakkında daha fazla bilgi için Dapr belgelerini ziyaret edin.
Dapr gizli dizileri API'si, Gizli Dizi Deposu CSI sürücüsüyle karşılaştırıldığında nasıldır?
Hem Dapr gizli dizileri API'si hem de yönetilen Gizli DiziLer Deposu CSI sürücüsü, uygulama kodundan gizli dizi deposu teknolojisini soyutlayarak bir dış depoda tutulan gizli dizilerin tümleştirilmesine olanak sağlar.
Gizli Dizi Deposu CSI sürücüsü, Azure Key Vault'ta tutulan gizli dizileri bir uygulama tarafından kullanılmak üzere bir CSI birimi olarak bağlar.
Dapr, şu gibi bir RESTful API aracılığıyla gizli dizileri kullanıma sunar:
- Uygulama kodu tarafından çağrılır
- Çeşitli gizli dizi depolarıyla yapılandırıldı
Aşağıdaki tabloda her teklifin özellikleri listelemektedir:
Dapr gizli dizileri API'si | Gizli Dizi Deposu CSI sürücüsü | |
---|---|---|
Desteklenen gizli dizi depoları | Yerel ortam değişkenleri (Geliştirme için); Yerel dosya (Geliştirme için); Kubernetes Gizli Dizileri; AWS Gizli Dizi Yöneticisi; Azure Key Vault gizli dizi deposu; Kubernetes'te Yönetilen Kimlikler ile Azure Key Vault; GCP Gizli Dizi Yöneticisi; HashiCorp Vault | Azure Key Vault gizli dizi deposu |
Uygulama kodunda gizli dizilere erişme | Dapr gizli dizileri API'sini çağırma | Bağlı birime erişin veya kubernetes gizli dizisi olarak bağlanan içeriği eşitleyin ve bir ortam değişkeni ayarlayın |
Gizli dizi döndürme | Yeni API çağrıları güncelleştirilmiş gizli dizileri edindi | Gizli dizileri yoklar ve bağlamayı yapılandırılabilir bir aralıkta güncelleştirir |
Günlüğe kaydetme ve ölçümler | Dapr sepet, Azure İzleyici gibi toplayıcılarla yapılandırılabilen günlükler oluşturur, Ölçümleri Prometheus aracılığıyla yayar ve durum denetimleri için bir HTTP uç noktasını kullanıma sunar | Prometheus aracılığıyla sürücü ve Azure Key Vault sağlayıcı ölçümlerini yayar |
Dapr'da gizli dizi yönetimi hakkında daha fazla bilgi için bkz. Gizli dizi yönetimine genel bakış.
Gizli Dizi Deposu CSI sürücüsü ve Azure Key Vault sağlayıcısı hakkında daha fazla bilgi için bkz. Gizli Dizi Deposu CSI sürücüsüne genel bakış.
Yönetilen Dapr kümesi uzantısı, açık kaynak Dapr teklifiyle karşılaştırıldığında nasıldır?
Yönetilen Dapr kümesi uzantısı, AKS kümesinde Dapr sağlamanın en kolay yöntemidir. Uzantıyla, otomatik yükseltmeleri kabul ederek Dapr çalışma zamanı sürümünün yönetimini boşaltabilirsiniz. Ek olarak, uzantı Akıllı varsayılanlarla Dapr'ı yükler (örneğin, Dapr denetim düzlemini yüksek kullanılabilirlik modunda sağlama).
Dapr açık kaynak helm veya Dapr CLI aracılığıyla yüklenirken, geliştiriciler ve küme bakımcıları da çalışma zamanı sürümleri ve yapılandırma seçeneklerinden sorumludur.
Son olarak, Dapr uzantısı AKS'nin bir uzantısıdır, bu nedenle diğer AKS özellikleriyle aynı destek ilkesini bekleyebilirsiniz.
Dapr açık kaynak'den AKS için Dapr uzantısına geçiş hakkında daha fazla bilgi edinin.
Yönetilen kimlikleri kullanarak Microsoft Entra ID ile Dapr bileşenlerinin kimliğini nasıl doğrulayabilirim?
- Dapr bileşenlerinin Microsoft Entra Id ile kimlik doğrulamasını öğrenin.
- AKS ile yönetilen kimlikleri kullanma hakkında bilgi edinin.
Dapr'ı Helm gibi bir yöntemle yüklediysem Dapr uzantısını kullanmaya nasıl geçebilirim?
Önerilen kılavuz, Dapr'ı AKS kümesinden tamamen kaldırmak ve küme uzantısı aracılığıyla yeniden yüklemektir. Ayrıca mevcut Dapr yüklemesini denetleyebilir ve AKS'ye geçirebilirsiniz.
Dapr'ı AKS uzantısı aracılığıyla yüklerseniz, dapr CLI yerine dapr'ın gelecekteki yönetimi için uzantıyı kullanmaya devam edebilirsiniz. İki aracı birleştirmek çakışmalara neden olabilir ve istenmeyen davranışlara neden olabilir.
Sonraki Adımlar
Azure Kubernetes Service