I am trying to do a helm upgrade dry run.
1.
helm upgrade -i $xyz-abc-ms xyz-abc-exe/target/classes/helm/xyz-abc \
--set jobs.helmServiceAccount=jenkins,csbEnabledLocal=false,jacoco.enabled=true,containerinfo.imageTag=${DOCKER_BUILD_NUMBER},pki.sslenabled=false,pki.kafkaEnabled=true,runtimeContainerInfo.image=fnd-base-images/ocp-os-java-msnext,couchbase.serviceName=oc-cb-02 \
--tiller-namespace=$(oc project -q) \
--namespace $(oc project -q) \
--debug \
--dry-run
But I get the error below:
Error: unknown flag: --tiller-namespace helm.go:81: [debug] unknown flag: --tiller-namespace
2.
I think tiller-namespace is removed from the Helm 3. So I tried the below:
helm upgrade -i $xyz-abc-ms xyz-abc-exe/target/classes/helm/xyz-abc \
--set jobs.helmServiceAccount=jenkins,csbEnabledLocal=false,jacoco.enabled=true,containerinfo.imageTag=${DOCKER_BUILD_NUMBER},pki.sslenabled=false,pki.kafkaEnabled=true,runtimeContainerInfo.image=fnd-base-images/ocp-os-java-msnext,couchbase.serviceName=oc-cb-02 \
--namespace $(oc project -q) \
--debug \
--dry-run
But now I am getting below error:
Error: unknown shorthand flag: 'q' in -q) helm.go:81: [debug] unknown shorthand flag: 'q' in -q)
Can someone help me with the correct command here?
Wihtout -q when I try as below:
helm upgrade -i $xyz-abc-ms xyz-abc-exe/target/classes/helm/xyz-abc \
--set jobs.helmServiceAccount=jenkins,csbEnabledLocal=false,jacoco.enabled=true,containerinfo.imageTag=${DOCKER_BUILD_NUMBER},pki.sslenabled=false,pki.kafkaEnabled=true,runtimeContainerInfo.image=fnd-base-images/ocp-os-java-msnext,couchbase.serviceName=oc-cb-02 ) \
--namespace $(oc project) \
--debug \
--dry-run
It fails with below Error:
Error: "helm upgrade" requires 2 arguments
Usage: helm upgrade [RELEASE] [CHART] [flags]
helm.go:81: [debug] "helm upgrade" requires 2 arguments
What's the proper command for this?
Yeah tiller is not even used by Helm 3.
This article talks about why it was needed in Helm 2 and why they eventually removed it but if you want a very short summary, here it is:
Helm takes your yaml and template files and has to add the resulting objects to Kubernetes right? Tiller does that job but in order to be able to do that, it would need to have maximum permission. In Helm 3, they drop tiller and rely on the authorization that comes with Kubernetes.
Now let's go back to your problem. You should drop your tiller-namespace flag as you have already done. With regards to the q flag, you don't even use it with the helm upgrade command, seems like it's the oc project -q is the part that's failing?
I was able to do with this command:
helm upgrade -i xyz-abc xyz-abc-exe/target/classes/helm/xyz-abc --debug --dry-run
Related
I am trying to download a release of the aws-efs-csi-driver, but I'm getting the following error
Error: Kubernetes cluster unreachable: Get "http://localhost:8080/version": dial tcp 127.0.0.1:8080: connect: connection refused
I tried export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
I tried kubectl config view --raw >~/.kube/config
Both resulted in the same error as when they were not added. I'm new to helm and EKS. Looking for any suggestions, thanks!
helm repo add aws-efs-csi-driver https://kubernetes-sigs.github.io/aws-efs-csi-driver/
helm repo update --kubeconfig ./cluster_config
kubectl config view --raw >~/.kube/config
helm upgrade -i aws-efs-csi-driver aws-efs-csi-driver/aws-efs-csi-driver \
--namespace kube-system \
--set image.repository=602401143452.dkr.ecr.$1.amazonaws.com/eks/aws-efs-csi-driver \
--set controller.serviceAccount.create=false \
--set controller.serviceAccount.name=efs-csi-controller-sa ```
You can simply use the --kube-config parameter in your command and point it to the existing kubeconfig file that you've created in step 3 at ~/.kube/config. Like
helm upgrade -i aws-efs-csi-driver aws-efs-csi-driver/aws-efs-csi-driver \
--namespace kube-system \
--set image.repository=602401143452.dkr.ecr.$1.amazonaws.com/eks/aws-efs-csi-driver \
--set controller.serviceAccount.create=false \
--set controller.serviceAccount.name=efs-csi-controller-sa
--kubeconfig ~/.kube/config
Following the install instructions I can not install "ingress-merge".
I first tried :
helm install --namespace kube-system --name ingress-merge ./helm
That gave me the error - "Error: unknown flag: --name"
I searched that issue up and found out that the --name flag is no longer needed.
I next tried the following:
helm install ingress-merge --namespace kube-system ./helm
That gave me the error - Error: path "./helm" not found
I then took out the ./helm:
helm install ingress-merge --namespace kube-system
That gave me the error - Error: must either provide a name or specify --generate-name
What is the correct command structure?
Here is the link with the install instructions:
https://github.com/jakubkulhan/ingress-merge
First clone the git repo
git clone https://github.com/jakubkulhan/ingress-merge.git
Then use below command with helm 3. Notice --name is not needed with helm 3
helm install --namespace kube-system ingress-merge ingress-merge/helm
or below command with helm 2
helm install --namespace kube-system --name ingress-merge ingress-merge/helm
Trying to install Kong using the Helm chart using the following command using this post
>helm install --version 0.26.1 --name kong stable/kong --namespace kong --set ingressController.enabled=true --set image.tag=1.4 --set admin.useTLS=false
But getting the following error
Error: unknown flag: --name
Solution I tried
Removed -- name then I am getting the following error
Error: failed to download "stable/kong" (hint: running helm repo update may help)
Can anyone please help me with this?
In helm version 3 --name flag is removed. You can give a name without --name flag as shown below
helm repo add kong https://charts.konghq.com
helm repo update
helm install --version 1.7.0 kong kong/kong --namespace kong --set ingressController.enabled=true --set image.tag=1.4 --set admin.useTLS=false
Find more details here
I want to perform a helm upgrade on a GKE k8s cluster.
I am executing the following command
helm upgrade --force --tls --install --set master.installPlugins=[u'kubernetes:1.21.2', u'workflow-job:2.36', u'workflow-aggregator:2.6', u'credentials-binding:1.20', u'git:4.0.0'] --set master.tag=lts --set agent.tag=3.27-1 -f /org_files/tmp/kerkyra-jenkins/jenkins-values.yaml --namespace jenkins my-jenkins stable/jenkins
However it fails with the following name:
Error: This command needs 2 arguments: release name, chart path
I do pass at the end of the command however both
release name: my-jenkins
chart path: stable/jenkins
Why is it failing?
Assuming you're using helm3 it requires the 2 arguments before the flags.
Error: "helm upgrade" requires 2 arguments
Usage: helm upgrade [RELEASE] [CHART] [flags]
So this should then work:
helm upgrade my-jenkins stable/jenkins --force --tls --install --set master.installPlugins=[u'kubernetes:1.21.2', u'workflow-job:2.36', u'workflow-aggregator:2.6', u'credentials-binding:1.20', u'git:4.0.0'] --set master.tag=lts --set agent.tag=3.27-1 -f /org_files/tmp/kerkyra-jenkins/jenkins-values.yaml --namespace jenkins
Update: Should be the same for helm 2
When running helm upgrade --install --namespace $PROJECT_NAMESPACE --values values.yaml --name $SOME_NAME some/chart.
I get Error: unknown flag: --name.
Is there no way to set the name of a chart you are targeting with upgrade? Is this only possible for install?
The solution was that no --name was needed.
The syntax for a Helm Upgrade is "helm upgrade [RELEASE] [CHART]", so the "RELEASE" is the same as what would be the --name in a Helm Install.