【问题标题】:deploy fail on kubernetes: kubectl apply fail在 Kubernetes 上部署失败:kubectl apply fail
【发布时间】:2018-12-14 01:44:40
【问题描述】:

我已尝试正常运行此 YAML,但遇到以下问题 1 个主 2 节点已配置,我运行 kubectl get nodes 输出看起来不错

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

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

Error 来自服务器(禁止):

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

请帮我解决问题

【问题讨论】:

标签: kubernetes kubectl kubeadm kubelet


【解决方案1】:

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

你想创建自己的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

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

【讨论】:

    猜你喜欢
    • 2020-09-15
    • 1970-01-01
    • 2020-02-07
    • 2020-01-10
    • 1970-01-01
    • 1970-01-01
    • 2022-12-17
    • 1970-01-01
    • 2020-08-03
    相关资源
    最近更新 更多