- Вопрос или проблема
- Логи
- Что вы ожидали, что произойдет?
- Как мы можем воспроизвести это (как можно минимальнее и точнее)?
- Что-нибудь еще, что нам нужно знать?
- Версия Kubernetes
- Облачный провайдер
- Версия ОС
- Ответ или решение
- 1. Анализ сообщений из логов
- 2. Возможные причины проблемы
- 3. Рекомендации по устранению неполадок
- Заключение
Вопрос или проблема
Сервер работает нормально, и, похоже, связь потерялась неожиданно. Я прикрепил основные логи сообщений и объясню свой анализ:
26 сентября 07:11:39 kubelet начал показывать “Ошибка обновления статуса узла”
В 07:12:00 потеряна связь с подами, работающими в qos1
26 сентября 07:12:03 kubelet показывает, что обновление узла превышает количество попыток повторения.
Логи повторяются снова и снова.
26 сентября 07:16:25 qos1 sssd_be[1077]: Бекенд отключен
И почти через 6 часов сервер qos снова подключился, и я могу получить доступ к серверу.
Одна вещь, которая привлекла мое внимание, это следующий лог:
26 сентября 13:11:10 qos1 Keepalived_vrrp[1512]: Интерфейс cali9f8d8b57766 удален
Как правило, всегда есть предыдущий лог, указывающий на то, что интерфейс cali****** был добавлен, но для интерфейса cali9f8d8b57766 это не отображается.
Keepalived работал безотказно, и не было показано ни перезапуска, ни выключения.
Логи
26 сент. 07:11:39 qos1 kubelet[1395]: E0926 07:11:39.898515 1395 kubelet_node_status.go:447] Ошибка обновления статуса узла, будет повторена попытка: ошибка получения узла "qos1": Получить "://vip-k8s-master:8443/api/v1>
26 сент. 07:11:42 qos1 kubelet[1395]: I0926 07:11:42.224462 1395 scope.go:95] [topologymanager] RemoveContainer - ID контейнера: 4419c100277e962e208697d965304fb277f0e9616bf8b9d1b27028ff73747494
26 сент. 07:11:42 qos1 kubelet[1395]: I0926 07:11:42.232446 1395 scope.go:95] [topologymanager] RemoveContainer - ID контейнера: d291467393cf1e5e821ead0a0e8df2286456d728ae2a8653c4f3144056738746
26 сент. 07:11:44 qos1 kubelet[1395]: E0926 07:11:44.921847 1395 controller.go:187] не удалось обновить контракт, ошибка: Put "://vip-k8s-master:8443/apis/coordination.k8s.io/v1/namespaces/kube-node-lease/l>
26 сент. 07:11:49 qos1 kubelet[1395]: E0926 07:11:49.899005 1395 kubelet_node_status.go:447] Ошибка обновления статуса узла, будет повторена попытка: ошибка получения узла "qos1": Получить "://vip-k8s-master:8443/api/v1>
26 сент. 07:11:49 qos1 kubelet[1395]: E0926 07:11:49.899347 1395 event.go:273] Невозможно записать событие: '&v1.Event{TypeMeta:v1.TypeMeta{Kind:"", APIVersion:""}, ObjectMeta:v1.ObjectMeta{Name:"kube-apiserver>
26 сент. 07:11:49 qos1 kubelet[1395]: E0926 07:11:49.899541 1395 controller.go:187] не удалось обновить контракт, ошибка: Put "://vip-k8s-master:8443/apis/coordination.k8s.io/v1/namespaces/kube-node-lease/l>
26 сент. 07:11:57 qos1 kubelet[1395]: W0926 07:11:57.071447 1395 status_manager.go:550] Не удалось получить статус пода "kube-apiserver-qos1_kube-system(bd07a1d7d39af16cc73c0692e91c512d)": Получить "://>
26 сент. 07:11:57 qos1 kubelet[1395]: E0926 07:11:57.071492 1395 event.go:273] Невозможно записать событие: '&v1.Event{TypeMeta:v1.TypeMeta{Kind:"", APIVersion:""}, ObjectMeta:v1.ObjectMeta{Name:"kube-apiserver>
26 сент. 07:11:57 qos1 kubelet[1395]: E0926 07:11:57.071576 1395 controller.go:187] не удалось обновить контракт, ошибка: Put "://vip-k8s-master:8443/apis/coordination.k8s.io/v1/namespaces/kube-node-lease/l>
26 сент. 07:11:57 qos1 kubelet[1395]: E0926 07:11:57.071607 1395 reflector.go:138] объект-"kube-system"/"kube-proxy-token-sgfj8": Не удалось наблюдать *v1.Secret: Получить "://vip-k8s-master:8443/api/v1/namesp>
26 сент. 07:11:57 qos1 kubelet[1395]: E0926 07:11:57.071628 1395 reflector.go:138] объект-"kube-system"/"calico-node-token-g2jkf": Не удалось наблюдать *v1.Secret: Получить "://vip-k8s-master:8443/api/v1/names>
26 сент. 07:11:57 qos1 kubelet[1395]: E0926 07:11:57.071648 1395 reflector.go:138] объект-"kube-system"/"kubernetes-services-endpoint": Не удалось наблюдать *v1.ConfigMap: Получить "://vip-k8s-master:8443/api/>
26 сент. 07:11:57 qos1 kubelet[1395]: E0926 07:11:57.071670 1395 reflector.go:138] объект-"kube-system"/"kube-proxy": Не удалось наблюдать *v1.ConfigMap: Получить "://vip-k8s-master:8443/api/v1/namespaces/kube>
26 сент. 07:11:57 qos1 kubelet[1395]: E0926 07:11:57.071675 1395 reflector.go:138] k8s.io/client-go/informers/factory.go:134: Не удалось наблюдать *v1.Service: Получить "://vip-k8s-master:8443/api/v1/services?>
26 сент. 07:11:57 qos1 kubelet[1395]: E0926 07:11:57.071692 1395 reflector.go:138] объект-"default"/"qos-configmap": Не удалось наблюдать *v1.ConfigMap: Получить "://vip-k8s-master:8443/api/v1/namespaces/defau>
26 сент. 07:11:57 qos1 kubelet[1395]: E0926 07:11:57.071588 1395 reflector.go:138] объект-"default"/"default-token-vjg8j": Не удалось наблюдать *v1.Secret: Получить "://vip-k8s-master:8443/api/v1/namespaces/de>
26 сент. 07:11:57 qos1 kubelet[1395]: E0926 07:11:57.071677 1395 reflector.go:138] объект-"default"/"monitoring-prometheus-node-exporter-token-rmsn8": Не удалось наблюдать *v1.Secret: Получить "://vip-k8s-mast>
26 сент. 07:11:57 qos1 kubelet[1395]: E0926 07:11:57.071588 1395 reflector.go:138] объект-"default"/"promtail-token-8jxf2": Не удалось наблюдать *v1.Secret: Получить "://vip-k8s-master:8443/api/v1/namespaces/d>
26 сент. 07:11:57 qos1 kubelet[1395]: E0926 07:11:57.071686 1395 kubelet_node_status.go:447] Ошибка обновления статуса узла, будет повторена попытка: ошибка получения узла "qos1": Получить "://vip-k8s-master:8443/api/v1>
26 сент. 07:11:57 qos1 kubelet[1395]: E0926 07:11:57.071510 1395 reflector.go:138] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:46: Не удалось наблюдать *v1.Pod: Получить "://vip-k8s-master:8443/api/v1/po>
26 сент. 07:11:57 qos1 kubelet[1395]: E0926 07:11:57.071688 1395 reflector.go:138] k8s.io/client-go/informers/factory.go:134: Не удалось наблюдать *v1.CSIDriver: Получить "://vip-k8s-master:8443/apis/storage.k>
26 сент. 07:11:57 qos1 kubelet[1395]: E0926 07:11:57.071699 1395 reflector.go:138] объект-"default"/"promtail": Не удалось наблюдать *v1.ConfigMap: Получить "://vip-k8s-master:8443/api/v1/namespaces/default/co>
26 сент. 07:11:57 qos1 kubelet[1395]: E0926 07:11:57.071699 1395 reflector.go:138] k8s.io/kubernetes/pkg/kubelet/kubelet.go:438: Не удалось наблюдать *v1.Node: Получить "://vip-k8s-master:8443/api/v1/nodes?all>
26 сент. 07:11:57 qos1 kubelet[1395]: E0926 07:11:57.071705 1395 reflector.go:138] k8s.io/client-go/informers/factory.go:134: Не удалось наблюдать *v1.RuntimeClass: Получить "://vip-k8s-master:8443/apis/node.k>
26 сент. 07:11:57 qos1 kubelet[1395]: E0926 07:11:57.071688 1395 reflector.go:138] объект-"default"/"repo-secret": Не удалось наблюдать *v1.Secret: Получить "://vip-k8s-master:8443/api/v1/namespaces/defau>
26 сент. 07:11:57 qos1 kubelet[1395]: E0926 07:11:57.071914 1395 reflector.go:138] объект-"kube-system"/"calico-config": Не удалось наблюдать *v1.ConfigMap: Получить "://vip-k8s-master:8443/api/v1/namespaces/k>
26 сент. 07:12:00 qos1 kubelet[1395]: E0926 07:12:00.143692 1395 controller.go:187] не удалось обновить контракт, ошибка: Put "://vip-k8s-master:8443/apis/coordination.k8s.io/v1/namespaces/kube-node-lease/l>
26 сент. 07:12:00 qos1 kubelet[1395]: E0926 07:12:00.143749 1395 reflector.go:138] объект-"default"/"qos-configmap": Не удалось наблюдать *v1.ConfigMap: не удалось перечислить *v1.ConfigMap: Получить "://vip-kaste>
26 сент. 07:12:00 qos1 kubelet[1395]: E0926 07:12:00.143785 1395 reflector.go:138] объект-"kube-system"/"calico-config": Не удалось наблюдать *v1.ConfigMap: не удалось перечислить *v1.ConfigMap: Получить "://vip-k8s-m>
26 сент. 07:12:00 qos1 kubelet[1395]: E0926 07:12:00.143785 1395 reflector.go:138] объект-"default"/"monitoring-prometheus-node-exporter-token-rmsn8": Не удалось наблюдать *v1.Secret: не удалось перечислить *v1.Secret>
26 сент. 07:12:00 qos1 kubelet[1395]: W0926 07:12:00.143777 1395 status_manager.go:550] Не удалось получить статус для пода "kube-apiserver-qos1_kube-system(bd07a1d7d39af16cc73c0692e91c512d)": Получить "://>
26 сент. 07:12:00 qos1 kubelet[1395]: E0926 07:12:00.143814 1395 kubelet_node_status.go:447] Ошибка обновления статуса узла, будет повторена попытка: ошибка получения узла "qos1": Получить "://vip-k8s-master:8443/api/v1>
26 сент. 07:12:00 qos1 kubelet[1395]: E0926 07:12:00.143860 1395 reflector.go:138] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:46: Не удалось наблюдать *v1.Pod: не удалось перечислить *v1.Pod: Получить "://vip-k>
26 сент. 07:12:00 qos1 kubelet[1395]: E0926 07:12:00.143884 1395 reflector.go:138] k8s.io/client-go/informers/factory.go:134: Не удалось наблюдать *v1.Service: не удалось перечислить *v1.Service: Получить "://vip-k8s->
26 сент. 07:12:00 qos1 kubelet[1395]: E0926 07:12:00.143887 1395 reflector.go:138] объект-"kube-system"/"kube-proxy": Не удалось наблюдать *v1.ConfigMap: не удалось перечислить *v1.ConfigMap: Получить "://vip-k8s-master:844>
26 сент. 07:12:00 qos1 kubelet[1395]: E0926 07:12:00.143887 1395 reflector.go:138] объект-"default"/"promtail": Не удалось наблюдать *v1.ConfigMap: не удалось перечислить *v1.ConfigMap: Получить "://vip-k8s-master:844>
26 сент. 07:12:00 qos1 kubelet[1395]: E0926 07:12:00.143896 1395 reflector.go:138] k8s.io/client-go/informers/factory.go:134: Не удалось наблюдать *v1.CSIDriver: не удалось перечислить *v1.CSIDriver: Получить "://vip->
26 сент. 07:12:00 qos1 kubelet[1395]: E0926 07:12:00.143900 1395 reflector.go:138] объект-"kube-system"/"kube-proxy-token-sgfj8": Не удалось наблюдать *v1.Secret: не удалось перечислить *v1.Secret: Получить "://vip-k8>
26 сент. 07:12:00 qos1 kubelet[1395]: E0926 07:12:00.143896 1395 reflector.go:138] объект-"kube-system"/"calico-node-token-g2jkf": Не удалось наблюдать *v1.Secret: не удалось перечислить *v1.Secret: Получить "://vip-k>
26 сент. 07:12:00 qos1 kubelet[1395]: E0926 07:12:00.143928 1395 reflector.go:138] объект-"kube-system"/"kubernetes-services-endpoint": Не удалось наблюдать *v1.ConfigMap: не удалось перечислить *v1.ConfigMap: Получить "ht>
26 сент. 07:12:00 qos1 kubelet[1395]: E0926 07:12:00.143930 1395 reflector.go:138] k8s.io/client-go/informers/factory.go:134: Не удалось наблюдать *v1.RuntimeClass: не удалось перечислить *v1.RuntimeClass: Получить ":>
26 сент. 07:12:00 qos1 kubelet[1395]: E0926 07:12:00.143954 1395 reflector.go:138] объект-"default"/"promtail-token-8jxf2": Не удалось наблюдать *v1.Secret: не удалось перечислить *v1.Secret: Получить "://vip-k8s-mast>
26 сент. 07:12:00 qos1 kubelet[1395]: E0926 07:12:00.143903 1395 reflector.go:138] объект-"default"/"default-token-vjg8j": Не удалось наблюдать *v1.Secret: не удалось перечислить *v1.Secret: Получить "://vip-k8s-maste>
26 сент. 07:12:00 qos1 kubelet[1395]: E0926 07:12:00.143939 1395 reflector.go:138] k8s.io/kubernetes/pkg/kubelet/kubelet.go:438: Не удалось наблюдать *v1.Node: не удалось перечислить *v1.Node: Получить "://vip-k8s-mas>
26 сент. 07:12:00 qos1 kubelet[1395]: E0926 07:12:00.143996 1395 reflector.go:138] объект-"default"/"repo-secret": Не удалось наблюдать *v1.Secret: не удалось перечислить *v1.Secret: Получить "://vip-k8s-master:8>
26 сент. 07:12:03 qos1 kubelet[1395]: E0926 07:12:03.216013 1395 controller.go:187] не удалось обновить контракт, ошибка: Put "://vip-k8s-master:8443/apis/coordination.k8s.io/v1/namespaces/kube-node-lease/l>
26 сент. 07:12:03 qos1 kubelet[1395]: I0926 07:12:03.216055 1395 controller.go:114] не удалось обновить контракт, используя последний контракт, запасной для обеспечения контракта, ошибка: не удалось 5 попыток обновить контракт
26 сент. 07:12:03 qos1 kubelet[1395]: E0926 07:12:03.216153 1395 reflector.go:138] k8s.io/client-go/informers/factory.go:134: Не удалось наблюдать *v1.CSIDriver: не удалось перечислить *v1.CSIDriver: Получить "://vip->
26 сент. 07:12:03 qos1 kubelet[1395]: E0926 07:12:03.216191 1395 reflector.go:138] объект-"default"/"default-token-vjg8j": Не удалось наблюдать *v1.Secret: не удалось перечислить *v1.Secret: Получить "://vip-k8s-maste>
26 сент. 07:12:03 qos1 kubelet[1395]: E0926 07:12:03.216196 1395 reflector.go:138] объект-"kube-system"/"calico-node-token-g2jkf": Не удалось наблюдать *v1.Secret: не удалось перечислить *v1.Secret: Получить "://vip-k>
26 сент. 07:12:03 qos1 kubelet[1395]: E0926 07:12:03.216209 1395 reflector.go:138] объект-"kube-system"/"kube-proxy": Не удалось наблюдать *v1.ConfigMap: не удалось перечислить *v1.ConfigMap: Получить "://vip-k8s-mast>
26 сент. 07:12:03 qos1 kubelet[1395]: E0926 07:12:03.216197 1395 reflector.go:138] k8s.io/client-go/informers/factory.go:134: Не удалось наблюдать *v1.Service: не удалось перечислить *v1.Service: Получить "://vip-k8s->
26 сент. 07:12:03 qos1 kubelet[1395]: E0926 07:12:03.216228 1395 reflector.go:138] k8s.io/kubernetes/pkg/kubelet/kubelet.go:438: Не удалось наблюдать *v1.Node: не удалось перечислить *v1.Node: Получить "://vip-k8s-mas>
26 сент. 07:12:03 qos1 kubelet[1395]: E0926 07:12:03.216207 1395 reflector.go:138] объект-"kube-system"/"kube-proxy-token-sgfj8": Не удалось наблюдать *v1.Secret: не удалось перечислить *v1.Secret: Получить "://vip-k>
26 сент. 07:12:03 qos1 kubelet[1395]: E0926 07:12:03.216196 1395 reflector.go:138] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:46: Не удалось наблюдать *v1.Pod: не удалось перечислить *v1.Pod: Получить "://vip-k>
26 сент. 07:12:03 qos1 kubelet[1395]: E0926 07:12:03.216219 1395 reflector.go:138] объект-"default"/"repo-secret": Не удалось наблюдать *v1.Secret: не удалось перечислить *v1.Secret: Получить "://vip-k8s-master:8>
26 сент. 07:12:03 qos1 kubelet[1395]: E0926 07:12:03.216247 1395 reflector.go:138] объект-"default"/"promtail": Не удалось наблюдать *v1.ConfigMap: не удалось перечислить *v1.ConfigMap: Получить "://vip-k8s-master:844>
26 сент. 07:12:03 qos1 kubelet[1395]: E0926 07:12:03.216259 1395 reflector.go:138] объект-"default"/"monitoring-prometheus-node-exporter-token-rmsn8": Не удалось наблюдать *v1.Secret: не удалось перечислить *v1.Secret>
26 сент. 07:12:03 qos1 kubelet[1395]: E0926 07:12:03.216269 1395 kubelet_node_status.go:447] Ошибка обновления статуса узла, будет повторена попытка: ошибка получения узла "qos1": Получить "://vip-k8s-master:8443/api/v1>
26 сент. 07:12:03 qos1 kubelet[1395]: E0926 07:12:03.216289 1395 kubelet_node_status.go:434] Невозможно обновить статус узла: обновление статуса узла превышает количество попыток повторения
........
26 сент. 07:16:25 hadg-qos1 sssd_be[1077]: Бекенд отключен
........
26 сент. 13:10:44 qos1 sssd_be[1077]: Бекенд в сети
26 сент. 13:10:45 qos1 kubelet[1395]: E0926 13:10:45.978649 1395 reflector.go:138] объект-"default"/"qos-configmap": Не удалось наблюдать *v1.ConfigMap: не удалось перечислить *v1.ConfigMap: configmaps "qos-configmap">
26 сент. 13:10:48 qos1 kernel: IPv4: марсианский источник X.X.X.X от X.X.X.X, на dev cali9f8d8b57766
26 сент. 13:10:48 qos1 kernel: заголовок ll: 00000000: ee ee ee ee ee ee c6 4e 64 5a 15 9d 08 06
26 сент. 13:10:49 qos1 kernel: IPv4: марсианский источник X.X.X.X от X.X.X.X, на dev cali9f8d8b57766
26 сент. 13:10:49 qos1 kernel: заголовок ll: 00000000: ee ee ee ee ee ee c6 4e 64 5a 15 9d 08 06
26 сент. 13:10:50 qos1 kernel: IPv4: марсианский источник X.X.X.X от X.X.X.X, на dev cali9f8d8b57766
26 сент. 13:10:50 qos1 kernel: заголовок ll: 00000000: ee ee ee ee ee ee c6 4e 64 5a 15 9d 08 06
26 сент. 13:10:53 qos1 kubelet[1395]: W0926 13:10:53.437429 1395 status_manager.go:550] Не удалось получить статус для пода "kube-apiserver-qos1_kube-system(bd07a1d7d39af16cc73c0692e91c512d)": etcdserver: r>
26 сент. 13:10:54 qos1 kubelet[1395]: I0926 13:10:54.745719 1395 scope.go:95] [topologymanager] RemoveContainer - ID контейнера: bfd622da14c9198815ed7a7de6d0a801c5386b83e8d586ababf51bdbfcd5c20e
26 сент. 13:10:54 qos1 kubelet[1395]: E0926 13:10:54.746207 1395 pod_workers.go:191] Ошибка синхронизации пода bd07a1d7d39af16cc73c0692e91c512d ("kube-apiserver-qos1_kube-system(bd07a1d7d39af16cc73c0692e91c5>
26 сент. 13:10:57 qos1 kernel: IPv4: марсианский источник X.X.X.X от X.X.X.X, на dev cali9f8d8b57766
26 сент. 13:10:57 qos1 kernel: заголовок ll: 00000000: ff ff ff ff ff ff c6 4e 64 5a 15 9d 08 06
26 сент. 13:10:58 qos1 kernel: IPv4: марсианский источник X.X.X.X от X.X.X.X, на dev cali9f8d8b57766
26 сент. 13:10:58 qos1 kernel: заголовок ll: 00000000: ff ff ff ff ff ff c6 4e 64 5a 15 9d 08 06
26 сент. 13:10:59 qos1 kernel: IPv4: марсианский источник X.X.X.X от X.X.X.X, на dev cali9f8d8b57766
26 сент. 13:10:59 qos1 kernel: заголовок ll: 00000000: ff ff ff ff ff ff c6 4e 64 5a 15 9d 08 06
26 сент. 13:11:01 qos1 kernel: IPv4: марсианский источник X.X.X.X от X.X.X.X, на dev cali9f8d8b57766
26 сент. 13:11:01 qos1 kernel: заголовок ll: 00000000: ff ff ff ff ff ff c6 4e 64 5a 15 9d 08 06
26 сент. 13:11:02 qos1 kernel: IPv4: марсианский источник X.X.X.X от X.X.X.X, на dev cali9f8d8b57766
26 сент. 13:11:02 qos1 kernel: заголовок ll: 00000000: ff ff ff ff ff ff c6 4e 64 5a 15 9d 08 06
26 сент. 13:11:03 qos1 kernel: IPv4: марсианский источник X.X.X.X от X.X.X.X, на dev cali9f8d8b57766
26 сент. 13:11:03 qos1 kernel: заголовок ll: 00000000: ff ff ff ff ff ff c6 4e 64 5a 15 9d 08 06
26 сент. 13:11:05 qos1 kubelet[1395]: I0926 13:11:05.747853 1395 scope.go:95] [topologymanager] RemoveContainer - ID контейнера: bfd622da14c9198815ed7a7de6d0a801c5386b83e8d586ababf51bdbfcd5c20e
26 сент. 13:11:05 qos1 kubelet[1395]: E0926 13:11:05.748376 1395 pod_workers.go:191] Ошибка синхронизации пода bd07a1d7d39af16cc73c0692e91c512d ("kube-apiserver-qos1_kube-system(bd07a1d7d39af16cc73c0692e91c5>
26 сент. 13:11:06 qos1 kernel: IPv4: марсианский источник X.X.X.X от X.X.X.X, на dev cali9f8d8b57766
26 сент. 13:11:06 qos1 kernel: заголовок ll: 00000000: ff ff ff ff ff ff c6 4e 64 5a 15 9d 08 06
26 сент. 13:11:07 qos1 kernel: IPv4: марсианский источник X.X.X.X от X.X.X.X, на dev cali9f8d8b57766
26 сент. 13:11:07 qos1 kernel: заголовок ll: 00000000: ff ff ff ff ff ff c6 4e 64 5a 15 9d 08 06
26 сент. 13:11:08 qos1 kernel: IPv4: марсианский источник X.X.X.X от X.X.X.X, на dev cali9f8d8b57766
26 сент. 13:11:08 qos1 kernel: заголовок ll: 00000000: ff ff ff ff ff ff c6 4e 64 5a 15 9d 08 06
26 сент. 13:11:09 qos1 kernel: IPv4: марсианский источник X.X.X.X от X.X.X.X, на dev cali9f8d8b57766
26 сент. 13:11:09 qos1 kernel: заголовок ll: 00000000: ff ff ff ff ff ff c6 4e 64 5a 15 9d 08 06
26 сент. 13:11:09 qos1 kubelet[1395]: I0926 13:11:09.850369 1395 topology_manager.go:187] [topologymanager] Обработчик допуска топологии
26 сент. 13:11:09 qos1 systemd[1]: Создан срез контейнера libcontainer kubepods-besteffort-podf435a11f_605c_4641_a1bf_b7be0e3bde13.slice.
26 сент. 13:11:09 qos1 kubelet[1395]: I0926 13:11:09.965787 1395 reconciler.go:224] operationExecutor.VerifyControllerAttachedVolume запущен для объемов "kube-config" (UniqueName: "kubernetes.io/empty>
26 сент. 13:11:09 qos1 kubelet[1395]: I0926 13:11:09.965869 1395 reconciler.go:224] operationExecutor.VerifyControllerAttachedVolume запущен для объемов "kubernetes-admin-config" (UniqueName: "kubernetes.i>
26 сент. 13:11:09 qos1 kubelet[1395]: I0926 13:11:09.965924 1395 reconciler.go:224] operationExecutor.VerifyControllerAttachedVolume запущен для объемов "default-token-vjg8j" (UniqueName: "kubernetes.io/se>
26 сент. 13:11:09 qos1 kubelet[1395]: I0926 13:11:09.966071 1395 reconciler.go:224] operationExecutor.VerifyControllerAttachedVolume запущен для объемов "ha-job-script" (UniqueName: "kubernetes.io/configma>
26 сент. 13:11:09 qos1 systemd[1]: docker-3a7450a83fbc2166609b2cfacec9cb70124a4240d2caafe79d6cdcc6dccf60c0.scope: Успешно.
26 сент. 13:11:10 qos1 systemd[1]: docker-3a7450a83fbc2166609b2cfacec9cb70124a4240d2caafe79d6cdcc6dccf60c0.scope: Использовано 3д 18ч 17мин 36.853с времени CPU
26 сент. 13:11:10 qos1 containerd[1118]: time="2024-09-26T13:11:10.010120865Z" level=info msg="shim отключен" id=3a7450a83fbc2166609b2cfacec9cb70124a4240d2caafe79d6cdcc6dccf60c0
26 сент. 13:11:10 qos1 containerd[1118]: time="2024-09-26T13:11:10.010233715Z" level=error msg="копирование лога shim" error="чтение /proc/self/fd/68: файл уже закрыт"
26 сент. 13:11:10 qos1 dockerd[1926482]: time="2024-09-26T13:11:10.010278638Z" level=info msg="игнорирование события" container=3a7450a83fbc2166609b2cfacec9cb70124a4240d2caafe79d6cdcc6dccf60c0 module=libcontainerd >
26 сент. 13:11:10 qos1 systemd[1]: var-lib-docker-overlay2-f2e0d9992772c2bc46a4356d189cb63facac502e374ca32d327f37a591e1c564-merged.mount: Успешно.
26 сент. 13:11:10 qos1 kernel: IPv4: марсианский источник X.X.X.X от X.X.X.X, на dev cali9f8d8b57766
26 сент. 13:11:10 qos1 kernel: заголовок ll: 00000000: ff ff ff ff ff ff c6 4e 64 5a 15 9d 08 06
26 сент. 13:11:10 qos1 Keepalived_vrrp[1512]: Интерфейс cali9f8d8b57766 удален
Что вы ожидали, что произойдет?
Это не должно происходить и, по крайней мере, не должно теряться соединение с сервером. Узел был не готов и восстановился после почти 6 часов.
Как мы можем воспроизвести это (как можно минимальнее и точнее)?
У меня 9 узлов, 3 контрольных плоскости, мастер и 6 рабочих узлов. qos1 является одним из 3 контрольных плоскостей, мастер
Что-нибудь еще, что нам нужно знать?
Это второй случай, когда это происходит, в первый раз узел был готов мгновенно, но в этот раз узел был “Не готов” почти 6 часов. Другие 2 узла [контрольная плоскость, мастер] не демонстрировали этого поведения.
Версия Kubernetes
$ kubectl version
Версия клиента: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.0", GitCommit:"af46c47ce925f4c4ad5cc8d1fca46c7b77d13b38", GitTreeState:"clean", BuildDate:"2020-12-08T17:59:43Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}
(машина работает в 2020, так что игнорируйте дату)
Облачный провайдер
На своем оборудовании
Версия ОС
# На Linux:
$ cat /etc/os-release
NAME="Oracle Linux Server"
VERSION="8.5"
ID="ol"
ID_LIKE="fedora"
VARIANT="Сервер"
VARIANT_ID="server"
VERSION_ID="8.5"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Oracle Linux Server 8.5"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:8:5:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://bugzilla.oracle.com/"
ORACLE_BUGZILLA_PRODUCT="Oracle Linux 8"
ORACLE_BUGZILLA_PRODUCT_VERSION=8.5
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=8.5
$ uname -a
Linux qos2 5.4.17-2011.7.4.el8uek.x86_64 #2 SMP Fri Oct 2 14:39:04 PDT 2020 x86_64 x86_64 x86_64 GNU/Linux
(машина работает в 2020, так что игнорируйте дату)
Ответ или решение
Ваш вопрос о том, почему узел контрольной плоскости неожиданно перешел в состояние "Not Ready" (Не готов), важен для обеспечения надежности и стабильности вашего кластера Kubernetes. Давайте подробно рассмотрим возможные причины и последствия этой проблемы.
1. Анализ сообщений из логов
Из предоставленных вами логов можно выделить несколько критических сообщений, которые указывают на возникновение проблем:
-
Ошибки обновления статуса узла:
Sep 26 07:11:39 kubelet[1395]: E0926 07:11:39.898515 1395 kubelet_node_status.go:447] Error updating node status, will retry: error getting node "qos1": Get "://vip-k8s-master:8443/api/v1
Это сообщение говорит о том, что kubelet на вашем узле не может обновить статус узла из-за ошибки при попытке взаимодействия с API сервером.
-
Потеря связи с подами в QoS классе 1:
Sep 26 07:12:00 qos1 kubelet[1395]: E0926 07:12:00.143692 1395 controller.go:187] failed to update lease, error: Put "://vip-k8s-master:8443/apis/coordination.k8s.io/v1/namespaces/kube-node-lease/l
Здесь указано, что kubelet не может обновить аренду узла, что также может привести к переключению узла в состояние "Not Ready".
-
Удаление сетевого интерфейса:
Sep 26 13:11:10 qos1 Keepalived_vrrp[1512]: Interface cali9f8d8b57766 deleted
Эта запись может свидетельствовать о проблемах с сетевой конфигурацией. Удаление интерфейса может привести к потере связи между компонентами Kubernetes.
-
Ошибки SSSD:
Sep 26 07:16:25 qos1 sssd_be[1077]: Backend is offline
Это серьезная проблема, так как SSSD (System Security Services Daemon) отвечает за управление безопасными соединениями и аутентификацией. Если бекенд SSSD отключен, это может негативно повлиять на работу узла.
2. Возможные причины проблемы
-
Сетевые проблемы: Судя по логам, возможные проблемы с сетевой конфигурацией, включая маршрутизацию и взаимодействие между узлами. Проверьте конфигурацию сети и состояние межузлового взаимодействия. Если возникли проблемы с сетевыми интерфейсами, это могло повлиять на соединение с API сервером.
-
Неправильная работа компонентов K8s: Повторяющиеся ошибки в kubelet могут указывать на перегрузку ресурса или неправильную настройку kubelet. Убедитесь, что достаточно ресурсов (например, CPU и памяти) для работы всех необходимых компонентов.
-
Проблемы с аутентификацией: Ошибки SSSD могут быть связаны с проблемами с аутентификацией, что может вызвать дополнительные проблемы с доступом к API серверу.
-
Отказ в работе сервера Kubernetes: Если API сервер недоступен по какой-либо причине (например, перегрузка или неправильные параметры конфигурации), kubelet не сможет обновить статус узла и взаимодействовать с контроллерами.
3. Рекомендации по устранению неполадок
-
Проверьте состояние сетевых интерфейсов: Убедитесь, что все сетевые интерфейсы настроены и действуют правильно.
-
Проанализируйте загрузку ресурсов узла: Используйте инструменты мониторинга, чтобы определить, может ли узел быть перегружен.
-
Проверьте настройки kubelet: Убедитесь, что kubelet настроен правильно и имеет достаточно прав для доступа к API серверу.
-
Проверка SSSD: Убедитесь, что служба SSSD активна и правильно настроена для работы с вашим бэкендом аутентификации.
-
Перезагрузка компонентов: Попробуйте перезапустить kubelet и другие компоненты, если это возможно, чтобы устранить временные проблемы.
-
Запись логов для дальнейшего анализа: Включите более детальное логирование в kubelet и других компонентах, чтобы легче было идентифицировать проблему в будущем.
Заключение
Неоправданное переключение узла в состояние "Not Ready" может иметь разные причины, включая сетевые проблемы, ошибки конфигурации K8s и сбои в работе служб аутентификации. Путем систематического анализа логов и проверки сетевой конфигурации вы сможете выявить коренные причины проблемы и предотвратить их повторное возникновение в будущем.