Size: a a a

2021 October 13

A🌚

Al 🌚l in rannts
Вообще больше на багу в приложении похоже
источник

KK

Kirill (Cykooz) Kuzm... in rannts
kubectl показывает про сервер вот такое
Major:"1", Minor:"22+"

Рантайм... насколько вижу по списку процессов, то там есть слова containerd-shim-runc-v1
Образ - ubuntu:20.04
Внутри контейнера запускается tini в качестве init процесса.
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Этот кубер развёрнут через microk8s от Canonical
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Ну я бы в это сильнее поверил, если бы оно везде такое просиходило. Но нет - оно уже больше года работает у нас на разных стендах. Где-то под докер-композом, где-то на docker swarm - нигде такого не видел раньше. И только когда мы решили попробовать кубер, то только там стало такое происходить.
источник

A🌚

Al 🌚l in rannts
Хм, ну раз 1.22, то скорее всего containerd. Можно убедиться в kubectl describe node
источник

A🌚

Al 🌚l in rannts
А не пробовал под containerd запускать?
источник

A🌚

Al 🌚l in rannts
Без докера
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Container Runtime Version:  containerd://1.5.2
источник

A🌚

Al 🌚l in rannts
nerdctl run lalala
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Нет, не пробовал. Я даже с кубером пока на Вы. Его у нас админ разворачивал. Кроме того не понятно как это вообще воспроизводить. Оно как-то само случается, примерно раз в день. Последние два дня почему-то ночью, когда даже нагрузка в теории меньше.
источник

A🌚

Al 🌚l in rannts
А именно форк? Или дубликат процесса? Ppid разный же?
источник

KK

Kirill (Cykooz) Kuzm... in rannts
pid-ы разные
источник

A🌚

Al 🌚l in rannts
Не, parent pid
источник

KK

Kirill (Cykooz) Kuzm... in rannts
паренты не проверл, но htop показывает что второй процесс является дочерним для первого
источник

KK

Kirill (Cykooz) Kuzm... in rannts
источник

A🌚

Al 🌚l in rannts
Я такого не видел никогда, в ишшуях вроде тоже ничего похожего. Из идей пока - зайти на ноду, на которой стреляет и запустить тот же контейнер из-под containerd на ночь
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Ок, буду тогда дальше копать. Может придумаю как хотя бы узнать что в основном процессе запускает дочерний. Может придётся какой-нить дебагер для этого засунуть в контейнер.
источник

A🌚

Al 🌚l in rannts
Вообще контейнер рантаймы не должны приводить к такому, видимо как-то складываются внешние факты что процесс форкается
источник

A🌚

Al 🌚l in rannts
Можно сисколлы логировать и искать в какой момент форк лезет
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Ну поскольку основной процесс "зависает", то он очевидно ждёт чего-то от этого "форка". И значит если я в этот момент залезу в него дебагером, то толжен по стеку увидеть какой именно код занимается ожиданием.
источник