Helm Grafana with ingress

All,
I got the AWS ALB Ingress Controller setup in my AWS and I used Helm Stable charts for installing the Grafana in my EKS.
And now I am trying to enable the Ingress setups so that Grafana can be accessed within our network and here is the config file for it:

ingress:
  enabled: true
  annotations:
    alb.ingress.kubernetes.io/scheme: internet-facing
    kubernetes.io/ingress.class: alb
 #  alb.ingress.kubernetes.io/certificate-arn: arn:aws:iam::xxxxxxxxx:server-certificate/aws
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]'
    alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}'
    external-dns.alpha.kubernetes.io/hostname: grafana.company.com
  service:
    annotations:
      alb.ingress.kubernetes.io/target-type: ip
  labels: {}
  path: /
  hosts:
  #  - chart-example.local
  ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services.
  extraPaths: []
  # - path: /*
  #   backend:
  #     serviceName: ssl-redirect
  #     servicePort: use-annotation
  tls: []
  #  - secretName: chart-example-tls
  #    hosts:
  #      - chart-example.local

Its creating the Load Balancer successfully. But its not creating the external DNS as I set in the annotations.

Any help here fellas…

Cheers!
Vikram

Any update on this item?

I solved the issue and whats the issue u r facing?

Hi Vikram,

Below is my values.yml file used to install grafana(latest) using helm(latest). I am running this inside AWS- EKS cluster and able to have the LoadBalancer created and working Grafana as expected.

persistence:
enabled: true
storageClassName: gp2
size: 200Gi

adminPassword: ReallyStrongpswd

service:
type: LoadBalancer

datasources:
datasources.yaml:
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
url: http://prometheus-server.mynamespace.svc.cluster.local
access: proxy
isDefault: true

However, now I want to make the LoadBalancer as HTTPS, I have a domain something.somerandom.io and cert created for that using AWS Cert Manager. I have the ARN for the Cert and the Domain as well.

So my question is there a way to just add the cert to the already created LoadBalancer IP by using the above values.yml?

I tried to do similar to what you did in this issue, but then I could not find any new alb created at all.

Hi Vikram,

I reached this page as im having a similar issue exposing the grafana service using aws alb.

You said “I solved the issue” . . . . which is great, for you.
Could you possibly provide some details to help others?

Even your final values.yaml setup would be really helpful

Thanks

hello there i just solved the issue and i figured it out from their helm chart…they have provided some flag that you can use to set you customise elb . i was using internet facing ingress so i just follow basic instruction for adding helm repo and upgrade it and then to install it i set three more flags.

helm install grafana grafana/grafana --namespace grafana --set persistence.storageClassName=“gp2” --set persistence.enabled=true --set adminPassword=‘EKS!sAWSome’ --set ingress.enabled=true --set ingress.ingressClassName=“internet-facing-ingress” --set ingress.hosts=“your host name”

and it workes.