... работает как root. Это необходимо?
Если некоторые из них это сделают, вы можете предположить, что для этого должна быть достаточно веская причина. Я считаю, что создатели kubernetes достаточно знакомы с концепцией принципа наименьших привилегий . Поэтому я бы сказал: да, скорее всего, необходимо иметь возможность выполнять необходимые операции в системе узлов. Однако это можно обсудить, как, например, здесь .
Например, kubeadm действительно нужны привилегии root? Ну ... чтобы иметь возможность выполнять все необходимые операции, да. Сравните с этим ответом.
Однако также возникают идеи о запуске всего кластера kubernetes как пользователя, не являющегося root. Я нашел интересную презентацию , обсуждающую эту концепцию.
Вы затронули действительно широкий топи c в своем вопросе, и невозможно дать ни одного правильного ответа. Я бы сказал, что это скорее материал для обширной статьи в блоге или даже электронной книги (сравните с этой ).
Более того, некоторые контейнеры Kubernetes, такие как k8s_trident-main_trident
, kube-proxy
и kubelet
работали в привилегированном режиме. Я полагаю, что это необходимо для правильной работы Kubernetes.
Если вы хотите, чтобы ваши контейнеры могли также выполнять определенные операции в хост-системе, привилегированный режим нельзя избежать.
Вы может также захотеть ознакомиться со следующими статьями в официальной документации kubernetes:
https://kubernetes.io/docs/concepts/security/overview/
https://kubernetes.io/docs/tasks/administer-cluster/securing-a-cluster/
Надеюсь, это поможет.