【问题标题】:deployments.extensions is forbidden error when running `helm init` command on Ubuntu 16.04在 Ubuntu 16.04 上运行“helm init”命令时,deployments.extensions 被禁止错误
【发布时间】:2019-09-08 18:37:51
【问题描述】:

我正在尝试为我的 Kubernetes 集群安装 Kubernetes Helm 和 Tiller。目前我通过以下命令安装了 Helm 客户端,

sudo snap install helm --classic

现在我正在尝试运行“helm init”命令在我的集群中安装 Tiller。我在 .kube/config 路径中有我的配置文件。我正在运行 helm init 命令。但是当我运行它时,我收到以下错误:

更新错误

$HELM_HOME has been configured at /home/docker/.helm.
Error: error installing: deployments.extensions is forbidden: User "system:node:mildevkub020" cannot create resource "deployments" in API group "extensions" in the namespace "kube-system"

我需要更改 kubelet.conf 中的任何集群信息吗?我该如何解决这个错误?

【问题讨论】:

  • 您运行的是哪个版本的 kubernetes?您在本地机器或 kubernetes 主机中使用 helm cli?
  • 我在本地机器上使用 helm cli 13.1 版
  • 哪个版本的 kubernetes?你会用 kubectl 吗?
  • 当我使用 kubectl 时也会遇到同样的错误。我用 kubectl version 命令检查了
  • 好的。文件~/.kube/kubelet.conf 很可能是您的kubectl 配置,该文件应该是~/.kube/config

标签: kubernetes kubernetes-helm


【解决方案1】:

您的 Tiller Pod 需要使用 cluter-admin ClusterRole 作为特权服务帐户运行。 请检查here我对与您类似问题的回答。

【讨论】:

    【解决方案2】:

    您收到此错误是因为您尚未使用服务帐户初始化 helm。

    在 rbac-config.yaml 中:

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: tiller
      namespace: kube-system
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: tiller
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: cluster-admin
    subjects:
      - kind: ServiceAccount
        name: tiller
        namespace: kube-system
    

    第一步:kubectl apply -f rbac-config.yaml

    第二步:helm init --service-account tiller --history-max 200

    第 3 步:使用 heml ls 测试设置。运行此命令不会有任何输出,这是预期的。现在,你可以运行helm create myfirstchart

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-14
      • 1970-01-01
      • 2017-07-15
      • 1970-01-01
      • 1970-01-01
      • 2021-07-09
      • 2018-11-03
      • 2020-05-27
      相关资源
      最近更新 更多