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命令。 但是当我跑步时我得到了错误,
当我检查Kubernetes集群安装时,kubectl命令正在正确运行。
对于"找不到命令",我该如何解决Kubernetes Helm Tiller初始化问题?
-
您在哪里安装了helm,从哪里运行helm命令?
-
在一个基本虚拟机中安装了头盔。 并尝试在kubernetes集群的主节点中运行helm inti。 我想在计划制作控制节点的单独计算机中使用helm客户端。
您需要在安装了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。
-
目前,我在控制节点计算机上安装了helm客户端。该机器不在kubernetes集群中。我认为头盔客户端需要安装在任何控制机器中,而分till器需要安装在集群内部。但是如果我在安装helm客户端的机器上使用helm init,那么如何在Kubernetes集群中安装分till?我听不懂。能给我个主意吗?谢谢您的回应。Esteban Garcia先生。
-
@Jacob Ive在我的答案中添加了更多信息。希望它为您澄清。
-
是。我知道了感谢您的适当答复。
-
我对此再有疑问。即使安装了helm客户端,我也无法在计算机中找到配置文件.kube / config。在哪里可以找到此配置文件?
-
您需要安装kubectl-kubernetes.io/docs/tasks/tools/install-kubectl
-
那么我可以像本地计算机/基本vm这样在集群外部配置kubectl吗?
-
kubectl是kubernetes客户端,您可以在任何要与集群进行交互的地方使用它。
在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"(如果未选中)。