LINUX.ORG.RU
решено ФорумAdmin

Kubernetes, поды по 5 - ∞ минут в статусе «Pending» после увеличения размера инстанса EC2

 


0

1

Добрый день!

Есть kubernetes, развернутый на одной ВМ в AWS. После увеличения инстанса EC2 с t2.xlarge до t2.2xlarge появилась проблема - очень долго стартуют поды. От минут пяти до бесконечности они находятся в статусе Pending.

Версии ПО: kubernetes 1.9.3 Docker 17.3.2 Ubuntu 16.04.6 LTS

Пример эвентов из describe pod:

Events:
  Type     Reason                 Age   From                 Message
  ----     ------                 ----  ----                 -------
  Normal   SuccessfulMountVolume  16m   kubelet, 10.2.4.181  MountVolume.SetUp succeeded for volume "data"
  Warning  FailedMount            15m   kubelet, 10.2.4.181  Unable to mount volumes for pod "stolon-keeper-kzh8z_postgres(b7f1ad9c-b381-11e9-a7be-0667d7155b84)": timeout expired waiting for volumes to attach/mount for pod "postgres"/"stolon-keeper-kzh8z". list of unattached/unmounted volumes=[stolon extend-query stolon-token-kzsvj]
  Normal   SuccessfulMountVolume  15m   kubelet, 10.2.4.181  MountVolume.SetUp succeeded for volume "stolon"
  Normal   SuccessfulMountVolume  15m   kubelet, 10.2.4.181  MountVolume.SetUp succeeded for volume "extend-query"
  Normal   SuccessfulMountVolume  15m   kubelet, 10.2.4.181  MountVolume.SetUp succeeded for volume "stolon-token-kzsvj"
  Normal   Pulled                 15m   kubelet, 10.2.4.181  Container image "sorintlab/stolon:v0.12.0-pg9.6" already present on machine
  Normal   Created                15m   kubelet, 10.2.4.181  Created container
  Normal   Started                15m   kubelet, 10.2.4.181  Started container
  Normal   Pulled                 15m   kubelet, 10.2.4.181  Container image "wrouesnel/postgres_exporter:v0.4.7" already present on machine
  Normal   Created                15m   kubelet, 10.2.4.181  Created container
  Normal   Started                15m   kubelet, 10.2.4.181  Started container

Как видим по эвентам, контейнер Docker запустился и мы в него даже можем зайти (docker exec –it).

Подозреваю, на проблему указывает то, что в описании POD k8s мы видим, что IP отсутствует. Как только он появляется, статус POD изменяется на «Running».

Мы пробовали менять версию Docker на 18.6 - ошибка остается. Kubernetes обновить до 1.9.11 не получается - падает kubeadm с ошибкой по таймауту.

Логи подов в kube-system смотрел, ничего подозрительного не увидел. Есть ноды, которые аналогичны проблемной - на них всё хорошо.

До увеличения размера инстанса EС2 нода выключалась каждую ночь - всё работало без проблем, значит вопрос не в рестарте. Но и с увеличением инстанса я это связать не могу, так как план менялся с t2.xlarge на t2.2xlarge. Судя по документации AWS, было простое увеличение ресурсов.


Вопрос решен. Помог найти решение Andrey Klimentyev на канале @kubernetes_ru.

https://habr.com/ru/company/flant/blog/443458/

История 6.

#vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

...
Environment="KUBELET_CUSTOM_ARGS=--event-qps=30 --event-burst=40 --kube-api-burst=40 --kube-api-qps=30 --registry-qps=30 --registry-burst=40"
...
ExecStart=/usr/bin/kubelet ... $KUBELET_CUSTOM_ARGS
...

#systemctl daemon-reload #service kubelet restart

WIN!

cyreex
() автор топика
Ответ на: комментарий от cyreex

Ента же цубернатес: леса ентерпрайз едишен, секурити енаблед подпорка сустем, ноу даунтайм 'ребут да факин аппликеишн сервер' патчинг систем и, вообще, робаст энд продактив 'ну наконец запохало'.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.