Всем привет, небольшой вопрос по EKS. Я залогинился под IAM ролью,

которую используют воркер ноды (она весьма ограниченная, там сплошные describe и readonly) и смог увидеть поды в неймспейсах.
И даже запустить новый.
Может кто видел какую доку на это? Я не до конца понимаю, почему оно позволяет это делать.
Учитывая, что группа (в aws-auth) для воркер нод имеет только bootstrap разрешения в RBAC EKS
Т.е. IAM не дает полномочий на запуск пода, RBAC тоже не дает, но сделать это почему-то получается

30 ответов

30 просмотров

покажи aws-auth целиком

там каждая нода получает куберовскую роль system:node, которая и позволяет запускать поды и многое другое

Deyvis-Kom Автор вопроса
Vasiliy Angapov
там каждая нода получает куберовскую роль system:n...

В офф доке пишут, что system:node депрекейтнутый CR, но при это я его вижу даже в своем 1.26 кластере.

Deyvis-Kom Автор вопроса
tutunak
покажи aws-auth целиком

Примерно так mapRoles: ---- - groups: - system:bootstrappers - system:nodes rolearn: arn:aws:iam::111122223333:role/my-node-role username: system:node:{{EC2PrivateDNSName}}

Deyvis Kom
В офф доке пишут, что system:node депрекейтнутый C...

насколько я понял, в EKS включен admission plugin NodeRestriction и типа это ограничивает кубелеты в том, что они реально могут делать

Deyvis-Kom Автор вопроса
Vasiliy Angapov
насколько я понял, в EKS включен admission plugin ...

Кубелеты он мб и ограничивает, но я угнав токен и роль с другого сервера запускаю поды

Deyvis Kom
Кубелеты он мб и ограничивает, но я угнав токен и ...

а где запускаются эти поды? На других нодах тоже? Секреты можете смотреть?

Deyvis-Kom Автор вопроса
Vasiliy Angapov
а где запускаются эти поды? На других нодах тоже? ...

Секреты смотреть нельзя, но можно запустить привелигерованный под примаунченный к локалхосту

Deyvis Kom
Секреты смотреть нельзя, но можно запустить привел...

по идее это как раз то, что должен уметь делать кубелет, разве не так?

Deyvis-Kom Автор вопроса
Vasiliy Angapov
по идее это как раз то, что должен уметь делать ку...

Кубелет, но не нода. Ноде нужны права в рбаке только чтобы получить сертификат для джойна. Но я используя эту роль получаю гораздо больше прав, позволяющие всякое

Deyvis Kom
Кубелет, но не нода. Ноде нужны права в рбаке толь...

не совсем понял. А в чем с точки зрения кубера отличия кубелета от ноды? Кубелет должен уметь запускать поды, монтировать секреты в том числе.

Deyvis-Kom Автор вопроса
Vasiliy Angapov
не совсем понял. А в чем с точки зрения кубера отл...

Я могу ошибаться, но в моей голове это выглядит так: Сервер с помощью IAM роли и RBAC на эту роль бутстрапит кубелет. После этого, сервер ничего делать не должен и прав никаких не иметь. Всем управляет кубелет через свои взаимоотношения с контролплейном. И когда я используя IAM роль сервера получаю доступ не только для бутстрапа, но и в целом доступ к кластеру, пусть и лимитированный, то это малость удивляет

Deyvis Kom
Я могу ошибаться, но в моей голове это выглядит та...

почитайте про Kubernetes RBAC, aws-auth и EC2 metadata. Оно так и должно работать

Deyvis-Kom Автор вопроса
Vasiliy Angapov
почитайте про Kubernetes RBAC, aws-auth и EC2 meta...

"Так" - это как? Сервер имея права только на чтение и джойн, начинает создавать привилигированные поды.

Deyvis Kom
"Так" - это как? Сервер имея права только на чтени...

кубелет имеет права не только на чтение. Он на дофига чего имеет права в кубере. Вы смотрите только на ридонли и джойн роль, но есть и другая роль под названием system:node, к которой у кубелета тоже есть доступ

Deyvis-Kom Автор вопроса
Vasiliy Angapov
кубелет имеет права не только на чтение. Он на доф...

Верно, эта роль у кублета по дизайну. Но не у сервера

Deyvis-Kom Автор вопроса
Vasiliy Angapov
что вы понимаете под “сервером”?

Воркер нода где запущен кублет

Deyvis Kom
Воркер нода где запущен кублет

как вы думаете, каким образом кубелет получает свой токен, с помощью которого он общается с Kubernetes API?

Deyvis-Kom Автор вопроса
Vasiliy Angapov
как вы думаете, каким образом кубелет получает сво...

Через сертификат который был получен на этапе бутстрапа кубелета

Deyvis Kom
Через сертификат который был получен на этапе бутс...

хорошо, а каким образом Kubernetes API выдал ему этот сертификат? Он разве кому угодно может сертификат выдать?

Deyvis-Kom Автор вопроса
Vasiliy Angapov
хорошо, а каким образом Kubernetes API выдал ему э...

Сертификат был запрошен нодой. Нода имеет права в IAM на дескрайб всего необходимого и права в RBAC кубера для получения сертификата - system:node-bootstrapper

Deyvis Kom
Сертификат был запрошен нодой. Нода имеет права в ...

каким образом нода аутентифицируется в Kubernetes API?

Deyvis Kom
Через IAM

совершенно верно. Через IAM нода получает доступ к Kubernetes API. Вместе с этим она получает доступ к роли system:node

Deyvis Kom
А вот и нет

почему? В aws-auth же это написано

Deyvis-Kom Автор вопроса
Vasiliy Angapov
почему? В aws-auth же это написано

apiVersion: v1 data: mapAccounts: | [] mapRoles: | - "groups": - "system:bootstrappers" - "system:nodes" "rolearn": "arn:aws:iam::1111111111:role/eks-node-group-20230314125042417300000001" "username": "system:node:{{EC2PrivateDNSName}}"

Deyvis Kom
apiVersion: v1 ...

"username": "system:node:{{EC2PrivateDNSName}}"

Похожие вопросы

Обсуждают сегодня

Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Портфолио: Зовут меня Александр, мне 41 год. Город Киров. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github.co...
Magic
11
Подскажите, пожалуйста, где в backende, или не в нем можно дату поправить? Логирует действия не в том часовом поясе
Лео
7
Есть магистры regex в чате? Задача: нужно написать regex который мэтчит полные (без сокращений по типу ::1/128) ipv6 адреса кроме 2001:0df7:cef7:29f7:52f7:adf7:2cf7:4ff7, при ...
Илья
5
Приветствую всех, есть вопросик. Передали проект на OctoberCms, без инсталяшки в полуразвернутом виде, нужно было залить бекап бд, после залития бд, оказалось, что части строк...
Лео
14
Привет! Подскажите может кто сталкивался, при создании купона выходит вот в таком виде окно. Как поправить это?
Ruslan
4
Помните я тут рассказывал про таролога программистку? Мне выдали новый мем
Magic
6
Ребята, я за проф советом😅 По микросервисам. В монолите есть общие файлы для сервисов: фетчи, конфиги, либы, утилсы.. как при распиле правильно их поддерживать? Пока вариант д...
Александр Тарасюк
1
DataGrip не сканирует почему-то все таблицы, хотя раньше показывал их че за херня, сталкивались?
Magic
9
где собака, админ группы? нычкуется и боится проявить волю, в толерантность еще не наигрался? @yelizariev
Ognezar
61
Карта сайта