Helm: 错误:找不到可用的发行名称

创建于 2017-10-23  ·  27评论  ·  资料来源: helm/helm

嗨伙计
我只是不知道出了什么问题。

第一次尝试运行后:

$ helm install stable/mongodb-replicaset
Error: no available release name found

我“禁用”了RBAC

kubectl create clusterrolebinding permissive-binding --clusterrole=cluster-admin --user=admin --user=kubelet --group=system:serviceaccounts 

但是什么都没有改变:

$ helm install stable/mongodb-replicaset
Error: no available release name found

Kubernetes

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.0", GitCommit:"6e937839ac04a38cac63e6a7a306c5d035fe7b0a", GitTreeState:"clean", BuildDate:"2017-09-28T22:57:57Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.1", GitCommit:"f38e43b221d08850172a9a4ea785a86a3ffa3b3a", GitTreeState:"clean", BuildDate:"2017-10-11T23:16:41Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

$ helm version
Client: &version.Version{SemVer:"v2.6.2", GitCommit:"be3ae4ea91b2960be98c07e8f73754e67e87963c", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.6.2", GitCommit:"be3ae4ea91b2960be98c07e8f73754e67e87963c", GitTreeState:"clean"}

头盔回购

$ helm search | grep mongo
stable/mongodb                  0.4.17  NoSQL document-oriented database that stores JS...
stable/mongodb-replicaset       2.1.2   NoSQL document-oriented database that stores JS...

分er荚

$ kubectl get pods --all-namespaces | grep tiller
kube-system   tiller-deploy-5cd755f8f-c8nnl               1/1       Running   0          22m
````

tiller log
```bash
[tiller] 2017/10/23 19:12:50 preparing install for
[storage] 2017/10/23 19:12:50 getting release "busted-shark.v1"
[storage/driver] 2017/10/23 19:13:20 get: failed to get "busted-shark.v1": Get https://10.96.0.1:443/api/v1/namespaces/kube-system/configmaps/busted-shark.v1: dial tcp 10.96.0.1:443: i/o timeout
[tiller] 2017/10/23 19:13:20 info: generated name busted-shark is taken. Searching again.
[storage] 2017/10/23 19:13:20 getting release "lucky-rabbit.v1"
[storage/driver] 2017/10/23 19:13:50 get: failed to get "lucky-rabbit.v1": Get https://10.96.0.1:443/api/v1/namespaces/kube-system/configmaps/lucky-rabbit.v1: dial tcp 10.96.0.1:443: i/o timeout
[tiller] 2017/10/23 19:13:50 info: generated name lucky-rabbit is taken. Searching again.
[storage] 2017/10/23 19:13:50 getting release "exiled-lynx.v1"
[storage/driver] 2017/10/23 19:14:20 get: failed to get "exiled-lynx.v1": Get https://10.96.0.1:443/api/v1/namespaces/kube-system/configmaps/exiled-lynx.v1: dial tcp 10.96.0.1:443: i/o timeout
[tiller] 2017/10/23 19:14:20 info: generated name exiled-lynx is taken. Searching again.
[storage] 2017/10/23 19:14:20 getting release "eloping-echidna.v1"
[storage/driver] 2017/10/23 19:14:50 get: failed to get "eloping-echidna.v1": Get https://10.96.0.1:443/api/v1/namespaces/kube-system/configmaps/eloping-echidna.v1: dial tcp 10.96.0.1:443: i/o timeout
[tiller] 2017/10/23 19:14:50 info: generated name eloping-echidna is taken. Searching again.
[storage] 2017/10/23 19:14:50 getting release "soft-salamander.v1"
[storage/driver] 2017/10/23 19:15:20 get: failed to get "soft-salamander.v1": Get https://10.96.0.1:443/api/v1/namespaces/kube-system/configmaps/soft-salamander.v1: dial tcp 10.96.0.1:443: i/o timeout
[tiller] 2017/10/23 19:15:20 info: generated name soft-salamander is taken. Searching again.
[tiller] 2017/10/23 19:15:20 warning: No available release names found after 5 tries
[tiller] 2017/10/23 19:15:20 failed install prepare step: no available release name found
questiosupport

最有用的评论

根据https://github.com/kubernetes/helm/issues/2224#issuecomment -356344286,以下命令为我解决了该错误:

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"}}}}'

所有27条评论

对Kubernetes 1.8的支持只是最近才在helm v2.7.0中添加的,因此我不希望Helm v2.6.2与1.8群集一起使用。 您可以尝试使用v2.7.0-rc1版本,看看是否可行吗? 本地安装v2.7.0-rc1二进制文件并运行helm reset && helm init应该可以解决问题。 谢谢! :)

@bacongobbler感谢您的提示,但没有更改该匹配项

helm version
Client: &version.Version{SemVer:"v2.7.0", GitCommit:"08c1144f5eb3e3b636d9775617287cc26e53dba4", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.7.0", GitCommit:"08c1144f5eb3e3b636d9775617287cc26e53dba4", GitTreeState:"clean"}

当我再试一次:

$ helm install stable/mongodb-replicaset
Error: no available release name found

带有以下日志:

[tiller] 2017/10/26 18:11:22 preparing install for
[storage] 2017/10/26 18:11:22 getting release "listless-toucan.v1"
[storage/driver] 2017/10/26 18:11:36 get: failed to get "zealous-panther.v1": Get https://10.96.0.1:443/api/v1/namespaces/kube-system/configmaps/zealous-panther.v1: dial tcp 10.96.0.1:443: i/o timeout
[tiller] 2017/10/26 18:11:36 info: generated name zealous-panther is taken. Searching again.
[storage] 2017/10/26 18:11:36 getting release "terrifying-serval.v1"
[storage/driver] 2017/10/26 18:11:52 get: failed to get "listless-toucan.v1": Get https://10.96.0.1:443/api/v1/namespaces/kube-system/configmaps/listless-toucan.v1: dial tcp 10.96.0.1:443: i/o timeout
[tiller] 2017/10/26 18:11:52 info: generated name listless-toucan is taken. Searching again.
[storage] 2017/10/26 18:11:52 getting release "jittery-rat.v1"
[storage/driver] 2017/10/26 18:12:06 get: failed to get "terrifying-serval.v1": Get https://10.96.0.1:443/api/v1/namespaces/kube-system/configmaps/terrifying-serval.v1: dial tcp 10.96.0.1:443: i/o timeout
[tiller] 2017/10/26 18:12:06 info: generated name terrifying-serval is taken. Searching again.
[storage] 2017/10/26 18:12:06 getting release "wayfaring-dachshund.v1"
[storage/driver] 2017/10/26 18:12:22 get: failed to get "jittery-rat.v1": Get https://10.96.0.1:443/api/v1/namespaces/kube-system/configmaps/jittery-rat.v1: dial tcp 10.96.0.1:443: i/o timeout
[tiller] 2017/10/26 18:12:22 info: generated name jittery-rat is taken. Searching again.
[storage] 2017/10/26 18:12:22 getting release "lucky-arachnid.v1"
[storage/driver] 2017/10/26 18:12:36 get: failed to get "wayfaring-dachshund.v1": Get https://10.96.0.1:443/api/v1/namespaces/kube-system/configmaps/wayfaring-dachshund.v1: dial tcp 10.96.0.1:443: i/o timeout
[tiller] 2017/10/26 18:12:36 info: generated name wayfaring-dachshund is taken. Searching again.
[storage] 2017/10/26 18:12:36 getting release "gangly-lambkin.v1"
[storage/driver] 2017/10/26 18:12:52 get: failed to get "lucky-arachnid.v1": Get https://10.96.0.1:443/api/v1/namespaces/kube-system/configmaps/lucky-arachnid.v1: dial tcp 10.96.0.1:443: i/o timeout
[tiller] 2017/10/26 18:12:52 info: generated name lucky-arachnid is taken. Searching again.
[storage] 2017/10/26 18:12:52 getting release "boiling-kudu.v1"
[storage/driver] 2017/10/26 18:13:06 get: failed to get "gangly-lambkin.v1": Get https://10.96.0.1:443/api/v1/namespaces/kube-system/configmaps/gangly-lambkin.v1: dial tcp 10.96.0.1:443: i/o timeout
[tiller] 2017/10/26 18:13:06 info: generated name gangly-lambkin is taken. Searching again.
[storage] 2017/10/26 18:13:06 getting release "quoting-sloth.v1"
[storage/driver] 2017/10/26 18:13:22 get: failed to get "boiling-kudu.v1": Get https://10.96.0.1:443/api/v1/namespaces/kube-system/configmaps/boiling-kudu.v1: dial tcp 10.96.0.1:443: i/o timeout
[tiller] 2017/10/26 18:13:22 info: generated name boiling-kudu is taken. Searching again.
[storage] 2017/10/26 18:13:22 getting release "nordic-rabbit.v1"
[storage/driver] 2017/10/26 18:13:36 get: failed to get "quoting-sloth.v1": Get https://10.96.0.1:443/api/v1/namespaces/kube-system/configmaps/quoting-sloth.v1: dial tcp 10.96.0.1:443: i/o timeout
[tiller] 2017/10/26 18:13:36 info: generated name quoting-sloth is taken. Searching again.
[tiller] 2017/10/26 18:13:36 warning: No available release names found after 5 tries
[tiller] 2017/10/26 18:13:36 failed install prepare step: no available release name found
[storage/driver] 2017/10/26 18:13:52 get: failed to get "nordic-rabbit.v1": Get https://10.96.0.1:443/api/v1/namespaces/kube-system/configmaps/nordic-rabbit.v1: dial tcp 10.96.0.1:443: i/o timeout
[tiller] 2017/10/26 18:13:52 info: generated name nordic-rabbit is taken. Searching again.
[tiller] 2017/10/26 18:13:52 warning: No available release names found after 5 tries
[tiller] 2017/10/26 18:13:52 failed install prepare step: no available release name found

好的...
我虽然通过印花布替换了法兰绒,但它开始运行

根据https://github.com/kubernetes/helm/issues/2224#issuecomment -356344286,以下命令为我解决了该错误:

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"}}}}'

经过许多方法,最后,这对我有用,谢谢!

kubectl创建serviceaccount --namespace kube-system分er
kubectl创建clusterrolebinding舵集群规则--clusterrole =集群管理员--serviceaccount = kube-系统:分蘖
kubectl补丁程序部署--namespace kube-system tiller-deploy -p'{“ spec”:{“ template”:{“ spec”:{“ serviceAccount”:“ tiller”}}}}''

以上3行也为我解决了这一问题。
kubectl客户端:1.9.6
kubectl服务器:1.8.7
掌舵客户:2.8.2
掌舵服务器:2.8.2

出现问题,并且提到的解决方案不适用于:

Kube Client Version: 1.10.1
Kube Server Version: 1.10.1
Helm Client: "v2.9.0"
Helm Server: "v2.9.0"

同样通过在minikue上执行helm list ,我得到了错误
Error: Get http://localhost:8080/api/v1/namespaces/kube-system/configmaps?labelSelector=OWNER%!D(MISSING)TILLER: dial tcp 127.0.0.1:8080: connect: connection refused

@viane尝试helm init --service-account default ; 这是另一张票,但会导致相同的一般错误。

@viane请尝试以下步骤。 (您可能需要kubectl delete分till器服务和部署。)

$ kubectl create serviceaccount --namespace kube-system tiller
$ kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
$ helm init --service-account tiller

这为我解决了。

helm reset && helm init不适用于我,上述RBAC解决方案也不适用。
最后,通过删除Tiller,然后使用https://github.com/kubernetes/helm/issues/3055#issuecomment -385296641中的建议,再次使其工作:

kubectl delete deployment tiller-deploy --namespace kube-system
helm init --upgrade --service-account default

我遇到了同样的问题。 然后我尝试跟随

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"}}}}'


kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
我收到消息“来自服务器的错误(BadRequest):无效字符's,正在寻找对象键字符串的开头”

然后我尝试了以下命令

$ kubectl create serviceaccount --namespace kube-system tiller
$ kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
$ helm init --service-account tiller

我收到消息:
failed: clusterroles.rbac.authorization.k8s.io .... [clusterroles.rbac.authorization.k8s.io "cluster-admin" not found]

请帮我!...
以下是我的信息:
头盔版本

Client: &version.Version{SemVer:"v2.9.0", GitCommit:"f6025bb9ee7daf9fee0026541c90a6f557a3e0bc", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.9.0", GitCommit:"f6025bb9ee7daf9fee0026541c90a6f557a3e0bc", GitTreeState:"clean"}

kubectl版本

Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.0", GitCommit:"925c127ec6b946659ad0fd596fa959be43f0cc05", GitTreeState:"clean", BuildDate:"2017-12-15T21:07:38Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.6", GitCommit:"9f8ebd171479bec0ada837d7ee641dec2f8c6dd1", GitTreeState:"clean", BuildDate:"2018-03-21T15:13:31Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

minikube版本
minikube version: v0.25.0

奇怪的是我在5月9日成功使用Helm安装了stable / nginx-ingress,然后成功删除了Kubernetes(用于练习),然后今天重新安装了Kubernetes,然后再次安装了stable / nginx-ingress ....错误。

非常感谢您的提前支持

@ nguyenhuuloc304我遇到了同样的问题。 我必须制作cluster-admin ClusterRole。

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  annotations:
    rbac.authorization.kubernetes.io/autoupdate: "true"
  creationTimestamp: null
  labels:
    kubernetes.io/bootstrapping: rbac-defaults
  name: cluster-admin
rules:
- apiGroups:
  - '*'
  resources:
  - '*'
  verbs:
  - '*'
- nonResourceURLs:
  - '*'
  verbs:
  - '*'

我认为将其添加到指南中非常重要。 azure上的AKS不提供默认的集群管理员角色,用户必须创建它。
https://github.com/jenkins-x/jx/issues/485#issuecomment -376804810
在ACS上也是如此,我们可以在这里看到: https :

当我尝试掌控redis安装时,这对我有用:
kubectl创建serviceaccount --namespace kube-system分er
kubectl创建clusterrolebinding舵集群规则--clusterrole =集群管理员--serviceaccount = kube-系统:分蘖
舵初始化-服务帐户分till-升级
头盔更新仓库。 #这是难题的最后一块
头盔安装稳定/重新发行-版本3.3.5

同样在这里,
kube客户端:v1.10.4
kube服务器:v1.9.6
舵机客户端/ erver v2.9.1

# helm install stable/prometheus --namespace=monitoring --set rbac.create="true"
Error: no available release name found

# helm search | grep prometheus
coreos/grafana                          0.0.35                                          Grafana instance for kube-prometheus
coreos/kube-prometheus                  0.0.82                                          Manifests, dashboards, and alerting rules for e...
coreos/prometheus                       0.0.43                                          Prometheus instance created by the CoreOS Prome...
coreos/prometheus-operator              0.0.26          0.20.0                          Provides easy monitoring definitions for Kubern...
stable/prometheus                       6.7.2           2.2.1                           Prometheus is a monitoring system and time seri...

只需运行此行即可工作,感谢您的发帖! : kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller

#kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
clusterrolebinding.rbac.authorization.k8s.io "tiller-cluster-rule" created
[root@ip-172-31-90-223 charts]# helm install stable/prometheus --namespace=monitoring --set rbac.create="true"
NAME:   ungaged-sloth
LAST DEPLOYED: Thu Jun 14 23:52:31 2018
NAMESPACE: monitoring
STATUS: DEPLOYED

为什么Error: no available release name found会花这么长时间显示? 老实说,我需要5分钟才能收到错误消息,因此,要使其正常工作,我必须尝试的40,000件事情需要5m * 40,000

对我来说,没有一个解决方案有效。 但是,我重新安装了minikube和分till器,并且我首先执行了以下步骤:

如果您的群集启用了基于角色的访问控制(RBAC),则可能需要先配置服务帐户和规则,然后再继续。

文档中确实提到了这一点,但是由于它出现在本段之后,所以有点令人困惑:

如果您在完全控制的群集上使用Helm,例如minikube或不关心共享的专用网络上的群集,则默认安装(不应用安全配置)是可以的,并且绝对是最简单的。 要安装Helm而没有其他安全步骤,请安装Helm,然后初始化Helm。

以下说明也解决了头盔v2.11.0和kube 1.12.1版本的问题。

$ kubectl创建serviceaccount --namespace kube-system分er器
$ kubectl创建clusterrolebinding耕种机-群集规则-clusterrole =群集管理--serviceaccount = kube- system:tiller
$ helm init-服务帐户分er

sudo iptables -P接受

上面的命令是我摆脱错误所要做的全部工作。.其他解决方案似乎都不对我有用。

问候
兰加

同样的方法,但是要使用terraform。

  resource "kubernetes_service_account" "tiller" {
    metadata {
      name = "tiller"
      namespace = "kube-system"
    }
  }

  resource "kubernetes_cluster_role_binding" "tiller-cluster-rule" {

    metadata {
      name = "tiller-cluster-rule"
    }

    role_ref {
      kind = "ClusterRole"
      name = "cluster-admin"
      api_group = "rbac.authorization.k8s.io"
    }

    subject {
      kind = "ServiceAccount"
      namespace = "kube-system"
      name = "tiller"
      api_group = ""
    }

    provisioner "local-exec" {
      command = "helm init --service-account tiller"
    }
  }

你尝试过这个吗
sudo iptables -P接受
问候
兰加

我徒劳地尝试了所有上述选择,而rangapv建议的选择对我有用。 谢谢你。

以上没有任何工作。

上述解决方案均无效。

$ kubectl版本
客户端版本:version.Info {主要:“ 1”,次要:“ 12”,GitVersion:“ v1.12.4”,GitCommit:“ f49fa022dbe63faafd0da106ef7e05a29721d3f1”,GitTreeState:“ clean”,BuildDate:“ 2018-12-14T07:10: 00Z“,GoVersion:” go1.10.4“,编译器:” gc“,平台:” darwin / amd64“}
服务器版本:version.Info {主要:“ 1”,次要:“ 13”,GitVersion:“ v1.13.2”,GitCommit:“ cff46ab41ff0bb44d8584413b598ad8360ec1def”,GitTreeState:“ clean”,BuildDate:“ 2019-01-10T23:28: 14Z“,GoVersion:” go1.11.4“,编译器:” gc“,平台:” linux / amd64“}

$掌舵版
客户端:&version.Version {SemVer:“ v2.12.3”,GitCommit:“ eecf22f77df5f65c823aacd2dbd30ae6c65f186e”,GitTreeState:“ clean”}
服务器:&version.Version {SemVer:“ v2.12.3”,GitCommit:“ eecf22f77df5f65c823aacd2dbd30ae6c65f186e”,GitTreeState:“ clean”}

$ kubectl创建serviceaccount --namespace kube-system分er器
服务器错误(AlreadyExists):服务帐户“分iller”已经存在
Ravis-MacBook-Pro-2:.kube ravi $ kubectl创建clusterrolebinding分er-cluster-rule --clusterrole = cluster-admin --serviceaccount = kube- system:tiller
来自服务器的错误(已存在):clusterrolebindings.rbac.authorization.k8s.io“ tiller-cluster-rule”已经存在
Ravis-MacBook-Pro-2:.kube ravi $ helm init-服务帐户分册--upgrade
$ HELM_HOME已在/Users/ravi/.helm中配置。

Tiller(Helm服务器端组件)已升级到当前版本。
快乐的头盔!
Ravis-MacBook-Pro-2:.kube ravi $头盔更新存储库
命令“ update”已弃用,请使用“ helm repo update”

请稍等,我们从您的图表存储库中获取最新信息...
...跳过本地图表存储库
...成功地从“稳定”图表存储库获得了更新
更新完成。 Hel快乐头盔!⎈

Ravis-MacBook-Pro-2:.kube ravi $头盔安装稳定/可拆卸
错误:找不到可用的发行名称

嘿,

没有群集角色管理员权限的更安全的解决方案:

  1. 在$ {TILLER_NAMESPACE}中创建以下角色:
TILLER_NAMESPACE='your tiller namespace'
cat <<EOF | kubectl create -n ${TILLER_NAMESPACE} -f -
- kind: Role
  apiVersion: v1
  metadata:
    name: tiller
  rules:
  - apiGroups:
    - ""
    resources:
    - configmaps
    verbs:
    - create
    - get
    - list
    - update
    - delete
  - apiGroups:
    - ""
    resources:
    - namespaces
    verbs:
    - get
EOF
  1. 创建服务帐户,绑定本地角色并进行补丁部署
kubectl create serviceaccount --namespace ${TILLER_NAMESPACE} tiller
kubectl create rolebinding tiller-rule --role=tiller --serviceaccount=${TILLER_NAMESPACE}:tiller
kubectl patch deploy --namespace ${TILLER_NAMESPACE} tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'

这应该可以解决上述错误。

如果要将分er图部署到项目,则需要授予分er编辑权限:

kubectl create rolebinding tiller-edit-rights -n ${YOUR-PROJECT_NAMESPACE} --clusterrole=edit --serviceaccount=${TILLER_NAMESPACE}:tiller

上面的解决方案都不适合我,但是以下链接中的说明起作用了。

https://scriptcrunch.com/helm-error-no-available-release/

上面的解决方案都不适合我,但是以下链接中的说明起作用了。

https://scriptcrunch.com/helm-error-no-available-release/

谢谢队友,它的工作原理

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

adam-sandor picture adam-sandor  ·  3评论

naveensrinivasan picture naveensrinivasan  ·  3评论

vdice picture vdice  ·  3评论

sgoings picture sgoings  ·  3评论

bq1756 picture bq1756  ·  3评论