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 şifrelemesi, güçlü kimlik tabanlı kimlik doğrulaması ve yetkilendirme ile bir kümede hizmet-hizmet iletişimin güvenliğini sağlama.
  • 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, eklenti yüklemesinin dışında Istio'nun yüklü olduğu AKS kümelerinde çalışmaz.
  • Eklenti, ağ altına eklenecek sanal düğümlerle ilişkili podların eklenmesini desteklemez.
  • Istio Windows Server kapsayıcılarını desteklemez.
  • Mesh'in aşağıdaki özel kaynaklara göre özelleştirilmesi şimdilik engellendi - EnvoyFilter, ProxyConfig, WorkloadEntry, WorkloadGroup, Telemetry, IstioOperator, WasmPlugin
  • Istio giriş ağ geçidi için ağ geçidi API'si veya ağ trafiğini yönetme (GAMA) şu anda Istio eklentisiyle desteklenmemekte.

Sonraki adımlar