Summary: | Некоторые pod'ы на master-ноде остаются в состоянии Init:0/1, Pending или ContainerCreating | ||||||
---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Artem Varaksa <varaksaaa> | ||||
Component: | podsec | Assignee: | kaf <kaf> | ||||
Status: | CLOSED WORKSFORME | QA Contact: | qa-sisyphus | ||||
Severity: | normal | ||||||
Priority: | P5 | CC: | amakeenk, kaf, kaf, shaba | ||||
Version: | unstable | ||||||
Hardware: | x86_64 | ||||||
OS: | Linux | ||||||
Attachments: |
|
Description
Artem Varaksa
2024-04-17 16:05:57 MSK
> Фактический результат
> =====================
>
> Команда завершается успешно, и даже возможно последующее подключение
> control-plane и worker-нод. Но некоторые pod'ы не запускаются:
>
> > NAMESPACE NAME READY STATUS RESTARTS AGE
> > kube-flannel pod/kube-flannel-ds-7dbzq 0/1 Init:0/1 0 33m
> > kube-flannel pod/kube-flannel-ds-825d7 1/1 Running 0 16s
> > kube-flannel pod/kube-flannel-ds-tcqgq 1/1 Running 1 3m56s
> > kube-system pod/coredns-5d74d44657-7q9xn 0/1 Pending 0 33m
> > kube-system pod/coredns-5d74d44657-945zd 0/1 ContainerCreating 0 33m
> > kube-system pod/etcd-podsec-controlplane 1/1 Running 1 3m46s
> > kube-system pod/etcd-podsec-master 1/1 Running 1 33m
> > kube-system pod/kube-apiserver-podsec-controlplane 1/1 Running 0 3m25s
> > kube-system pod/kube-apiserver-podsec-master 1/1 Running 0 33m
> > kube-system pod/kube-controller-manager-podsec-controlplane 1/1 Running 1 3m55s
> > kube-system pod/kube-controller-manager-podsec-master 1/1 Running 1 33m
> > kube-system pod/kube-proxy-bhqqj 1/1 Running 0 16s
> > kube-system pod/kube-proxy-hflbv 1/1 Running 1 3m56s
> > kube-system pod/kube-proxy-mr2bj 0/1 ContainerCreating 0 33m
> > kube-system pod/kube-scheduler-podsec-controlplane 1/1 Running 1 3m55s
> > kube-system pod/kube-scheduler-podsec-master 1/1 Running 1 33m
>
Артем а есть возможность привести результат выполнения команд
$ kubectl -n flannel describe pod/...
$ kubectl -n flannel logs pod/...
для всех POD'ов в состоянии 0/1
?
Created attachment 15959 [details] Вывод kubectl describe для неработающих pod'ов Приложил вывод describe при следующем состоянии: > # kubectl get pods -A > NAMESPACE NAME READY STATUS RESTARTS AGE > kube-flannel kube-flannel-ds-p7mqt 0/1 Init:0/1 0 9m8s > kube-system coredns-74b4f8d87d-hprkh 0/1 ContainerCreating 0 9m8s > kube-system coredns-74b4f8d87d-k4sj4 0/1 Pending 0 9m8s > kube-system etcd-podsec-master 1/1 Running 1 9m26s > kube-system kube-apiserver-podsec-master 1/1 Running 0 9m35s > kube-system kube-controller-manager-podsec-master 1/1 Running 1 9m42s > kube-system kube-proxy-9jbtj 0/1 ContainerCreating 0 9m8s > kube-system kube-scheduler-podsec-master 1/1 Running 1 9m44s > # kubectl -n kube-flannel describe pod/kube-flannel-ds-p7mqt >> describe.txt > # kubectl -n kube-system describe pod/coredns-74b4f8d87d-hprkh >> describe.txt > # kubectl -n kube-system describe pod/coredns-74b4f8d87d-k4sj4 >> describe.txt > # kubectl -n kube-system describe pod/kube-proxy-9jbtj >> describe.txt kubectl logs невозможно использовать для любых pod'ов, вероятно это связано с тем, что pod/kube-proxy не работает. # kubectl logs -n kube-system pod/kube-controller-manager-podsec-master Error from server (InternalError): Internal error occurred: Authorization error (user=kube-apiserver-kubelet-client, verb=get, resource=nodes, subresource=proxy) В p10 работают все pod'ы и доступны логи. (Ответ для Artem Varaksa на комментарий #2) > В p10 работают все pod'ы и доступны логи. В p10, похоже, используется 1.26.3 вне зависимости от U7S_KUBEVERSION. Проверил на sisyphus с U7S_KUBEVERSION=v1.26.3, ошибка также воспроизводится. А вообще есть потенциальная возможность мне войти в эти VM? Очень трудно и долго вытаскивать информацию по шагам :-( И да - может в telegram списаться? (Ответ для Artem Varaksa на комментарий #2) > Создано вложение 15959 [details] [подробности] > Вывод kubectl describe для неработающих pod'ов > > Приложил вывод describe при следующем состоянии: > > > # kubectl get pods -A > > NAMESPACE NAME READY STATUS RESTARTS AGE > > kube-flannel kube-flannel-ds-p7mqt 0/1 Init:0/1 0 9m8s > > kube-system coredns-74b4f8d87d-hprkh 0/1 ContainerCreating 0 9m8s > > kube-system coredns-74b4f8d87d-k4sj4 0/1 Pending 0 9m8s > > kube-system etcd-podsec-master 1/1 Running 1 9m26s > > kube-system kube-apiserver-podsec-master 1/1 Running 0 9m35s > > kube-system kube-controller-manager-podsec-master 1/1 Running 1 9m42s > > kube-system kube-proxy-9jbtj 0/1 ContainerCreating 0 9m8s > > kube-system kube-scheduler-podsec-master 1/1 Running 1 9m44s > > > # kubectl -n kube-flannel describe pod/kube-flannel-ds-p7mqt >> describe.txt > > # kubectl -n kube-system describe pod/coredns-74b4f8d87d-hprkh >> describe.txt > > # kubectl -n kube-system describe pod/coredns-74b4f8d87d-k4sj4 >> describe.txt > > # kubectl -n kube-system describe pod/kube-proxy-9jbtj >> describe.txt > > kubectl logs невозможно использовать для любых pod'ов, вероятно это связано > с тем, что pod/kube-proxy не работает. > > # kubectl logs -n kube-system pod/kube-controller-manager-podsec-master > Error from server (InternalError): Internal error occurred: Authorization > error (user=kube-apiserver-kubelet-client, verb=get, resource=nodes, > subresource=proxy) > 1.Надо посмотреть на наком узле неработающие POD'ы # kubectl get pods -A -o wide 2. Зайти туда в root через ssh 3. Зайти в пользователя u7s-admin # machinectl shell u7s-admin@ /bin/bash 4. Войти в namespace $ nsenter_u7s [INFO] Entering RootlessKit namespaces: OK [root@host-70 ~]# 5. Посмотреть список POD'ов # crictl ps CONTAINER IMAGE CREATED STATE NAME ATTEMPT POD ID POD 80b164bf31738 95174ae115a72b6b8b2ca31dfe8dc2ad8194dd4820e55796627602c080e91845 28 hours ago Running kube-flannel 0 4a1049e2ced4a kube-flannel-ds-qwcfq ... 6. Посмотреть логи POD'а # crictl logs 80b164bf31738 .... и бросить их мне (Ответ для ALexey Kostarev на комментарий #5) > (Ответ для Artem Varaksa на комментарий #2) > > Создано вложение 15959 [details] [подробности] > > Вывод kubectl describe для неработающих pod'ов > > > > Приложил вывод describe при следующем состоянии: > > > > > # kubectl get pods -A > > > NAMESPACE NAME READY STATUS RESTARTS AGE > > > kube-flannel kube-flannel-ds-p7mqt 0/1 Init:0/1 0 9m8s > > > kube-system coredns-74b4f8d87d-hprkh 0/1 ContainerCreating 0 9m8s > > > kube-system coredns-74b4f8d87d-k4sj4 0/1 Pending 0 9m8s > > > kube-system etcd-podsec-master 1/1 Running 1 9m26s > > > kube-system kube-apiserver-podsec-master 1/1 Running 0 9m35s > > > kube-system kube-controller-manager-podsec-master 1/1 Running 1 9m42s > > > kube-system kube-proxy-9jbtj 0/1 ContainerCreating 0 9m8s > > > kube-system kube-scheduler-podsec-master 1/1 Running 1 9m44s > > > > > # kubectl -n kube-flannel describe pod/kube-flannel-ds-p7mqt >> describe.txt > > > # kubectl -n kube-system describe pod/coredns-74b4f8d87d-hprkh >> describe.txt > > > # kubectl -n kube-system describe pod/coredns-74b4f8d87d-k4sj4 >> describe.txt > > > # kubectl -n kube-system describe pod/kube-proxy-9jbtj >> describe.txt > > > > kubectl logs невозможно использовать для любых pod'ов, вероятно это связано > > с тем, что pod/kube-proxy не работает. > > > > # kubectl logs -n kube-system pod/kube-controller-manager-podsec-master > > Error from server (InternalError): Internal error occurred: Authorization > > error (user=kube-apiserver-kubelet-client, verb=get, resource=nodes, > > subresource=proxy) > > > > 1.Надо посмотреть на наком узле неработающие POD'ы > # kubectl get pods -A -o wide > > 2. Зайти туда в root через ssh > > 3. Зайти в пользователя u7s-admin > > # machinectl shell u7s-admin@ /bin/bash > > 4. Войти в namespace > $ nsenter_u7s > [INFO] Entering RootlessKit namespaces: OK > [root@host-70 ~]# > > 5. Посмотреть список POD'ов > # crictl ps > CONTAINER IMAGE > CREATED STATE NAME ATTEMPT > POD ID POD > 80b164bf31738 > 95174ae115a72b6b8b2ca31dfe8dc2ad8194dd4820e55796627602c080e91845 28 hours > ago Running kube-flannel 0 > 4a1049e2ced4a kube-flannel-ds-qwcfq > ... > 6. Посмотреть логи POD'а > > # crictl logs 80b164bf31738 > .... > > и бросить их мне Можно даже лучше Те же шаги, но вместо # crirtl ps # criatl logs 1. зайти в каталог # cd /var/log Там все kuber-логи # ls containers crio pods 2. Заархивировать их # tar cvzf /tmp/logs.tgz 3. Бросить logs.tgz мне Версия 1.0.10-alt7 - проблема не воспроизводится. Но нужно обязательно поменять адреса подсети в файле /etc/podsec/u7s/config/cni_net.d/50-bridge.conf, если они пересекаются с текущей подсетью. (Ответ для Alexander Makeenkov на комментарий #7) > Версия 1.0.10-alt7 - проблема не воспроизводится. Но нужно обязательно > поменять адреса подсети в файле > /etc/podsec/u7s/config/cni_net.d/50-bridge.conf, если они пересекаются с > текущей подсетью. Я в ближайшее время планирую выпустить очередную версию 1.0.10-alt8 В ней исправлены ряд недоработок, что я обнаружил во время тестирования Могу в эту версия добавить предложенный Вами функционал Но мне нужна площадка для тестирования с локальными адресами 10.88.8.0/21 Вы можете мне поднять одну-две VM с этими адресами для тестирования функционала? (Ответ для Alexander Makeenkov на комментарий #7) > Версия 1.0.10-alt7 - проблема не воспроизводится. Но нужно обязательно > поменять адреса подсети в файле > /etc/podsec/u7s/config/cni_net.d/50-bridge.conf, если они пересекаются с > текущей подсетью. Я в ближайшее время планирую выпустить очередную версию 1.0.10-alt8 В ней исправлены ряд недоработок, что я обнаружил во время тестирования Могу в эту версия добавить предложенный Вами функционал Но мне нужна площадка для тестирования с локальными адресами 10.88.8.0/21 Вы можете мне поднять одну-две VM с этими адресами для тестирования функционала? |