Назад | Перейти на главную страницу

Возраст пода больше возраста узла на вытесняемом узле в GKE

Мы запускаем кластер Google Kubernetes Engine, где все узлы отмечены как «вытесняемые». Из Документация Google:

Вытесняемые виртуальные машины - это экземпляры виртуальных машин Compute Engine, которые работают не более 24 часов и не предоставляют никаких гарантий доступности.

Однако, когда я смотрю на свои поды, работающие на одном из этих узлов, я вижу следующее:

NAME              READY   STATUS    RESTARTS   AGE
mypod-dev-0       3/3     Running   0          20h
mypod-dev-1       3/3     Running   0          26h

Обратите внимание, что возраст mypod-dev-1 превышает 24 часа. С помощью pod describe на mypod-dev-1 я вижу, что все контейнеры были запущены в 07:08 сегодня утром (около 3 часов назад).

Обращаясь к узлу, на котором работает mypod-dev-1, когда я смотрю на детали узла, я вижу некоторые вещи, которые очень сбивают с толку. Прежде всего, время создания более 24 часов назад (текущее время 10:00 20 декабря 2019 г.):

CreationTimestamp:  Thu, 19 Dec 2019 06:55:26 -0800

Затем есть несколько сообщений «Условия», которые предполагают, что узел был воссоздан совсем недавно:

Type                 Status  LastHeartbeatTime                 LastTransitionTime                Reason                     Message
NetworkUnavailable   False   Thu, 19 Dec 2019 06:55:26 -0800   Thu, 19 Dec 2019 06:55:26 -0800   RouteCreated               NodeController create implicit route
KernelDeadlock       False   Fri, 20 Dec 2019 10:03:00 -0800   Fri, 20 Dec 2019 07:07:21 -0800   KernelHasNoDeadlock        kernel has no deadlock
ReadonlyFilesystem   False   Fri, 20 Dec 2019 10:03:00 -0800   Fri, 20 Dec 2019 07:07:21 -0800   FilesystemIsNotReadOnly    Filesystem is not read-only
... 

Похоже, что все контейнеры mypod-dev-1 были перезапущены одновременно (07:08), что-то случилось с узлом.

  1. Как определить, когда был создан узел?

  2. Почему время стручка показывает возраст, превышающий допустимый из-за вытесняемой природы узлов?

  3. Есть ли какой-нибудь журнал, который показывает, когда модуль был перенесен с одного узла на другой?

Вы правы, мне удалось воспроизвести эту ошибку. Также я обнаружил открытую проблему @ Issue Tracker (https://issuetracker.google.com/146928126) об этом. Похоже, что это то, что нужно решить Google.