169 Commits

Author SHA1 Message Date
roman-popenov
97ed16d2c6 [Issue-5958][helm]: Fixing templates for helm deployment (#6148)
Motivation:
Fixes #5958: 

The following error appears when trying to deploy Pulsar using helm and values-mini.yaml: 

```unable to build kubernetes objects from release manifest: error validating "": error validating data: ValidationError(Deployment.spec.template.spec.containers[0]): unknown field "requests" in io.k8s.api.core.v1.Container``` 

Cause:
Mistake in the `pulsar-manager-deployment.yaml` deployment file:

First line **63** should be:
`{{- if .Values.pulsar_manager.resources }}` and it is currently `{{- if .Values.grafana.resources }}`

There is also a mistake at line **65**:
`{{ toYaml .Values.grafana.resources | indent 10 }}` should be `{{ toYaml .Values.pulsar_manager.resources | indent 12 }}`

Modifications:
Changed values in `values.yaml` and `templates/pulsar-manager-deployment.yaml`

Test:
Deploy the application into a kubernetes local cluster with
`helm install pulsar-cluster --values pulsar/values-mini.yaml pulsar`

AND

`helm install pulsar-cluster --values pulsar/values.yaml pulsar`

Documentation:
Does this pull request introduce a new feature? - **No**
2020-01-31 23:56:09 -08:00
roman-popenov
56e0d05e25 [Issue-5994]: Start proxy pods when at least one broker pod is running (#6158)
### Motivation
Fixes #5994:
If the proxy service comes up before the brokers are up and reachable there will be HTTP 403 when running `bin/pulsar-admin` commands from inside the proxy pod.
 
The proxy will also not be able to connect to the brokers when data is pushed through binary port with the following error:
```bash
Caused by: org.apache.pulsar.broker.service.BrokerServiceException$PersistenceException: org.apache.bookkeeper.mledger.ManagedLedgerException: Not enough non-faulty bookies available
	... 14 more
Caused by: org.apache.bookkeeper.mledger.ManagedLedgerException: Not enough non-faulty bookies available
22:11:07.633 [pulsar-web-32-6] INFO  org.eclipse.jetty.server.RequestLog - 172.17.0.6 - - [24/Jan/2020:22:11:07 +0000] "PUT /admin/v2/persistent/public/functions/assignments HTTP/1.1" 500 2528 "-" "Pulsar-Java-v2.5.0" 280
```

#### Workaround:
Restart the proxy pods once brokers pods are running

#### Proposed solution:
Hold off starting of the proxies until at least one broker is reachable in the cluster. 

### Modifications

Changes are inside `proxy-deployment.yaml` helm template file that defines a new init container before proxy is started. The init container waits until broker is reachable using the nslookup on the broker service with a sleep of 30 seconds between retries and up to number of brokers times.

Alternative solution that doesn't always work was `'until nslookup broker-service; sleep 2; done;', but 403 would still sometimes (could have been a fluke, but I saw it happening once).

### Verifying this change
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) Connect to proxy pod and run `bin/pulsar-admin broker-stats monitoring-metrics` - no 403 or permission errors should arise
4) Set up tenant, namespace
5) Push data into a topic - No errors in the proxy logs and client is able to push data into cluster through proxies
2020-01-31 23:52:11 -08:00
Kévin Dunglas
cad175d8e6 Fix typos in Helm chart and sync values-mini with values (#6009)
### Motivation

Fix typos and sync values-mini with values

### Modifications

Comments only.
2020-01-11 21:48:44 +08:00
冉小龙
f76253d699 [Issue:5818]Set the startup order of broker and bookie (#5957)
Signed-off-by: xiaolong.ran <rxl@apache.org>

Set the startup order of broker and bookie
2020-01-02 15:52:39 +08:00
SakaSun
cea744e9a7 [Issue 5857][Helm Chart] - Support to existing Storage Class with StorageClassName (#5860)
Fixes #5857 

### Motivation

With current aproach for specifying storage class in persistent volume claim it's not possible to customize the provisioner parameters. If the property 'storageClass' is declared the chart always create a new storage class with hardcoded parameters.

### Modifications

A property 'storageClassName' was added to support an existent storage class.

### Verifying this change

This change is a trivial rework / code cleanup without any test coverage.
2019-12-19 21:12:15 -08:00
Julio H Morimoto
1b680d3a54 Provide better defaults for ingress tls and secretName configuration. (#5859)
This patch allows tls to be enabled with an empty secretName for ingress controllers might be able to provide a default certificate.

Fixes #5858, provides better defaults for the Ingress object and allows TLS to be enabled with an empty secretName.

### Motivation

The current helm chart can create an Ingress with TLS, but it requires a secretName to be added. This is not an Ingress requirement and, in some cases, the ingress controller can provide a default certificate when the Ingress object does not declare one.

### Modifications

Modifications include `values.yaml` and `dashboard-ingress.yaml` to address the issue.
2019-12-17 19:40:25 +08:00
冉小龙
44ce326879 Add pulsar-manager to helm chart (#5810)
Signed-off-by: xiaolong.ran <rxl@apache.org>

### Modifications

- Add [pulsar-manager](https://github.com/apache/pulsar-manager) to helm chart
- Replace pulsar-dashboard with pulsar-manager
  - Currently, we can deprecate pulsar-dashboard, In later versions, we can use `pulsar-manager` replace `pulsar-dashboard`.
2019-12-08 19:58:49 +08:00
冉小龙
76b45b46a2 [Issue:5687] Add prefix for new keys from Env (#5790)
Signed-off-by: xiaolong.ran <rxl@apache.org>

Fixes #5687 

### Motivation

When the user wants to add new keys for Env, adding fails if no prefix is added. 

Currently, add new keys for Env use the script of [apply-config-from-env.py](https://github.com/apache/pulsar/commits/master/docker/pulsar/scripts/apply-config-from-env.py), to ensure that the env set by the user can take effect, add the prefix(**PULSAR_PREFIX_**) for all keys.

### Modifications

- Add prefix for new keys from Env
2019-12-06 18:07:08 +08:00
冉小龙
298f63483c [Issue:5787] Fix docs for creating a K8S cluster on Minikube fail (#5805)
Signed-off-by: xiaolong.ran <rxl@apache.org>

Signed-off-by: xiaolong.ran <rxl@apache.org>

Fixes #5787 

### Motivation

When we creating a K8S cluster on Minikube, due to the different versions of Minikube in the local environment, the installation fails on `--kubernetes-version=v1.10.5`.

### Modifications

- Remove the `--kubernetes-version=v1.10.5` in docs.
2019-12-06 16:19:37 +08:00
Chris Bartholomew
b5a7f0a2ac Fixing pod anti-affinity rules in Kubernetes files including the Helm chart (#5381) 2019-10-15 10:41:53 -07:00
Robert Moucha
13acfa4690 Fix typo in helm chart (#4875)
### Motivation
Incorrect value is being used in Pulsar Helm template `autorecovery-deployment.yaml`

### Modifications
Proper variable name set.

### Verifying this change
Fixed variable name is already set in `values.yaml` and `values-mini.yaml`.
This change is a trivial rework / code cleanup without any test coverage.

### Documentation
None needed.
2019-08-05 14:39:24 +08:00
Edward Xie
515c745648 Update ingress port from server to 80 (#4204) 2019-05-06 19:17:27 -07:00
Cristian
5a729d812f [Kubernetes] Added ingress resource to dashboard (#3996)
Allows to opt-in for an ingress on top of the dashboard service.

This is very important in production-grade deployments where
you want to expose the Pulsar dashboard through an easy to remember URL.
2019-04-08 20:09:31 +08:00
Cristian
b59167352c Fix typos (#3893) 2019-03-24 09:18:44 -07:00
Yifan Zhang
53ce119519 Option to not to use rbac in helm deployment (#3082)
* option to not to use rbac

* default value to match previous settings
2018-11-29 20:39:47 -08:00
Benjamin Huo
4cd61bfca8 Fix helm lint error for zookeeper-metadata.yaml (#2878)
### Motivation

The following errors occurs when running : 

helm lint pulsar/
==> Linting pulsar/
[INFO] Chart.yaml: icon is recommended
[ERROR] templates/: render error in "pulsar/templates/zookeeper-metadata.yaml": template: pulsar/templates/zookeeper-metadata.yaml:49:20: executing "pulsar/templates/zookeeper-metadata.yaml" at <.Values.zookeeper_me...>: can't evaluate field resources in type interface {}

### Modifications

Change  zookeeper_metadata in deployment/kubernetes/helm/pulsar/templates/zookeeper-metadata.yaml to zookeeperMetadata

### Result

helm lint pulsar/
==> Linting pulsar/
[INFO] Chart.yaml: icon is recommended

1 chart(s) linted, no failures
2018-10-29 13:00:00 -07:00
Victor
a59e7a27dd fixed zookeeper name references in helm charts. (#2525)
### Motivation

zookeeper failed to start because of wrong ZOOKEEPER_SERVERS was set.

### Modifications

Changed the reference of zookeeper names by how they were created.

### Result

zookeeper started successfully and broker worked as expected.
2018-09-07 12:25:23 -07:00
Sijie Guo
483107e2b9 [documentation][deploy] Improve helm deployment script to deploy Pulsar to minikube (#2363)
* [documentation][deploy] Update deployment instructions for deploying to Minikube

* Enable functions workers

* [documentation][deploy] Improve helm deployment script to deploy Pulsar to minikube

 ### Changes

- update the helm scripts: bookie/autorecovery/broker pods should wait until metadata is initialized
- disable `autoRecovery` on bookies since we start `AutoRecovery` in separate pods
- enable function worker on brokers
- provide a values file for minikube
- update documentation for using helm chart to deploy a cluster to minikube

* move the service type definition to values file
2018-08-16 00:25:49 -07:00
Daniel Jorge
7cfbe4a415 Helm charts for deployment on GKE (#1993)
* Helm charts for deployment on GKE

* Repackaginh helm charts under deployment/kubernetes/helm

* Formatting licences

* Removing cloud specific values to enable more generic deployments
2018-06-25 10:47:19 -07:00