Найти идентификатор пользователя запущенного контейнера в Kubernetes для всех подов в кластере - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь выяснить, в каком контексте пользователя запускаются контейнеры, и ищу способ получить эти данные без c exe в каждый контейнер. Поскольку я работаю в кластере с множеством модулей, практически невозможно go внутри каждого контейнера получить пользователя.

Есть ли команда, которую я могу использовать для этого?

1 Ответ

2 голосов
/ 09 июля 2020

Для этого можно использовать Falco . Falco связывается с предоставленным сервером API K8s для оформления событий с помощью модуля K8s / namespace / deployment / et c. связанный с событием. Ниже приведен пример предупреждений Falco от , здесь . Вы можете увидеть user=root

output: "Namespace change (setns) by unexpected program (user=%user.name command=%proc.cmdline parent=%proc.pname %container.info)"

$ falco
15:42:35.347416068: Warning Namespace change (setns) by unexpected program (user=root command=test_program parent=hyperkube k8s-kubelet (id=4a4021c50439))

$ falco -pk -k <k8s api server url>
15:42:35.347416068: Warning Namespace change (setns) by unexpected program (user=root command=test_program parent=hyperkube k8s.pod=jclient-3160134038-qqaaz container=4a4021c50439)

$ falco -p "This is Some Extra" -k <k8s api server url>
15:42:35.347416068: Warning Namespace change (setns) by unexpected program (user=root command=test_program parent=hyperkube k8s-kubelet (id=4a4021c50439)) This is Some Extra
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...