Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[deployment][helm] Add Grafana ingress template #6280

Merged
merged 1 commit into from
Feb 10, 2020

Conversation

roman-popenov
Copy link
Contributor

Motivation

Exposing Grafana via soft ingress controller so that it can be exposed through a Load Balancer.

Proposed solution:

Create ingress template for Grafana so that it can be automatically picked up if ingress controller instance is running in the cluster. The other solutions are to expose Grafana as NodePort or setting it as a LoadBalancer.

Modifications

Added grafana-ingress.yaml template in the templates and an ingress section for Grafana in the values file.

Verifying this change

  1. Set ingress to true for Grafana in values file and provide hostname. Currently tested with NGINX, but can use another ingress controller, but will need to change the ingress controller class to another one in the template.

  2. Add NGINX Helm repository :

helm repo add nginx-stable https://helm.nginx.com/stable
helm repo update
  1. Install with Helm 3:
helm install nginix-ingress-crl nginx-stable/nginx-ingress
  1. Follow the instructions on how deploying helm and run:
    helm install pulsar --values pulsar/values-mini.yaml ./pulsar/.

  2. Wait until all the services are up and running.

  3. Verify that Grafana is accessible via url.

Path settings

Currently, by default the path setting is set to /grafana. For that to work, the NGINX configuration file nginx.conf should have grafana sub path enabled:

See https://grafana.com/docs/grafana/latest/installation/behind_proxy/

To avoid having to mess with NGINX configurations files `path` can be changed to `/`, but this path might conflict with other services that are being proxied in the cluster.

#### Modules affected:
The changes in the PR are affecting the deployment using the helm charts. Now the if the flag `functionsAsPods` is set to `yes` inside the `values.yaml. file, the functions would run as pods.

### Documentation
This PR will be adding ingress capability for Grafana and this should be documented.

@sijie sijie added this to the 2.6.0 milestone Feb 10, 2020
@sijie sijie merged commit bec768f into apache:master Feb 10, 2020
huangdx0726 pushed a commit to huangdx0726/pulsar that referenced this pull request Aug 24, 2020
### Motivation
Exposing Grafana via soft ingress controller so that it can be exposed through a Load Balancer. 

#### Proposed solution:
Create ingress template for Grafana so that it can be automatically picked up if ingress controller instance is running in the cluster. The other solutions are to expose Grafana as NodePort or setting it as a LoadBalancer.

### Modifications
Added `grafana-ingress.yaml` template in the templates and an `ingress` section for Grafana in the values file.

### Verifying this change
1) Set ingress to `true` for Grafana in values file and provide hostname. Currently tested with NGINX, but can use another ingress controller, but will need to change the ingress controller class to another one in the template.

2) Add NGINX Helm repository :

```bash
helm repo add nginx-stable https://helm.nginx.com/stable
helm repo update
```
3) Install with Helm 3:

```bash
helm install nginix-ingress-crl nginx-stable/nginx-ingress
```

4) Follow the instructions on how deploying helm and run:
`helm install pulsar --values pulsar/values-mini.yaml ./pulsar/`. 

5) Wait until all the services are up and running.

6) Verify that Grafana is accessible via url.


**Path settings**

Currently, by default the path setting is set to `/grafana`. For that to work, the NGINX configuration file `nginx.conf` should have `grafana` sub path enabled:
```    
See https://grafana.com/docs/grafana/latest/installation/behind_proxy/

To avoid having to mess with NGINX configurations files `path` can be changed to `/`, but this path might conflict with other services that are being proxied in the cluster.

#### Modules affected:
The changes in the PR are affecting the deployment using the helm charts. Now the if the flag `functionsAsPods` is set to `yes` inside the `values.yaml. file, the functions would run as pods.

### Documentation
This PR will be adding ingress capability for Grafana and this should be documented.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants