Сбой развертывания на 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
В Интернете есть примеры, которые вы можете найти.