kubernetes helm error“错误:此命令需要2个参数:版本名称,图表路径”

hwamh0ep  于 2023-03-22  发布在  Kubernetes
关注(0)|答案(7)|浏览(246)

升级kamus安装时,我在kubernetes集群中遇到错误

$ helm --debug upgrade --install soluto/kamus

[debug] Created tunnel using local port: '64252'
[debug] SERVER: "127.0.0.1:64252"
Error: This command needs 2 arguments: release name, chart path

使用Helm版本2.13.1
此错误也是由于未正确使用--set或未按预期使用而导致的。
举个例子,当升级我的ingress-nginx/ingress-nginx安装时:

--set "controller.service.annotations.service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/healthz,"controller.service.annotations.service\.beta\.kubernetes\.io/azure-dns-label-name"=$DNS_LABEL

这导致了与上面列出的相同的错误。
当我删除了报价,它工作的预期。

--set controller.service.annotations.service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path=/healthz,controller.service.annotations.service\.beta\.kubernetes\.io/azure-dns-label-name=$DNS_LABEL

这种情况下的错误与没有正确设置发布名称和/或图表无关。下面是关于--set问题和解决方案的更多解释。

3b6akqbq

3b6akqbq1#

Helm upgrade命令需要版本名称和图表路径。在您的情况下,您错过了版本名称。
Helm 升级[发布] [图表] [标志]
helm --debug upgrade --install kamus soluto/kamus应该可以工作。

ipakzgxi

ipakzgxi2#

我在执行--set key value而不是--set key=value时遇到了这个错误。原因和错误消息一样愚蠢。

kkih6yb8

kkih6yb83#

Helm升级需要一个版本名和它引用的图表。从文档中:
Usage: helm upgrade [RELEASE] [CHART] [flags]
根据--install标志的文档,您引用的命令似乎应该可以工作,但这可能是由于Helm版本不同所致。
helm install soluto/kamus为我工作。

bkhjykvo

bkhjykvo4#

这个错误我也犯过很多次。

您首先想到的应该是命令中的错别字

例如:
1.如果你用-f <path-to-values.yaml>传递values.yaml的位置,你应该确保它的顺序与传递的标志相关。
1.如果你要传递带有--set标志的内联值,你应该确保变量赋值中没有空格,就像下面这样:--set someVar= $SomeValue.
运行helm help upgradehelm help install以获取有关每个命令的详细信息。

4jb9z9bj

4jb9z9bj5#

可能这些详细的信息将有助于新的人!

1.我的helm文件在这里(我在values.yaml中进行了更改以升级):

controlplane $ pwd
/root/existing2helm
controlplane $ ls
Chart.yaml  charts  templates  values.yaml

2.当前版本列表

controlplane $ helm list 
NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                   APP VERSION
newdeploybyhelm default         2               2021-02-01 00:39:11.596751325 +0000 UTC deployed        existing2helm-0.1.0     1.16.0

3.最后执行升级命令

controlplane $ helm upgrade newdeploybyhelm /root/existing2helm
Release "newdeploybyhelm" has been upgraded. Happy Helming!
NAME: newdeploybyhelm
LAST DEPLOYED: Mon Feb  1 00:48:30 2021
NAMESPACE: default
STATUS: deployed
pxiryf3j

pxiryf3j6#

我得到这个错误时,我添加第一行参数

--install --create-namespace --wait --atomic

您可能需要检查重复的参数,或者如果您使用的是参数生成器,请重复--install命令。

siotufzp

siotufzp7#

我也有类似的错误。原来问题是我一直作为参数传递的值。所以举这个例子:

helm upgrade my-release ./mychart --set mypropert.name=${MY_PROP}

如果${MY_PROP}的值有一些空格或破折号-或其他一些奇怪的字符,你会得到误导性的错误。所以确保你用单引号括起你的参数:

helm upgrade my-release ./mychart --set 'mypropert.name=${MY_PROP}'

相关问题