Всем привет!
Kubelet крайне важная часть Kubernetes. Он взаимодействует с runtime для создания контейнеров и не только, общается с kube-apiserver. Логично предположить, что он, как и все остальные сущности, обращающиеся к kube-apiserver должен проходить процедуру авторизации.
И это так, однако не все так просто, как может показаться. Например, если сделать
kubectl --kubeconfig=%yourkubelet.conf% auth can-i –list, то описания его прав на, например, pod вы не увидите. Хотя с этим же самым kubeconfig можно запросить перечень pods в каком-нибудь namespace и получить результат. Если присмотреться, то в ответе вышеуказанной команды есть интересная строчка:
the list may be incomplete: node authorizer does not support user rule resolution Resources.Именно этой «особенности» посвящена очередная прекрасная статья от Rory McCune. Почему так происходит и как работает авторизация Kubelet «под капотом», ссылки на исходный код Kubernetes - все есть в статье. Рекомендуем!