我正在尝试使用带有Kubernetes Helm图表的Kubernetes集群来定义Kubernetes服务和部署。我使用以下命令在一台计算机上安装了Helm客户端,
sudo snap install helm --classic
然后我访问了Kubernetes集群主节点并尝试运行helm init
命令。但是当我运行时,我得到了错误,
helm: command not found
当我检查Kubernetes集群安装时,kubectl命令正在正确运行。
对于“找不到命令”,我该如何解决Kubernetes Helm Tiller初始化问题?
答案 0 :(得分:5)
您需要在安装helm客户端的同一台计算机上运行helm init
。这会将分till安装在您在kubeconfig上配置的kubernetes集群中。
Helm有两个部分,即客户端(称为helm
)和服务器(称为tiller
)。
Tiller
在大多数情况下在kubernetes集群上运行并管理发行版(您部署的charts
)。
Helm
在本地计算机,CI / CD或您想要的位置上运行。
Helm还用于将tiller
部署到您的K8S集群中。执行helm init
时会发生这种情况,默认情况下,它将在tiller-deploy
名称空间上创建一个名为kube-system
的kubernetes部署。 tiller
客户端将使用此helm
部署作为服务器。
Helm通过检查kubeconfig(tiller
)文件来自动发现~/.kube/config
的安装位置,默认情况下它将在其中使用所选上下文。
您始终在本地计算机或CI / CD中使用helm
cli,而从Kubernetes主设备中不使用它。
答案 1 :(得分:0)
sudo snap install helm
。 如果已安装,则应具有以下内容:
snap "helm" is already installed, see 'snap help refresh'
# Addition of snap packages to PATH
PATH="$PATH:/snap/bin/"
~/.profile
helm
helm version
命令是否有效
如果仍然遇到Command not found
消息,请转到“偏好设置”>“配置文件”>“命令”,然后检查Run command as a login shell
(如果未选中)。
答案 2 :(得分:0)
在Kubernetes 1.6中,默认情况下启用了RBAC,这使头盔更难于无耻地运行分till,因此根据社区分er的决定从Helm 3开始删除了分till。结帐more details
的官方博客