我已尝试运行此YAML罚款,但出现以下问题
已配置1个主2
节点,我运行了kubectl,使节点输出看起来很好
kubectl apply -f https://k8s.io/examples/application/deployment.yaml
然后我已经在本地下载了文件并尝试过,但是再次出现相同的错误
Error
来自服务器(禁止):
deployments.extensions“ nginx-deployment”为 禁止:用户“ system:node:master”无法在 命名空间“默认” root @ master:〜#
请协助我解决问题
答案 0 :(得分:0)
这是RBAC限制,您可以在Kubernetes - Using RBAC Authorization文档中阅读该限制。
您要先创建自己的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"]
角色绑定示例
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
您可以在线找到一些示例。