Сбой развертывания на kubernetes: сбой применения kubectl

Я попытался запустить этот YAML нормально, но я получаю мастер 1 выпуск ниже 2 узлы были настроены, и я запустил kubectl получить узлы вывод выглядит нормально

kubectl apply -f https://k8s.io/examples/application/deployment.yaml

затем я скачал файл локально и попробовал, но опять та же ошибка

Error с сервера (запрещено):

deployments.extensions "nginx-deploy" запрещен: пользователь "system: node: master" не может получить deployments.extensions в пространстве имен "default" root@master:~#

Пожалуйста, помогите мне решить проблему

1 ответ

Это ограничение RBAC, о котором вы можете прочитать в Kubernetes - Использование документов RBAC для авторизации.

Вы хотите создать свой собственный ServiceAccount затем Role а затем свяжите их вместе, используя RoleBinding,

Пример ServiceAccount

apiVersion: v1
kind: ServiceAccount
metadata:
  name: some-name
  namespace: my-name

Ролевый пример

apiVersion: rbac.authorization.k8s.io/v1beta1
kind: Role
metadata:
  name: some-name
  namespace: my-name
rules:
  - apiGroups: ["extensions"]
    resources: ["deployments"]
    verbs: ["get","list","patch","update"]

Пример RoleBinding

apiVersion: rbac.authorization.k8s.io/v1beta1
kind: RoleBinding
metadata:
  name: some-name
  namespace: my-name
subjects:
  - kind: ServiceAccount
    name: some-name
    namespace: my-name
roleRef:
  kind: Role
  name: some-name
  apiGroup: rbac.authorization.k8s.io

В Интернете есть примеры, которые вы можете найти.

Другие вопросы по тегам