Varsayılan olarak, bir mesh içindeki her sidecar proxy veri düzlemindeki tüm hizmetler için tam yapılandırmayı alır. Bu durum, her bir proxy üzerindeki bellek kullanımını artırır ve kontrol düzlemi veya veri düzleminde herhangi bir değişiklik olduğunda —bir iş yükünün hiçbir zaman çağırmadığı hizmetler için bile— gereksiz kontrol düzlemi gönderimlerine neden olur.
Service Mesh (ASM), bu sorunu çözmek için sidecar proxy'lerin oluşturduğu erişim günlüklerini analiz eder ve her iş yükünün gerçekten hangi hizmetleri çağırdığını tespit eder. ASM ardından her iş yükü için kapsamı daraltılmış bir Sidecar kaynağı önerir. Kapsamı daraltılmış bir sidecar uyguladıktan sonra:
Proxy yalnızca iş yükünün bağımlı olduğu hizmetlerin yapılandırmasını tutar.
Kontrol düzlemi, ilgisiz hizmetler veya bunlarla ilişkili kaynaklar (sanal hizmetler gibi) değiştiğinde güncelleme gönderimini atlar.
Ön koşullar
Başlamadan önce şunlara sahip olduğunuzdan emin olun:
Bir ASM örneği. Bkz. Create an ASM instance
Bir Container Service for Kubernetes (ACK) yönetilen kümesi. Bkz. Create an ACK managed cluster
ACK kümesinin ASM örneğine eklenmiş olması. Bkz. Add a cluster to an ASM instance
Dağıtılmış bir giriş ağ geçidi. Bkz. Create an ingress gateway
ASM örneğine dağıtılmış bir uygulama. Bkz. Deploy an application in an ASM instance
Veri düzlemi erişim günlüklerini toplamak üzere yapılandırılmış Log Service. Bkz. Use Log Service to collect access logs on the data plane
Kullanım notları
| Not | Ayrıntılar |
|---|---|
| Log Service projesi seçimi | Erişim günlüğü toplamayı etkinleştirirken Log Service projesi için Use Default seçeneğini belirlediyseniz ASM, önerileri oluşturmak için ASM örneğine eklenen ilk kümenin Log Service projesini kullanır. |
| İş yükü başına kapsam | Öneriler iş yükü başına oluşturulur. Bu sayede veri düzleminin sidecar yapılandırması mümkün olan en üst düzeyde basitleştirilir. Her iş yükünü ayrı ayrı yapılandırın. |
| Eksik çağrı verileri | Bir iş yükünün erişim günlüklerinde çağrı kaydı yoksa önerilen sidecar doğru olmayabilir. Uygulamadan önce manuel olarak doğrulayın. |
1. Adım: Erişim günlükleri oluşturun
Bir tarayıcı açın ve http://{giriş ağ geçidi hizmetinin IP adresi}/productpage adresine gidin. Bookinfo uygulama sayfasını birkaç kez yenileyin; siyah ve kırmızı yıldız derecelendirmeleri arasında geçiş yapana kadar yenilemeye devam edin. Bu işlem, ASM'nin hizmet bağımlılıklarını analiz etmesi için gereken erişim günlüğü verilerini oluşturur.
2. Adım: Sidecar önerisi oluşturun ve uygulayın
ASM konsolu üzerinde oturum açın.
Sol gezinme bölmesinde Service Mesh > Mesh Management seçeneklerini seçin.
Mesh Management sayfasında ASM örneğinizin adını tıklayın.
Örneğin sol gezinme bölmesinde Mesh Optimization Center > Inbound and Outbound Traffic Configuration (Sidecar Object) seçeneklerini seçin.
Hedef iş yükünü bulun ve Actions sütununda Recommend seçeneğini tıklayın. Recommendation status sütununda Recommendation complete durumu görünene kadar bekleyin.
Actions sütununda View seçeneğini tıklayarak Recommended Sidecar panelini açın.
Recommended Sidecar panelinde, Sidecar YAML dosyasındaki hosts alanının iş yükünün çağırdığı tüm hizmetleri içerdiğini doğrulayın. Gerekli bir hizmet hosts listesinde eksikse devam etmeden önce bunu YAML dosyasına ekleyin.
Sidecar yapılandırmasını uygulamak için OK seçeneğini tıklayın.
(İsteğe bağlı) Bağımlılık değişikliklerinden sonra yeniden öneri alın
Uygulamalar geliştikçe hizmet bağımlılıkları değişir ve daha önce önerilen sidecar'lar gerçek çağrı kalıplarını yansıtmayabilir. Bir sidecar önerisini güncellemek için yeni erişim günlükleri toplayın ve yeni bir öneri oluşturun:
ASM konsolu üzerinde oturum açın.
Sol gezinme bölmesinde Service Mesh > Mesh Management seçeneklerini seçin.
ASM örneğinizin adını tıklayın, ardından Mesh Optimization Center > Inbound and Outbound Traffic Configuration (Sidecar Object) seçeneklerini seçin.
Hedef iş yükünü bulun ve Actions sütununda Recollecting Access Logs seçeneğini tıklayın.
Recollecting Access Logs mesajında OK seçeneğini tıklayın. Mevcut sidecar silinir ve Recommendation status sütunu Recollecting access logs durumuna geçer.
1. Adım adımını tekrarlayarak yeni erişim günlükleri oluşturun.
2. Adım adımını tekrarlayarak yeni bir öneri oluşturun.