Viji
@Viji
Associate DevOps Engineer

Как бороться c memory leaks в pods на кластере Kubernetes?

Привет,

требуется для каждой ноды в кластере, чтобы 15% памяти всегда было доступно для kubectl и др сервисов. Кроме того, как лучше подойти к конфигурации pod, чтобы при memory leak в контейнере все равно не смог сьесть всю память? Или лучше работать на уровне Docker Containers?

всем добра,
Вадим
  • Вопрос задан
  • 401 просмотр
Решения вопроса 1
chupasaurus
@chupasaurus
Сею рефлекторное, злое, временное
  1. В конфиге kubelet выставляете нужное кол-во оперативы для системных и обычных подов
  2. k8s при создании cgroup пода выставляет memory.limit_in_bytes соответственно лимиту
  3. В подах, где возможны утечки, выставляете resources.requests.memory равное лимиту

Первое резервирует ресурсы для системных и кластерных сервисов, второе будет дёргать OOM при достижении лимита, третье убирает возможность оверпровижена.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Tomio
@Tomio
backend developer (python, php)
Ммм, а разве ограничение ресурсов памяти не помогает в этом?
resources:
  limits:
    memory: "1024Mi"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы