Error: found in Chart.yaml, but missing in charts/ directory: elasticsearch, kibana, filebeat, logstash - elastic-stack

I would like to deploy elastic-stack into Kubernetes cluster. I git clone the chart, use default settings. But, I got errors.
git clone https://github.com/helm/charts
Create namespace
kubectl create namespace elastic-stack
At $HOME/charts
$ helm install elastic-stack stable/elastic-stack --namespace=elastic-stack
Error: found in Chart.yaml, but missing in charts/ directory: elasticsearch, kibana, filebeat, logstash, fluentd, fluent-bit, fluentd-elasticsearch, nginx-ldapauth-proxy, elasticsearch-curator, elasticsearch-exporter
helm version
version.BuildInfo{Version:"v3.3.0-rc.1"

Have you enabled the stable repo for helm ? you can check this by running helm repo list
If not, please add using helm repo add stable https://charts.helm.sh/stable

Related

How can I create my own helm chart package from the kube-prometheus-stack charts on github

I'm trying to create my own helm chart package for prometheus and its components but I am trying to reuse parts of the kube-prometheus-stack helm chart on github : https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack
I've modified the templates to my liking but when I try to create a package for them which I can then upload it to my repo I get the following :
helm package prometheus-chart/
Error: found in Chart.yaml, but missing in charts/ directory: alertmanager, kube-state-metrics, prometheus-node-exporter, prometheus-pushgateway
How can I get the templates from that repo, and create a deployable package from my local machine which I can then share it?
These components alertmanager, kube-state-metrics, prometheus-node-exporter, prometheus-pushgateway are added as dependencies in the Chart.yaml. So the helm will check whether these dependencies are built or not.
So you need to build the dependencies as well by using this command
$ helm dependency build CHARTNAME
Example:
$ helm dependency build alertmanager
Once the dependencies are built you can update them using update command
$ helm dependency update CHARTNAME
For more detailed information refer to this official documents doc1 doc2
There are dependencies added in the Chart.yml file that are not downloaded, you need to run the command helm dependency build <CHART> in order to fetch them

dask-getway on K8s using helm3: Error: failed to install CRD crds/daskclusters.yaml

I'm following the instructions to setup Dask on K8s Cluster. I'm on MacOS, have K8s running on Docker Desktop, kubectl version 1.22.5 and helm version 3.8.0. After adding the repository, downloading default configuration, installing helm chart using command
RELEASE=my-dask-gateway
NAMESPACE=dask-gateway
VERSION=0.9.0
helm upgrade --install \
--namespace $NAMESPACE \
--version $VERSION \
--values path/to/your/config.yaml \
$RELEASE \
dask/dask-gateway
generates following output/error
"dask" already exists with the same configuration, skipping
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "dmwm-bigdata" chart repository
...Successfully got an update from the "dask" chart repository
Update Complete. ⎈Happy Helming!⎈
Release "my-dask-gateway" does not exist. Installing it now.
Error: failed to install CRD crds/daskclusters.yaml: unable to recognize "": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1beta1"
An older post suggests to either update the manifest or use older version of kubernetes. Does that mean dask is not compatible with recent versions of kubernetes?
Posting community wiki answer for better visibility:
This is fixed in the repo main. You could grab the CRDs from there, or wait for a release, which we are hoping to do soon. Otherwise, yes, you would need an older version of kubernetes for dask-gateway to work.

Helm looks in a different repository then the one I specify with a --repo flag

If I perform the following command it looks in "https://github.com/grafana/" instead of the one I specified - "https://grafana.github.io/helm-charts"
Here is what I run and the results:
helm3 upgrade --install grafana grafana --dry-run --repo https://grafana.github.io/helm-charts --wait
Release "grafana" does not exist. Installing it now.
Error: failed to download "https://github.com/grafana/helm-charts/releases/download/grafana-6.16.14/grafana-6.16.14.tgz"
Why is it looking in "github.com/grafana" instead of where I told it to look with the repo flag - "grafana.github.io"?
My co worker runs the same command and it works.
I list the repositories and grafana is not there so I would assume that would force this to work?
helm3 repo list
NAME URL
stable https://charts.helm.sh/stable
local http://127.0.0.1:8879/charts
eks https://aws.github.io/eks-charts
bitnami https://charts.bitnami.com/bitnami
cluster-autoscaler https://kubernetes.github.io/autoscaler
kube-dns-autoscaler https://kubernetes-sigs.github.io/cluster-proportional-autoscaler
cluster-proportional-autoscaler https://kubernetes-sigs.github.io/cluster-proportional-autoscaler
external-dns https://charts.bitnami.com/bitnami
kube2iam https://jtblin.github.io/kube2iam/
kubernetes-dashboard https://kubernetes.github.io/dashboard/
incubator https://charts.helm.sh/incubator
My coworker has the same repo list output as above.
The below commands will work in my system however I want to know why for me it will not work when I use the --repo flag as in the above example (all of our code has that flag in it and they do not want to change it) :
helm3 repo add grafana https://grafana.github.io/helm-charts
"grafana" has been added to your repositories
kconfig_et helm3 upgrade --install grafana grafana/grafana --dry-run --wait
I executed your Helm command but with --debug flag to get this error:
helm upgrade --install grafana grafana --dry-run --repo https://grafana.github.io/helm-charts --wait --debug
history.go:56: [debug] getting history for release grafana
Release "grafana" does not exist. Installing it now.
install.go:178: [debug] Original chart version: ""
Error: no cached repo found. (try 'helm repo update')
Then I simply executed helm repo update as suggested. I then retried the same helm upgrade command and it successfully installed the chart.
You coworker did not encounter the error because at some point he/she has executed helm repo update at least once. (Mine was a freshly installed Helm)
I solved it - I added "--debug" to the command and saw this -
Error: no cached repo found. (try 'helm repo update'): open /Users/mysystem/Library/Caches/helm/repository/local-index.yaml: no such file or directory
I next copied the one in .helm over to the location in the debug message -
cp ~/.helm/repository/local/index.yaml /Users/mysystem/Library/Caches/helm/repository/local-index.yaml
All worked after this!

helm: found in Chart.yaml, but missing in charts/ directory: postgresql,

I try to follow the kubernetes install README of ReportPortal
guettli#yoga15:~/projects/reportportal-kubernetes/reportportal$ mv v5 reportportal
guettli#yoga15:~/projects/reportportal-kubernetes/reportportal$ helm install ./reportportal
Error: must either provide a name or specify --generate-name
guettli#yoga15:~/projects/reportportal-kubernetes/reportportal$ helm install ./reportportal --generate-name
Error: found in Chart.yaml, but missing in charts/ directory: postgresql, rabbitmq-ha, elasticsearch, minio
Here is the v5 directory.
What needs to be done now?
I found the solution:
cd reportportal
helm dependency update
Adding a bit of a background.
Chart dependencies that are specified in the Chart.yaml should be download to disk before executing the installation of the parent chart.
This is done by helm dependency update which verifies that the required charts, as expressed in Chart.yaml, are present in charts/ and are at an acceptable version.
It will pull down the latest charts that satisfy the dependencies, and clean up old dependencies.

Helm Cannot Read Chart.yaml

I am trying to deploy Apache Nifi on Kubernetes using helm but when I execute this command:
helm install --name test-nifi --namespace nifi ./apache-nifi-helm
I immediately get an error saying:
Error: cannot read Chart.Yaml in directory "/home/mydir/test/apache-nifi"
And I have checked the directory and it certainly contains the Chart.Yaml file. I have cloned it from a GitHub Repo.
Am I making a mistake somewhere? Any help is greatly appreciated.
You can
Clone repo:
$ git clone git#github.com:markap14/apache-nifi-helm.git
Run helm:
$ helm install --name test-nifi --namespace ${YOU_NAMESPACE} ./apache-nifi-helm/charts/zookeeper-0.4.2.tgz --tiller-namespace ${YOU_NAMESPACE}
I've also been getting the
"cannot read Chart.Yaml in directory XYZ" error
from helm install in spite of the presence of a Chart.yaml file in the directory.
In the end it was other configuration problems (I had template in the 'charts' folder).
Hooray for the friendly error message!