У меня есть кластер, где свободная память на узлах недавно опустилась до% 5.Когда это происходит, процессор (нагрузка) узлов скачет, в то время как он пытается освободить часть памяти из кэша / буфера.Одним из следствий высокой нагрузки и низкого объема памяти является то, что я иногда получаю блоки, которые переходят в состояние ошибки или застревают в завершении.Эти стручки сидят без дела, пока я не вмешаюсь вручную, что может еще больше усугубить проблему с нехваткой памяти, которая их вызвала.
Мой вопрос заключается в том, почему Kubernetes оставляет эти стручки застрявшими в этом состоянии?Я догадываюсь, что kubernetes не получил правильную обратную связь от демона Docker и никогда не пытается снова.Мне нужно знать, как очистить или исправить ошибку Kubernetes и завершить работу модулей.Любые идеи?
Я в настоящее время:
~ # kubectl version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.2", GitCommit:"bb9ffb1654d4a729bb4cec18ff088eacc153c239", GitTreeState:"clean", BuildDate:"2018-08-07T23:17:28Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.4", GitCommit:"5ca598b4ba5abb89bb773071ce452e33fb66339d", GitTreeState:"clean", BuildDate:"2018-06-06T08:00:59Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
ОБНОВЛЕНИЕ: Вот некоторые из событий, перечисленных в модулях.Вы можете видеть, что некоторые из них сидят в течение нескольких дней.Вы также увидите, что один показывает Предупреждение, а другие показывают Нормальный.
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedKillPod 25m kubelet, k8s-node-0 error killing pod: failed to "KillContainer" for "kubectl" with KillContainerError: "rpc error: code = Unknown desc = operation timeout: context deadline exceeded"
Normal Killing 20m (x2482 over 3d) kubelet, k8s-node-0 Killing container with id docker://docker:Need to kill Pod
Normal Killing 15m (x2484 over 3d) kubelet, k8s-node-0 Killing container with id docker://maven:Need to kill Pod
Normal Killing 8m (x2487 over 3d) kubelet, k8s-node-0 Killing container with id docker://node:Need to kill Pod
Normal Killing 4m (x2489 over 3d) kubelet, k8s-node-0 Killing container with id docker://jnlp:Need to kill Pod
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Killing 56m (x125 over 5h) kubelet, k8s-node-2 Killing container with id docker://owasp-zap:Need to kill Pod
Normal Killing 47m (x129 over 5h) kubelet, k8s-node-2 Killing container with id docker://jnlp:Need to kill Pod
Normal Killing 38m (x133 over 5h) kubelet, k8s-node-2 Killing container with id docker://dind:Need to kill Pod
Normal Killing 13m (x144 over 5h) kubelet, k8s-node-2 Killing container with id docker://maven:Need to kill Pod
Normal Killing 8m (x146 over 5h) kubelet, k8s-node-2 Killing container with id docker://docker-cmds:Need to kill Pod
Normal Killing 1m (x149 over 5h) kubelet, k8s-node-2 Killing container with id docker://pmd:Need to kill Pod
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Killing 56m (x2644 over 4d) kubelet, k8s-node-0 Killing container with id docker://openssl:Need to kill Pod
Normal Killing 40m (x2651 over 4d) kubelet, k8s-node-0 Killing container with id docker://owasp-zap:Need to kill Pod
Normal Killing 31m (x2655 over 4d) kubelet, k8s-node-0 Killing container with id docker://pmd:Need to kill Pod
Normal Killing 26m (x2657 over 4d) kubelet, k8s-node-0 Killing container with id docker://kubectl:Need to kill Pod
Normal Killing 22m (x2659 over 4d) kubelet, k8s-node-0 Killing container with id docker://dind:Need to kill Pod
Normal Killing 11m (x2664 over 4d) kubelet, k8s-node-0 Killing container with id docker://docker-cmds:Need to kill Pod
Normal Killing 6m (x2666 over 4d) kubelet, k8s-node-0 Killing container with id docker://maven:Need to kill Pod
Normal Killing 1m (x2668 over 4d) kubelet, k8s-node-0 Killing container with id docker://jnlp:Need to kill Pod