4

我试图很好地运行这个 YAML,但我得到了以下问题 1 主2节点已配置,我运行 kubectl get nodes 输出看起来很好

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

然后我在本地下载了文件并尝试了,但同样的错误

Error从服务器(禁止):

deployments.extensions "nginx-deployment" 被禁止:用户 "system:node:master" 无法在命名空间 "default" root@master:~# 中获取 deployments.extensions

请协助我解决问题

4

1 回答 1

3

这是一个 RBAC 限制,您可以在Kubernetes - Using RBAC Authorization文档上阅读。

您想创建自己的ServiceAccount然后Role使用RoleBinding.

服务帐户示例

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"]

角色绑定示例

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

网上有例子,你可以找到。

于 2018-07-05T18:00:20.873 回答