RBAC
Допустим, у вас есть namespace dev. Чтобы дать разработчику Alice права деплоить приложения туда, создаём:
# 1. Роль dev-deployer в namespace dev
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: dev
name: dev-deployer
rules:
- apiGroups: ["", "apps", "extensions"]
resources: ["deployments", "pods", "services"]
verbs: ["get", "list", "watch", "create", "update", "delete"]# 2. Привязка роли к пользователю Alice
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
namespace: dev
name: dev-deployer-binding
subjects:
- kind: User
name: alice
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: Role
name: dev-deployer
apiGroup: rbac.authorization.k8s.ioГенерация и настройка kubeconfig для разработчика
После того, как роль и биндинг созданы, нужно выдать Alice kubeconfig, в котором будут её учётные данные и context, привязанный к namespace:
Добавляем пользователю креды (например, клиентский сертификат):
Создаём context с привязкой к кластеру и namespace:
Активируем context:
Last updated