Ребята всем привет!Хочу поставить ОДИН гитлаб раннер и дать ему

права на деплой только в определенные NS
Создал сервис аккаунт
kubectl create serviceaccount test-gitlab-runner -n test
Ну и создал такого плана бинды в нейспэйсах

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: test-gitlab-runner
namespace: test
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: edit
subjects:
- kind: ServiceAccount
name: "test-gitlab-runner"
Но работает только в том неймспэйсе где задеплоин ранер, вопрос можно ли сделать так как я хочу и если да то что делаю не так ??

20 ответов

33 просмотра

Раннер авторизуется в СервисАккаунт. СервисАккаунт привязан к роли. Роль у тебя глобальная, на уровне кластера. А вот Binding - уровня Namespace.

H
Так я их несколько создаю

Тогда смотри саму роль, какие ресурсы ей можно трогать.

H- Автор вопроса

Я же бинжу сервисный аккаунт к кластер роли, в одном нэймспэйсе работает, в другом нет

H
Я же бинжу сервисный аккаунт к кластер роли, в одн...

СервисАккаунт - сущность из Неймспейса. И работает только там, где был задан.

H- Автор вопроса
H
Я создал одинаковые в разных неймспэсах

Тогда на стороне К8с проблем не должно быть. Проверь, с каким СервисАккаунтом авторизуется твой раннер. Есть подозрение, что один и тот же.

H- Автор вопроса
Konstantin Dobroliubov
Тогда на стороне К8с проблем не должно быть. Прове...

А переопределить variables: KUBERNETES_SERVICE_ACCOUNT_OVERWRITE: ci-service-account

H- Автор вопроса
Oleksandr
А толку

Не понял ?

H
А переопределить variables: KUBERNETES_SERVICE_...

Ну для чего ты сделаешь переопределение?

H- Автор вопроса
Oleksandr
Ну для чего ты сделаешь переопределение?

Что бы заюзать нужный из другого неймспэса

H- Автор вопроса
H
Вот такую таску запускаю

А конфиг какой для kubectl?

H
А переопределить variables: KUBERNETES_SERVICE_...

> This approach allows you to specify a service account that is attached to the namespace Так можно только переопределять сервис-аккаунты в рамках одного неймспейса. В твоём случае раннер будет всегда попадать в один и тот же неймспейс, а именно неймспейс раннера.

H- Автор вопроса
Konstantin Dobroliubov
> This approach allows you to specify a service ac...

А если вот так ? KUBERNETES_NAMESPACE_OVERWRITE:

H
А если вот так ? KUBERNETES_NAMESPACE_OVERWRITE:

> The Pods spawned by the runner will take place on the overwritten namespace, for simple and straight forward access between containers during the CI stages. Уже теплее :)

H- Автор вопроса

Все равно не работает ((

H
Все равно не работает ((

Есть доступ в кластер? Первым делом проверить, в какой Namespace попадает Pod раннера.

H
Все равно не работает ((

Можно юзать ClusterRoleBinding вместо RoleBinding. Это позволит раннеру, не выходя из своего неймспейса, "химичить" на уровне всего кластера. Но тут уже вопрос Security

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

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

Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
А не хотим ли мы развлечься? 😉 Но так чтобы с пользой для наших профессиональных навыков?? 👨‍🎓👩‍🎓 Предлагаю на октябрь запланировать тестовый запуск новой командной игры "Игр...
Andrii Kurdiumov
2
Это переведённый текст с английского. Я не говорю на русском, но могу использовать переводчик Телеграм. Приветствую! Я начинающий веб-разработчик и все еще учусь. В настояще...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
1
у кого сколько оперативы на базе данных ?
АДИЛЬБЕК
4
Привет всем! Почему этот код не срабатывает при добавлении или удалении пользователя из чата? bot.on('chat_member', async (ctx) => { console.log(ctx); }) bot.launch({allo...
Alexander
5
Через бот апи возможно получить ID стикерпака? Не ссылку.
Vexylon [АФК до 09.09]
5
В тг можно спарсить всех кто пишет в группе? Если список участников скрыт
S
3
Привет Хочу сделать аналог iCloud’а для своих проектов, чтобы пользовательская информация хранилась в облаке, была доступна во всех сервисах, её можно было подсасывать везде)...
Виталий
9
Доброе утро, мультиязычные сайты делал кто-нибудь? Какие подводные камни? Нужно чего нибудь допом ставить? Как поступить? В теории сделать две папки ru en и туда кидать страни...
Racoon Mitya
2
Ребят, а двух-факторку для плагина Users и для бэкенда октября кто-то прикручивал? Поделитесь опытом
Constantine Anikin
4
Карта сайта