Как выполнить команду из одного модуля в другом модуле, используя exec kubectl, которые находятся в одном кластере K8S - PullRequest
0 голосов
/ 15 января 2019

У меня есть два модуля в кластере. Давайте назовем их A и B. Я установил kubectl в модуле A и пытаюсь запустить команду внутри модуля B из модуля A, используя kubectl exec -it podB -- bash. Я получаю следующую ошибку

Error from server (Forbidden): pods "B" is forbidden: User "system:serviceaccount:default:default" cannot create pods/exec in the namespace "default"

Я создал следующие Role и RoleBinding для получения доступа. Роль ЯМЛ

kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: api-role
  namespace: default
  labels:
    app: tools-rbac
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]

RoleBinding yaml

kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: global-rolebinding
  namespace: default
  labels:
    app: tools-rbac
subjects:
- kind: Group
  name: system:serviceaccounts
  apiGroup: rbac.authorization.k8s.io

Любая помощь очень ценится. Спасибо

1 Ответ

0 голосов
/ 15 января 2019

Вам потребуется предоставить доступ к подресурсу pods/exec в дополнение к pods, как у вас там. Тем не менее, это очень странная вещь, и, вероятно, она очень усердно думает о том, является ли это лучшим решением.

...