Menyelesaikan masalah proxy sidecar di Cloud Service Mesh
Bagian ini menjelaskan masalah proxy sidecar Cloud Service Mesh yang umum dan cara menyelesaikannya. Jika Anda memerlukan bantuan tambahan, lihat Mendapatkan dukungan.
Penampung istio-proxy
dihentikan karena peristiwa OOM
Di bagian ini, kita mengasumsikan bahwa penampung istio-proxy
tidak dihentikan oleh
peristiwa SystemOOM
, dan node kubernetes tidak dalam kondisi MemoryPressure
.
Penampung sidecar istio-proxy
memiliki batas resource secara default.
Jika penampung istio-proxy dihentikan dengan Reason: OOMKilled
, Anda perlu memahami alasan Envoy menggunakan memori.
Jika Anda mengalami pemadaman produksi, solusi cepatnya adalah menaikkan batas untuk semua penampung menggunakan IstioOperator
:
---
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
values:
global:
proxy:
resources:
requests:
memory: 128Mi
limits:
memory: 1Gi
Jika mengalami masalah ini dengan workload tertentu, Anda dapat mengubah batas hanya pada workload tersebut dengan menambahkan annotations berikut.
sidecar.istio.io/proxyMemory
sidecar.istio.io/proxyMemoryLimit
Pastikan Anda tidak memiliki batas yang lebih rendah dari nilai default.
Solusi jangka panjangnya adalah mengurangi jejak memori penampung sidecar istio-proxy
Anda. Secara default, semua proxy sidecar diprogram dengan konfigurasi yang diperlukan untuk menjangkau instance workload lainnya di mesh.
Istio menyediakan definisi resource kustom Sidecar
untuk membatasi jumlah endpoint yang diprogram ke proxy sidecar, sehingga
mengurangi konsumsi memori penampung istio-proxy
.