Ограничить объем памяти, используемый kube-controller-manager
Работает v1.10 и я заметил, что kube-controller-manager
пики использования памяти и OOMs все время. было бы не так плохо, если бы система не упала до того, как это произойдет.
я пытался изменить /etc/kubernetes/manifests/kube-controller-manager.yaml
иметь resource.limits.memory=1Gi
но модуль kube-controller-manager никогда не хочет возвращаться.
какие-нибудь другие варианты?
2 ответа
В kube-controller-manager есть ошибка, которая исправлена в https://github.com/kubernetes/kubernetes/pull/65339
Прежде всего, вы пропустили информацию об объеме памяти, которую вы используете на узел.
Во-вторых, что вы подразумеваете под "система не упала" - вы имеете в виду перестановку узлов?
Предполагается, что все мастера и узлы Kubernetes отключены подкачкой - это рекомендуется сообществом Kubernetes, как упомянуто в документации Kubernetes.
Поддержка подкачки нетривиальна и снижает производительность.
Выключите своп на каждом узле:
sudo swapoff -a
В заключение,
resource.limits.memory=1Gi
является значением по умолчанию для стручка. Эти ограничения жесткие. При достижении этого уровня выделенной памяти может возникнуть OOM, даже если у вас есть гигабайты нераспределенной памяти.