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

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

30 ответов

95 просмотров

покажи 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}}"

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

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

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
1. https://www.kaggle.com/code/ahmadrezagholami2001/housing-estimation-linear-regression 2. https://www.kaggle.com/code/ahmadrezagholami2001/uncovering-quality-in-wines-logis...
Ahmadreza
1
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Карта сайта