Openshift 舵手:找不到舵柄
我收到以下错误消息:Openshift 舵手:找不到舵柄,openshift,kubernetes-helm,Openshift,Kubernetes Helm,我收到以下错误消息: ➜ ~ helm version Error: could not find tiller 我创建了tiller项目: ➜ ~ oc new-project tiller Now using project "tiller" on server "https://192.168.99.100:8443". 然后,我将tiller创建到tiller名称空间中: ➜ ~ helm init --tiller-namespace tiller $HELM_HOME ha
➜ ~ helm version
Error: could not find tiller
我创建了tiller
项目:
➜ ~ oc new-project tiller
Now using project "tiller" on server "https://192.168.99.100:8443".
然后,我将tiller
创建到tiller
名称空间中:
➜ ~ helm init --tiller-namespace tiller
$HELM_HOME has been configured at /home/jcabre/.helm.
Tiller (the Helm server-side component) has been installed into your Kubernetes Cluster.
Please note: by default, Tiller is deployed with an insecure 'allow unauthenticated users' policy.
To prevent this, run `helm init` with the --tiller-tls-verify flag.
For more information on securing your installation see: https://docs.helm.sh/using_helm/#securing-your-helm-installation
Happy Helming!
所以,在那之后,我一直在等待tiller
pod准备就绪
➜ ~ oc get pod -w
NAME READY STATUS RESTARTS AGE
tiller-deploy-66cccbf9cd-84swm 0/1 Running 0 18s
NAME READY STATUS RESTARTS AGE
tiller-deploy-66cccbf9cd-84swm 1/1 Running 0 24s
^C%
有什么想法吗?您将tiller安装到了一个非默认名称空间中,因此您必须告诉helm在哪里查找
helm --tiller-namespace tiller version
您尚未配置头盔,请使用以下命令:
helm init
这将在您的主目录中创建带有存储库
、插件等的.helm
背景:
helm
随客户端和服务器一起提供,如果您有不同的部署环境,则可能是您的helm服务器(称为tiller
)不同,在这种情况下,有两种方法指向tiller
- 设置环境变量
TILLER\u名称空间
——舵柄名称空间
舵柄的字符串名称空间(默认“kube系统”)
有关更多详细信息,请查看helm
文件。我遇到了相同的问题,请尝试使用以下命令重新安装helm:
适用于linux:(通过Snap)
sudo snap-install-helm——经典版
对于Linux(来自二进制源):
下载您想要的版本
解包(tar-zxvf-helm-v2.0.0-linux-amd64.tgz)
在解包目录中找到helm二进制文件,并将其移动到所需的目标
(mv linux-amd64/helm/usr/local/bin/helm)
适用于MacOS(通过brew):
brew安装kubernetes helm
用于windows(通过巧克力):
choco安装kubernetes头盔
最后,初始化舵
:
helm init
尝试删除集群分蘖器
kubectl get all --all-namespaces | grep tiller
kubectl delete deployment tiller-deploy -n kube-system
kubectl delete service tiller-deploy -n kube-system
kubectl get all --all-namespaces | grep tiller
再次初始化:
helm init
现在添加服务帐户:
kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
这解决了我的问题 首先,您需要为出纳员创建服务帐户,以便在helm中使用:
kubectl -n kube-system create serviceaccount tiller
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
helm init --service-account tiller
要验证Tiller是否正在运行,请执行以下操作:
kubectl get pods --namespace kube-system
现在,您可以升级到Helm的最新版本或任何>3.0.0的版本
您不需要这样做
helm init
不再
当您开始使用helm时,Tiller和client目录将自动初始化。如前所述,《头盔3》发行版不再需要舵柄。尝试将头盔版本升级到3。它为您的群集提供了更高的安全性。因为tiller在Kubernetes群集中运行,具有完全的管理权限,如果有人未经授权访问群集,这是一种风险。
如果迁移到helm3,则此后不需要执行HelmInit,因为HelmVersion3是一个无舵柄的体系结构 试试看
cp /usr/local/bin/tiller ~/.helm/
并检查头盔是否部署在服务器上
helm version
@如果你认为这回答了你的问题,请接受它。否则,请发布进一步的查询。在上一个kubectl补丁
命令中,它给了我来自服务器的错误错误(未找到):deployments.apps“tiller deploy”未找到版本3.0中的
不再需要头盔初始化,且舵柄已关闭gone@theduck第一个命令kubectl get all--all namespace | grep tiller给出以下输出:tiller service/tiller deploy clusterp10.104.79.35 44134/TCP 3h58m tiller deployment.apps/tiller-deploy 0/1 00 3h58m但是,当我尝试删除部署/服务时,找不到它。kubectl从服务器删除部署tiller deploy-n kube系统错误(未找到):deployments.extensions“tiller deploy”未找到helm init--service account tiller
返回错误:未知标志:-service account
admin1@POC-k8s主机:~/poc cog/metrics服务器$kubectl get pods--命名空间kube系统名称就绪状态重新启动运行0的老化tiller-deploy-86f55698f8-xf5d5 1/1 29sadmin1@POC-k8s主机:~/poc cog/metrics服务器$helm ls错误:Get:拨号tcp 10.96.0.1:443:i/o超时admin1@POC-k8s主机:~/poc cog/metrics服务器$helm init$helm\U HOME已在/HOME/admin1/.helm中配置。错误:安装错误:服务器找不到请求的资源这是因为舵柄的版本。检查这个是否有效。因为我通过terraform安装了tiller,所以我自动添加了一个名称空间。当心!