Aracılığıyla paylaş


Azure Kubernetes Service için Istio tabanlı Service Mesh eklentisi

Istio , geliştiricilerin ve operatörlerin dağıtılmış veya mikro hizmet mimarisiyle karşılaştığı zorlukları ele alır. Istio tabanlı hizmet ağı eklentisi, Azure Kubernetes Service (AKS) için resmi olarak desteklenen ve test edilmiş bir tümleştirme sağlar.

Service Mesh nedir?

Modern uygulamalar genellikle dağıtılmış mikro hizmet koleksiyonları olarak tasarlanır ve her mikro hizmet koleksiyonu bazı ayrı iş işlevlerini gerçekleştirir. Hizmet ağı, uygulamalarınıza ekleyebileceğiniz ayrılmış bir altyapı katmanıdır. Gözlemlenebilirlik, trafik yönetimi ve güvenlik gibi özellikleri kendi kodunuza eklemeden şeffaf bir şekilde eklemenize olanak tanır. Hizmet ağı terimi, hem bu deseni uygulamak için kullandığınız yazılım türünü hem de bu yazılımı kullandığınızda oluşturulan güvenlik veya ağ etki alanını açıklar.

Kubernetes tabanlı bir sistemde olduğu gibi dağıtılmış hizmetlerin dağıtımının boyutu ve karmaşıklığı arttıkça, anlaşılması ve yönetilmesi zorlaşabilir. Bulma, yük dengeleme, hata kurtarma, ölçümler ve izleme gibi özellikleri uygulamanız gerekebilir. Hizmet ağı ayrıca A/B testi, kanarya dağıtımları, hız sınırlama, erişim denetimi, şifreleme ve uçtan uca kimlik doğrulaması gibi daha karmaşık işlem gereksinimlerini de ele alabilir.

Dağıtılmış bir uygulamayı mümkün kılan hizmet-hizmet iletişimidir. Hizmet sayısı arttıkça bu iletişimi hem uygulama kümelerinde hem de farklı kümelerde yönlendirmek giderek daha karmaşık hale gelir. Istio, geliştirme ekiplerinin baskısını azaltırken bu karmaşıklığı azaltmaya yardımcı olur.

Istio nedir?

Istio, mevcut dağıtılmış uygulamalara saydam bir şekilde katman oluşturan bir açık kaynak hizmet ağıdır. Istio'nun güçlü özellikleri, hizmetleri güvenli hale getirmek, bağlamak ve izlemek için tekdüzen ve daha verimli bir yol sağlar. Istio, hizmet kodu değişikliklerinin az olması veya hiç olmamasıyla yük dengeleme, hizmet-hizmet kimlik doğrulaması ve izleme olanağı sağlar. Güçlü kontrol düzlemi aşağıdakiler dahil olmak üzere önemli özellikler getirir:

  • TLS (Aktarım Katmanı Güvenliği) şifrelemesi, güçlü kimlik tabanlı kimlik doğrulaması ve yetkilendirme ile bir kümede hizmet-hizmet iletişimin güvenliğini sağlayın.
  • HTTP, gRPC, WebSocket ve TCP trafiği için otomatik yük dengeleme.
  • Zengin yönlendirme kuralları, yeniden denemeler, yük devretmeler ve hata ekleme ile trafik davranışı üzerinde ayrıntılı denetim.
  • Erişim denetimlerini, hız sınırlarını ve kotaları destekleyen eklenebilir bir ilke katmanı ve yapılandırma API'si.
  • Küme girişi ve çıkış dahil olmak üzere bir küme içindeki tüm trafik için otomatik ölçümler, günlükler ve izlemeler.

Eklentinin açık kaynak Istio'dan farkı nedir?

Bu hizmet ağı eklentisi, açık kaynak Istio'nun üzerinde kullanılır ve oluşturulur. Eklenti aroması aşağıdaki ek avantajları sağlar:

  • Istio sürümleri, Azure Kubernetes Service'in desteklenen sürümleriyle uyumlu olacak şekilde test edilir ve doğrulanır.
  • Microsoft, Istio denetim düzleminin ölçeklendirmesini ve yapılandırmasını işler
  • Microsoft, Istio etkinleştirildiğinde olduğu gibi coredns AKS bileşenlerinin ölçeklendirmesini ayarlar.
  • Microsoft, kullanıcı tarafından tetiklendiğinde Istio bileşenleri için yönetilen yaşam döngüsü (yükseltmeler) sağlar.
  • Doğrulanmış dış ve iç giriş kurulumu.
  • Prometheus ve Azure Yönetilen Grafana için Azure İzleyici yönetilen hizmetiyle çalışmak üzere doğrulandı.
  • Eklenti için sağlanan resmi Azure desteği.

Sınırlamalar

AKS için Istio tabanlı Service Mesh eklentisi aşağıdaki sınırlamalara sahiptir:

  • Eklenti, AKS için Open Service Mesh eklentisi kullanan AKS kümelerinde çalışmaz.

  • Eklenti, Istio'nun kendi kendine yönetilen yüklemelerine sahip AKS kümelerinde çalışmaz.

  • Eklenti, ağ altına eklenecek sanal düğümlerle ilişkili podların eklenmesini desteklemez.

  • Eklenti henüz giden trafik denetimi için çıkış ağ geçitlerini desteklemez.

  • Eklenti henüz sepetsiz Ortam modunu desteklemez. Microsoft şu anda Istio açık kaynak altında Ortam çalışma akışına katkıda bulunuyor. Ortam modu için ürün tümleştirmesi yol haritasındadır ve Ortam iş akışı geliştikçe sürekli olarak değerlendirilir.

  • Eklenti henüz çok kümeli dağıtımları desteklemez.

  • Eklenti henüz Windows Server kapsayıcılarını desteklemez. Windows Server kapsayıcıları şu anda açık kaynak Istio'da desteklenmiyor. Bu özellik sorusunu izleme sorununa buradan ulaşabilirsiniz.

  • Aşağıdaki özel kaynaklar aracılığıyla mesh özelleştirmesi şu anda engellenmiştir - ProxyConfig, WorkloadEntry, WorkloadGroup, IstioOperator, WasmPlugin.

  • Eklenti, aşağıdaki EnvoyFilter filtre türlerinin kullanımına izin verir ve diğer filtre türleri engellenir:

    • Lua (type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua).
    • Kompresör (type.googleapis.com/envoy.extensions.filters.http.compressor.v3.Compressor)
    • Yerel hız sınırı (type.googleapis.com/envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit)

    Not

    Bu EnvoyFilteröğelere izin verilse de, bunlardan kaynaklanan tüm sorunlarda (örneğin Lua scipt veya sıkıştırma kitaplığından) Istio eklentisinin destek kapsamı dışındadır. Istio eklenti özellikleri ve yapılandırma seçenekleri için destek kategorileri hakkında daha fazla bilgi için destek ilkesi belgesine bakın.

  • Istio giriş ağ geçidi veya ağ trafiğini yönetme (GAMA) için Ağ Geçidi API'si şu anda Istio eklentisiyle desteklenmemekte. Eklenti, IP adresleri ve hizmet etiketleri için Istio giriş ağ geçitleri için ek açıklama özelleştirmesini desteklese de, bağlantı noktası veya protokol yapılandırması şu anda desteklenmemektedir.

Geri bildirim ve özellik isteği

AKS GitHub deposunda 'service-mesh' etiketiyle ilgili sorunlar oluşturularak Istio eklentisi için geri bildirim ve özellik isteği sağlanabilir.

Sonraki adımlar