Como resolver problemas de proxies sidecar no Cloud Service Mesh
Esta seção explica os problemas comuns dos arquivos secundários do Cloud Service Mesh e como resolvê-los. Se você precisar de mais ajuda, consulte Como receber suporte.
O contêiner istio-proxy
foi encerrado devido a um evento OOM
Nesta seção, presumimos que o contêiner istio-proxy
não foi eliminado por um evento SystemOOM
, e o nó do Kubernetes não está na condição MemoryPressure
.
O contêiner de arquivo secundário istio-proxy
tem os limites de recursos por padrão.
Se o contêiner istio-proxy for eliminado com Reason: OOMKilled
, é necessário entender por que o Envoy está consumindo a memória.
Se você estiver enfrentando uma interrupção na produção, uma solução rápida é aumentar os limites de todos os contêineres usando IstioOperator
:
---
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
values:
global:
proxy:
resources:
requests:
memory: 128Mi
limits:
memory: 1Gi
Se você estiver enfrentando esse problema com cargas de trabalho específicas, altere o limite apenas nessas cargas adicionando as anotações a seguir.
sidecar.istio.io/proxyMemory
sidecar.istio.io/proxyMemoryLimit
Verifique se você não tem limites menores dos valores padrão.
A solução de longo prazo é reduzir a área de ocupação da memória dos seus contêineres secundários do istio-proxy
. Por padrão, todos os proxies de arquivos secundários são programados com a configuração necessária para alcançar qualquer outra instância de carga de trabalho na malha.
O Istio fornece a definição de recurso personalizada Sidecar
para limitar o número de endpoints programados para proxies sidecar e, portanto,
reduzir o consumo de memória do contêiner istio-proxy
.