在kubernetes上部署失败:kubectl应用失败

时间:2018-07-05 14:17:01

标签: kubernetes kubectl pod kubeadm kubelet

我已尝试运行此YAML罚款,但出现以下问题 已配置1个主2节点,我运行了kubectl,使节点输出看起来很好

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

然后我已经在本地下载了文件并尝试过,但是再次出现相同的错误

Error来自服务器(禁止):

  

deployments.extensions“ nginx-deployment”为   禁止:用户“ system:node:master”无法在     命名空间“默认”     root @ master:〜#

请协助我解决问题

1 个答案:

答案 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

您可以在线找到一些示例。

相关问题