kubelet.service: время удержания службы истекло, планирование перезапуска - PullRequest
0 голосов
/ 14 декабря 2018

Контекст

В настоящее время мы используем несколько кластеров с версией 1.8.7 (которая была создана в настоящее время недоступными разработчиками несколько месяцев назад) и пытаемся перейти на более новую версию.Однако мы хотели попробовать то же самое на кластере, который мы используем для эксперимента и POC.

Что мы пробовали

Делая то же самое, мы попытались запустить несколько команд kubeadm на одной изглавные узлы, но kubeadm не был найден.

Итак, мы попытались установить то же самое с помощью команд -

apt-get update && apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl
apt-mark hold kubelet kubeadm kubectl

Что произошло

Однако теперь этот узел имеет статус НеСлужба Ready и Kubelet не работает

Есть ли какие-либо указания о том, как это исправить и что мы должны были сделать?

root@k8s-master-dev-0:/home/azureuser# kubectl get nodes
NAME                     STATUS     ROLES     AGE       VERSION
k8s-master-dev-0         NotReady   master    118d      v1.8.7
k8s-master-dev-1         Ready      master    118d      v1.8.7
k8s-master-dev-2         Ready      master    163d      v1.8.7
k8s-agents-dev-0         Ready      agent     163d      v1.8.7
k8s-agents-dev-1         Ready      agent     163d      v1.8.7
k8s-agents-dev-2         Ready      agent     163d      v1.8.7

root@k8s-master-dev-0:/home/azureuser# systemctl status kubelet.service
● kubelet.service - Kubelet
   Loaded: loaded (/etc/systemd/system/kubelet.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/kubelet.service.d
           └─10-kubeadm.conf
   Active: failed (Result: start-limit-hit) since Thu 2018-12-13 14:33:25 UTC; 18h ago

Dec 13 14:33:25 k8s-master-dev-0 systemd[1]: kubelet.service: Control process exited, code=exited status=2
Dec 13 14:33:25 k8s-master-dev-0 systemd[1]: Failed to start Kubelet.
Dec 13 14:33:25 k8s-master-dev-0 systemd[1]: kubelet.service: Unit entered failed state.
Dec 13 14:33:25 k8s-master-dev-0 systemd[1]: kubelet.service: Failed with result 'exit-code'.
Dec 13 14:33:25 k8s-master-dev-0 systemd[1]: kubelet.service: Service hold-off time over, scheduling restart.
Dec 13 14:33:25 k8s-master-dev-0 systemd[1]: Stopped Kubelet.
Dec 13 14:33:25 k8s-master-dev-0 systemd[1]: kubelet.service: Start request repeated too quickly.
Dec 13 14:33:25 k8s-master-dev-0 systemd[1]: Failed to start Kubelet.
Dec 13 14:33:25 k8s-master-dev-0 systemd[1]: kubelet.service: Unit entered failed state.
Dec 13 14:33:25 k8s-master-dev-0 systemd[1]: kubelet.service: Failed with result 'start-limit-hit'.

Ответы [ 3 ]

0 голосов
/ 14 декабря 2018

@ wrogrammer

root@k8s-master-dev-0:/var/log/apt# kubectl get all --namespace kube-system
NAME            DESIRED   CURRENT   READY     UP-TO-DATE   AVAILABLE   NODE SELECTOR                 AGE
ds/kube-proxy   6         6         5         6            5           beta.kubernetes.io/os=linux   164d

NAME                          DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deploy/heapster               1         1         1            1           164d
deploy/kube-dns-v20           2         2         2            2           164d
deploy/kubernetes-dashboard   1         1         1            1           164d
deploy/tiller-deploy          1         1         1            1           164d

NAME                                 DESIRED   CURRENT   READY     AGE
rs/heapster-75f8df9884               1         1         1         164d
rs/heapster-7d6ffbf65                0         0         0         164d
rs/kube-dns-v20-5d9fdc7448           2         2         2         164d
rs/kubernetes-dashboard-8555bd85db   1         1         1         164d
rs/tiller-deploy-6677dc8d46          1         1         1         163d
rs/tiller-deploy-86d6cf59b           0         0         0         164d

NAME                          DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deploy/heapster               1         1         1            1           164d
deploy/kube-dns-v20           2         2         2            2           164d
deploy/kubernetes-dashboard   1         1         1            1           164d
deploy/tiller-deploy          1         1         1            1           164d

NAME            DESIRED   CURRENT   READY     UP-TO-DATE   AVAILABLE   NODE SELECTOR                 AGE
ds/kube-proxy   6         6         5         6            5           beta.kubernetes.io/os=linux   164d

NAME                                 DESIRED   CURRENT   READY     AGE
rs/heapster-75f8df9884               1         1         1         164d
rs/heapster-7d6ffbf65                0         0         0         164d
rs/kube-dns-v20-5d9fdc7448           2         2         2         164d
rs/kubernetes-dashboard-8555bd85db   1         1         1         164d
rs/tiller-deploy-6677dc8d46          1         1         1         163d
rs/tiller-deploy-86d6cf59b           0         0         0         164d

NAME                                          READY     STATUS     RESTARTS   AGE
po/heapster-75f8df9884-nxn2z                  2/2       Running    0          37d
po/kube-addon-manager-k8s-master-dev-0        1/1       Unknown    4          30d
po/kube-addon-manager-k8s-master-dev-1        1/1       Running    4          118d
po/kube-addon-manager-k8s-master-dev-2        1/1       Running    2          164d
po/kube-apiserver-k8s-master-dev-0            1/1       Unknown    4          30d
po/kube-apiserver-k8s-master-dev-1            1/1       Running    4          118d
po/kube-apiserver-k8s-master-dev-2            1/1       Running    2          164d
po/kube-controller-manager-k8s-master-dev-0   1/1       Unknown    6          30d
po/kube-controller-manager-k8s-master-dev-1   1/1       Running    4          118d
po/kube-controller-manager-k8s-master-dev-2   1/1       Running    4          164d
po/kube-dns-v20-5d9fdc7448-smf9s              3/3       Running    0          37d
po/kube-dns-v20-5d9fdc7448-vtjh4              3/3       Running    0          37d
po/kube-proxy-cklcx                           1/1       Running    1          118d
po/kube-proxy-dldnd                           1/1       Running    4          164d
po/kube-proxy-gg89s                           1/1       NodeLost   3          163d

po/kube-proxy-mrkqf                           1/1       Running    4          143d
po/kube-proxy-s95mm                           1/1       Running    10         164d
po/kube-proxy-zxnb7                           1/1       Running    2          164d
po/kube-scheduler-k8s-master-dev-0            1/1       Unknown    6          30d
po/kube-scheduler-k8s-master-dev-1            1/1       Running    6          118d
po/kube-scheduler-k8s-master-dev-2            1/1       Running    4          164d
po/kubernetes-dashboard-8555bd85db-4txtm      1/1       Running    0          37d
po/tiller-deploy-6677dc8d46-5n5cp             1/1       Running    0          37d

NAME                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE
svc/heapster               ClusterIP   XX Redacted XX   <none>        80/TCP          164d
svc/kube-dns               ClusterIP   XX Redacted XX   <none>        53/UDP,53/TCP   164d
svc/kubernetes-dashboard   NodePort    XX Redacted XX   <none>        80:31279/TCP    164d
svc/tiller-deploy          ClusterIP   XX Redacted XX   <none>        44134/TCP       164d
0 голосов
/ 14 декабря 2018

Причина, по которой ваш kubelet перешел в плохое состояние, заключается в том, что вы обновили пакет kubelet и файл сервиса для kubelet должен быть обновлен, а если вы ранее сделали некоторые изменения, то должны быть потеряны.

Следующие вещи, которые вы можете попробовать:

  1. Отключение вашей подкачки памяти: swapoff -a
  2. Проверьте служебный файл kubelet, для kubeadm он расположен в /etc/systemd/system/kubelet.service.d/10-kubeadm.conf и проверьте значение --cgroup-driver, а если systemdсделайте это cgroupfs, а затем:

Перезагрузите демон и перезапустите kubelet:

systemctl daemon-reload
systemctl restart kubelet

Теперь проверьте, запущен ваш кублет или нет.

PS: Обновление плоскости управления kubeadm в реальном времени должно быть выполнено тщательно, проверьте мой ответ о том, как обновить kubeadm

, как обновить kubernetes с v1.10.0 до v1.10.11

0 голосов
/ 14 декабря 2018

Это чистый кластер Kubernetes?

Я думаю, вы должны быть осторожны с установкой kubelet kubeadm kubectl в LIVE Kubernetes.

Здесь вы можете найти более подробную информацию об установке kubelet на работающем кластере.https://kubernetes.io/docs/tasks/administer-cluster/reconfigure-kubelet/

Можете ли вы показать мне свой вывод:

kubectl get all --namespace kube-system
...