«kubeadm upgrade apply v1.18.0-00», по-видимому, не обновляет главный узел - PullRequest
2 голосов
/ 29 марта 2020

Я совершенно запутался в этом kubeadm upgrade.

Как вы можете видеть из моих скриншотов ниже, мой serverVersion застрял на v1.17.2 при отображении kubectl version -o json из моя мама c.

Когда я на своем узле MASTER, я выдал kubeadm upgrade plan, и система отображает kubeadm upgrade apply v1.18.0 для обновления.

Но после обновления моя ТЕКУЩАЯ версия все еще показывает v1.17.2.

Из 3-го скриншота с kubectl get nodes -o wide видно, что все узлы показывают v1.18.0.

Но, kubectl version -o json, все еще показывает версию сервера на v1.17.2.

Кроме того, мои k9s продолжают показывать мои K8s Rev: v1.17.2

Добавление к вопросу.

Почему на узле MASTER при вводе версии kubectl версии клиента и сервера будут РАЗЛИЧНЫМИ? Который показан на 2-м и последнем скриншоте ниже.

Разве kubectl на узле MASTER не КЛИЕНТ И СЕРВЕР? Я имею в виду, если я s sh в узел MASTER, и я использую kubectl, я не выдаю запрос КЛИЕНТА на самом СЕРВЕРЕ? Итак, чем могут отличаться версии CLIENT & SERVER?

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

Заранее спасибо. sc1 sc2 sc3 sc4 sc5 sc6

Ответы [ 2 ]

1 голос
/ 01 апреля 2020

Мой комментарий:

Пожалуйста, проверьте папку манифеста / etc / kubernetes / manifest на наличие любых файлов резервных копий для сервера API. (например, kube-apiserver.yaml.xxxx). Переместите эти файлы куда-нибудь еще и перезапустите kubelet.

был вдохновлен довольно хорошим обсуждением этого вопроса в разделе "Kubernetes / questions" на Github.

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

Кроме того, существует запрос на извлечение (PR) в этой теме . В результате 17 января 2020 года PR был объединен , чтобы справиться с neolit123: 1.18-kubeadm-ugprade-rollback.

Вот почему вы не должны сталкиваться с этой проблемой в следующий раз, когда будете обновлять k8s с 1.18.x :-)

Надеюсь, это поможет.

0 голосов
/ 31 марта 2020

Проблема заключалась в том, что emacs создал свои обычные файлы резервных копий в файлах / etc / kubernetes / manifest , и это создавало проблему. Я не уверен, ПОЧЕМУ kubectl имел проблему с этими файлами резервных копий, но после того, как я удалил эти резервные копии из каталога, вы можете увидеть мои kubectl version для клиента & сервера версии совпадают.

pic1 pic3 pic2

Спасибо, Ник!

...