Kontrol düzlemi, her iş yükünün hangi hizmetleri gerçekten çağırdığını bilmediğinden varsayılan olarak veri düzlemindeki tüm sidecar'lara tam hizmet yapılandırmasını gönderir. Ölçek büyüdükçe bu durum iki soruna yol açar:
Yüksek sidecar bellek kullanımı. Her sidecar, asla iletişim kurmadığı hizmetler dahil olmak üzere kümedeki tüm hizmetlerin yapılandırmalarını saklar.
Yoğun kontrol düzlemi yükü. Sanal hizmet oluşturma gibi herhangi bir yapılandırma değişikliği, ilgili olup olmadığına bakılmaksızın her sidecar'a yapılandırma gönderimini tetikler. Bu durum, kontrol düzleminin verimliliğini ve kullanılabilirliğini azaltır.
Service Mesh (ASM), kontrol düzlemi yükünü ve sidecar bellek tüketimini azaltmak için üç özellik sunar: hizmet keşfi seçicileri, sidecar önerisi ve uyarlanabilir xDS iyileştirmesi. Her biri farklı bir granülerlik düzeyinde çalışır.
Bir iyileştirme stratejisi seçin
Aşağıdaki tabloda doğru yaklaşımı seçmenize yardımcı olmak için bu üç özellik karşılaştırılmıştır.
| Özellik | Kapsam düzeyi | Mekanizma | Önkoşullar | Otomatik güncellemeler | En uygun olduğu durum |
|---|---|---|---|---|---|
| Hizmet keşfi seçicileri | Ad alanı | Kontrol düzleminin hangi ad alanlarını keşfedeceğini filtreler | Ad alanı etiketleri | Yok | Çok sayıda ad alanına sahip kümelerde iş yüklerinin yalnızca birkaç ad alanındaki hizmetlere ihtiyaç duyması |
| Sidecar önerisi | İş yükü | Erişim günlüklerini analiz ederek iş yükü başına Sidecar kaynakları oluşturur | Erişim günlüğü toplamak için Log Service etkinleştirilmiş | Hayır. Bağımlılıklar değiştiğinde öneriyi yeniden çalıştırın | Tek bir ad alanında çok sayıda hizmet bulunması |
| Uyarlanabilir xDS iyileştirmesi | İş yükü | Çağrı bağımlılıklarını izlemek için bir çıkış ağ geçidi dağıtır ve Sidecar kaynaklarını otomatik olarak oluşturur | Yok | Evet. Bağımlılıklar değiştikçe Sidecar kaynakları otomatik olarak güncellenir | Manuel Sidecar yönetimi olmadan otomatik iyileştirme isteyen ekipler |
Hizmet keşfi seçicileri
Ad alanı etiketlerine dayalı etiket seçicilerini yapılandırın. Kontrol düzlemi yalnızca eşleşen ad alanlarında bulunan hizmetleri keşfeder ve işler; yalnızca bu yapılandırmaları sidecar'lara gönderir.
Uygulanabilir senaryo: Veri düzlemi çok sayıda ad alanı ve hizmet içerir ancak her ad alanındaki iş yükleri yalnızca birkaç belirli ad alanındaki hizmetleri çağırır.
Kurulum talimatları için bkz. Kontrol düzleminin yapılandırma gönderimi verimliliğini artırmak için hizmet keşfi seçicilerini kullanma.
Sidecar önerisi
ASM, sidecar'lar tarafından oluşturulan erişim günlüklerini analiz ederek hizmetler arasındaki çağrı bağımlılıklarını belirler. Bu analize dayanarak ASM, her iş yükü için bir Sidecar kaynağı önerir ve oluşturur. Her Sidecar kaynağı, iş yükünün yapılandırmasını yalnızca gerçekten çağırdığı hizmetlerle sınırlar.
Bu yaklaşımın iki avantajı vardır:
Her sidecar, yalnızca kendi iş yüküyle ilgili hizmetlerin yapılandırmalarını saklar.
İlgili olmayan bir hizmet değiştirildiğinde veya sanal hizmet gibi ilgili bir hizmetin kaynağı güncellendiğinde kontrol düzlemi yeni yapılandırmayı o sidecar'a göndermez.
Uygulanabilir senaryo: Yalnızca hizmet keşfi seçicileri yeterli iyileştirme sağlamaz. Örneğin, tek bir ad alanında çok sayıda hizmet bulunur ve sidecar yapılandırma boyutunu en aza indirmek istersiniz. ASM, erişim günlüğü analizine dayanarak Sidecar kaynaklarını önerir ve oluşturur; böylece YAML dosyalarını manuel olarak yazmanıza gerek kalmaz.
Gönderim performansı üzerindeki ölçülen etkiyi görmek için bkz. Sidecar önerisinin yapılandırma gönderimi iyileştirmesi üzerindeki etkileri.
Kurulum talimatları için bkz. Erişim günlüğü analizine dayalı olarak otomatik önerilen sidecar'ları kullanma.
Uyarlanabilir xDS iyileştirmesi
Sidecar önerisine benzer şekilde uyarlanabilir xDS iyileştirmesi de yapılandırmaları kapsamak amacıyla iş yükü başına Sidecar kaynakları oluşturur. Aşağıdaki şekillerde farklılık gösterir:
Tamamen otomatik. Çağrı bağımlılıkları değiştikçe Sidecar kaynakları otomatik olarak oluşturulur ve güncellenir. Manuel yapılandırma veya periyodik yeniden öneriye gerek yoktur.
Log Service bağımlılığı yok. Özellik, veri düzleminde erişim günlüklerini toplamak için Log Service'in etkinleştirilmesini gerektirmez.
Çıkış ağ geçidi tabanlı. Veri düzleminde
istio-axds-egressgatewayadlı bir çıkış ağ geçidi dağıtılır. Özellik yalnızca seçtiğiniz iş yüklerine uygulanır. Seçilen iş yüklerinden gelen tüm HTTP trafiği bu ağ geçidi üzerinden yönlendirilir; kontrol düzlemi çağrı bağımlılıklarını analiz etmek için bunu kullanır.
Uygulanabilir senaryo: Özellikle Sidecar kaynaklarına veya manuel yapılandırma ayarlamalarına aşina değilseniz yapılandırma gönderimi iyileştirmesine giden en basit yolu tercih edersiniz.
Çıkış ağ geçidi, veri düzlemindeki trafik yönlendirmesini etkileyebilir ve kontrol düzlemi kaynaklarını tüketebilir. Kesintileri önlemek için iş yüklerini özellik kapsamına kademeli olarak ekleyin.
Kurulum talimatları için bkz. Kontrol düzleminin yapılandırma gönderimi verimliliğini artırmak için uyarlanabilir xDS iyileştirmesini kullanma.