Hizmet ağları hakkında

Hizmet ağı, uygulamanızda hizmetler arasındaki iletişimi kolaylaştıran bir altyapı katmanıdır. Hizmet ağları, trafik yönetimi, dayanıklılık, ilke, güvenlik, güçlü kimlik ve iş yüklerinize gözlemlenebilirlik gibi özellikler sağlar. Uygulamanız bu işletimsel özelliklerden ayrılırken, hizmet ağı bunları uygulama katmanının dışına ve altyapı katmanına taşır.

Senaryolar

Bir hizmet ağı kullandığınızda, aşağıdaki gibi senaryoları etkinleştirebilirsiniz:

  • Kümedeki tüm trafiği şifreleme: Kümedeki belirtilen hizmetler arasında karşılıklı TLS'yi etkinleştirin. Bu, ağ çevresinde giriş ve çıkışa genişletilebilir ve uygulama kodu ve altyapı için değişiklik gerektirmeden varsayılan olarak güvenli bir seçenek sağlar.

  • Kanarya ve aşamalı dağıtımlar: Trafiğin bir alt kümesinin kümedeki yeni hizmetler kümesine yönlendirilmesi için koşulları belirtin. Kanarya sürümünün başarılı testinde koşullu yönlendirmeyi kaldırın ve yeni bir hizmete yönelik tüm trafiğin % değerini kademeli olarak artıran aşamayı kaldırın. Sonunda tüm trafik yeni hizmete yönlendirilir.

  • Trafik yönetimi ve düzenlemesi: Bir hizmette, tüm trafiği belirli bir kaynaktan gelen bir hizmet sürümüyle sınırlayan bir ilke veya belirtilen hizmetler arasındaki hata sınıflarına yeniden deneme stratejisi uygulayan bir ilke oluşturun. Geçiş sırasında veya sorunlarda hata ayıklamak için dinamik trafiği hizmetlerin yeni sürümlerine yansıtın. Dayanıklılığı test etmek için bir test ortamında hizmetler arasında hata ekleyin.

  • Gözlemlenebilirlik: Hizmetlerinizin nasıl bağlandığını ve bunlar arasında akan trafiğin içgörülerini elde edin. Giriş/çıkış dahil olmak üzere kümedeki tüm trafik için ölçümleri, günlükleri ve izlemeleri toplayın. Uygulamalara dağıtılmış izleme özellikleri ekleyin.

Seçim ölçütleri

Bir hizmet ağı seçmeden önce gereksinimlerinizi ve bir hizmet ağı yükleme manasını anladığınızdan emin olun. Aşağıdaki soruları sorun:

  • Giriş denetleyicisi gereksinimlerim için yeterli mi?: Bazen girişte A/B testi veya trafik bölme gibi bir özelliğe sahip olmak, gerekli senaryoyu desteklemek için yeterlidir. Ortamınıza bir terslik olmadan karmaşıklık eklemeyin.

  • İş yüklerim ve ortamım ek ek yükleri tolere edebilir mi?: Hizmet ağlarını desteklemek için gereken tüm bileşenler CPU ve bellek gibi kaynaklar gerektirir. Tüm ara sunucular ve ilişkili ilke denetimleri trafiğinize gecikme süresi ekler. Gecikme süresine çok duyarlı olan veya hizmet ağı bileşenlerini kapsayacak ek kaynaklar sağlayabilen iş yükleriniz varsa, hizmet ağı kullanmayı yeniden düşünmelisiniz.

  • Bu, gereksiz karmaşıklık mı ekliyor?: İş veya operasyonel ekipler için kritik olmayan bir özellik kullanmak üzere bir hizmet ağı yüklemek istiyorsanız, eklenen yükleme, bakım ve yapılandırma karmaşıklığının buna değip değmediğini göz önünde bulundurun.

  • Bu, artımlı bir yaklaşımla benimsenebilir mi?: Çok fazla özellik sağlayan hizmet tirelerinden bazıları daha artımlı bir yaklaşımla benimsenebilir. Başarılı olduğunuzdan emin olmak için yalnızca ihtiyacınız olan bileşenleri yükleyin. Daha sonra daha fazla özellik gerektiğini fark ederseniz, bunları daha sonra keşfedin. Baştan her şeyi yükleme isteğine direnin.

Sonraki adımlar

Azure Kubernetes Service (AKS), Istio ve Open Service Mesh için resmi olarak desteklenen eklentiler sunar:

Aks ile yaygın olarak kullanılan açık kaynak projeler ve üçüncü taraflar tarafından sağlanan hizmet tireleri de vardır. Bu hizmet ağları AKS destek ilkesi kapsamında değildir.

Hizmet ağı manzarası hakkında daha fazla ayrıntı için bkz. Katman 5'in Hizmet Ağı Yatayı.

Hizmet ağı standartlaştırma çalışmaları hakkında daha fazla ayrıntı için bkz: