Цель:
Есть 2 пространства имен, это "kube-system" и "default". Нужно запускать крон задачу в пространстве "kube-system", которая будет очищать выполненные джобы и поды в пространстве "default". Для этого создадим сервис аккаунт в пространстве "kube-system", роль с необходимыми правами в пространстве "default", и для созданного аккаунта привязываем созданную роль.
cross-namespace-role.yaml
apiVersion: v1 kind: ServiceAccount metadata: name: jobs-cleanup namespace: kube-system automountServiceAccountToken: false --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: Role metadata: name: jobs-cleanup namespace: default rules: - apiGroups: [""] resources: ["pods"] verbs: ["get", "watch", "list", "delete"] - apiGroups: ["batch", "extensions"] resources: ["jobs"] verbs: ["get", "list", "watch", "delete"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: jobs-cleanup namespace: default roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: jobs-cleanup subjects: - kind: ServiceAccount name: jobs-cleanup namespace: kube-system