Helm-charts: Install fails with immediate error

Created on 24 Feb 2020  路  8Comments  路  Source: elastic/helm-charts

Chart version:
elastic/logstash

Kubernetes version:
1.14

Kubernetes provider: E.g. GKE (Google Kubernetes Engine)
AWS/EKS

Helm Version:
3.1.1

helm get release output

Error: unable to build kubernetes objects from release manifest: error validating "": error validating data: ValidationError(StatefulSet.spec): missing required field "serviceName" in io.k8s.api.apps.v1.StatefulSetSpec


Output of helm get release


Describe the bug:
Installation fails
Steps to reproduce:

1.helm install logstash elastic/logstash

Expected behavior:
installation should succeed....

Provide logs and/or server output (if relevant):

helm3

Most helpful comment

Would it be possible to take a PR to support this before Helm 3 support becomes official, provided it doesn't hamper Helm 2?

All 8 comments

is there any solution/workaround available to this issue?

Replicatable

ts=2020-03-05T05:09:40.800408897Z caller=release.go:216 component=release release=logstash targetNamespace=metrics resource=metrics:helmrelease/logstash helmVersion=v3 error="Helm release failed" revision=7.6.1 err="failed to upgrade chart for release [logstash]: unable to build kubernetes objects from release manifest: error validating \"\": error validating data: ValidationError(StatefulSet.spec): missing required field \"serviceName\" in io.k8s.api.apps.v1.StatefulSetSpec"

k8s v 1.17
helm v3

Hi @ronenmagid,
Thank you for reporting this issue.
We don't support Helm 3 currently. Can you reproduce it with Helm 2?

Would it be possible to take a PR to support this before Helm 3 support becomes official, provided it doesn't hamper Helm 2?

I'm seeing this as well. Seems to be related to helm 3

Hey, I think I've managed to fix this in the values.yaml file. At the bottom of the file, replace

service: {}
#  annotations: {}
#  type: ClusterIP
#  ports:
#    - name: beats
#      port: 5044
#      protocol: TCP
#      targetPort: 5044
#    - name: http
#      port: 8080
#      protocol: TCP
#      targetPort: 8080

with

service:
  annotations: {}
  type: ClusterIP
  ports:
    - name: beats
      port: 5044
      protocol: TCP
      targetPort: 5044
    - name: http
      port: 8080
      protocol: TCP
      targetPort: 8080

Helm deploys the chart put the pod was stuck in a pending state for me, fixed it by adjusting the resources in values.

Same here. I don't want to expose the service via chart, can't achieve it with Helm 3

Hi,

Can you help give an example on how this would work if instead of ClusterIP I want to use NodePort to be able to receive traffic from outside the cluster ?

Thank you.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

naseemkullah picture naseemkullah  路  6Comments

jgato picture jgato  路  7Comments

ebuildy picture ebuildy  路  6Comments

diversario picture diversario  路  7Comments

melissajenner22 picture melissajenner22  路  6Comments