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.