关于kubernetes:使用`helm init`初始化分er时找不到命令错误

Command not found error when initializing the tiller using `helm init`

我正在尝试使用带有Kubernetes Helm图表的Kubernetes集群来定义Kubernetes服务和部署。 我使用以下命令在一台计算机上安装了Helm客户端,

1
sudo snap install helm --classic

我访问了Kubernetes集群主节点并尝试运行helm init命令。 但是当我跑步时我得到了错误,

1
helm: command not found

当我检查Kubernetes集群安装时,kubectl命令正在正确运行。

对于"找不到命令",我该如何解决Kubernetes Helm Tiller初始化问题?


您需要在安装了helm客户端的同一台计算机上运行helm init。这会将分till安装在您在kubeconfig上配置的kubernetes集群中。

Helm由两部分组成:客户端(称为helm)和服务器(称为tiller)。

tiller在大多数情况下在kubernetes集群上运行并管理发行版(您部署的charts)。

helm可在本地计算机,CI / CD或所需位置上运行。

Helm还用于将tiller部署到您的K8S集群中。执行helm init时会发生这种情况,默认情况下,它将在kube-system名称空间上创建一个名为tiller-deploy的kubernetes部署。 helm客户端将使用此tiller部署作为服务器。

Helm通过检查kubeconfig(~/.kube/config)文件自动发现tiller的安装位置,默认情况下它将在该位置使用所选上下文。

您始终使用本地计算机或CI / CD中的helm cli,而不使用Kubernetes主设备中的helm cli。


在Kubernetes 1.6中,默认情况下启用了RBAC,这使头盔更难于无耻地运行分run,因此基于社区分er的决定从Helm 3开始删除了分till。结帐官方博客了解更多详情


  • 检查头盔是否已安装sudo snap install helm
  • 如果已安装,则应具有以下内容:

    1
    snap"helm" is already installed, see 'snap help refresh'
  • 如果已安装头盔,则在文件?/ .profile的末尾添加以下内容:
  • 1
    2
    # Addition of snap packages to PATH
    PATH="$PATH:/snap/bin/"
  • 注销/登录以将更改更新为~/.profile
  • 通过测试helm命令,检查其是否有效:helm version
  • 如果仍然遇到Command not found消息,请转至"首选项">"配置文件">"命令",然后检查" Run command as a login shell"(如果未选中)。