|
|
@ -1,5 +1,5 @@
|
|
|
|
# Introduction
|
|
|
|
# Introduction
|
|
|
|
This chart bootstraps an [EMQx](https://www.emqx.io/) deployment on a [Kubernetes](https://kubernetes.io/) (K8s) cluster using the [Helm](https://helm.sh/) package manager.
|
|
|
|
This chart bootstraps an [EMQ X](https://www.emqx.io/) deployment on a [Kubernetes](https://kubernetes.io/) (K8s) cluster using the [Helm](https://helm.sh/) package manager.
|
|
|
|
|
|
|
|
|
|
|
|
# Prerequisites
|
|
|
|
# Prerequisites
|
|
|
|
+ [Kubernetes](https://kubernetes.io/) 1.6+
|
|
|
|
+ [Kubernetes](https://kubernetes.io/) 1.6+
|
|
|
@ -30,8 +30,8 @@ $ helm del my-emqx
|
|
|
|
|
|
|
|
|
|
|
|
# Configuration
|
|
|
|
# Configuration
|
|
|
|
The following sections describe the configurable parameters of the chart and their default values.
|
|
|
|
The following sections describe the configurable parameters of the chart and their default values.
|
|
|
|
## K8s-specific
|
|
|
|
## [K8s]((https://kubernetes.io/)) specific settings
|
|
|
|
The following table lists the configurable K8s parameters of the [EMQx](https://www.emqx.io/) chart and their default values.
|
|
|
|
The following table lists the configurable K8s parameters of the [EMQ X](https://www.emqx.io/) chart and their default values.
|
|
|
|
Parameter | Description | Default Value
|
|
|
|
Parameter | Description | Default Value
|
|
|
|
--- | --- | ---
|
|
|
|
--- | --- | ---
|
|
|
|
`replicaCount` | It is recommended to have odd number of nodes in a cluster, otherwise the emqx cluster cannot be automatically healed in case of net-split. | `3`
|
|
|
|
`replicaCount` | It is recommended to have odd number of nodes in a cluster, otherwise the emqx cluster cannot be automatically healed in case of net-split. | `3`
|
|
|
@ -40,12 +40,12 @@ Parameter | Description | Default Value
|
|
|
|
`image.pullPolicy` | The image pull policy | `IfNotPresent`
|
|
|
|
`image.pullPolicy` | The image pull policy | `IfNotPresent`
|
|
|
|
`image.pullSecrets ` | The image pull secrets (does not add image pull secrets to deployed pods) |``[]``
|
|
|
|
`image.pullSecrets ` | The image pull secrets (does not add image pull secrets to deployed pods) |``[]``
|
|
|
|
`recreatePods` | Forces the recreation of pods during upgrades, which can be useful to always apply the most recent configuration. | `false`
|
|
|
|
`recreatePods` | Forces the recreation of pods during upgrades, which can be useful to always apply the most recent configuration. | `false`
|
|
|
|
`persistence.enabled` | Enable EMQX persistence using PVC | `false`
|
|
|
|
`persistence.enabled` | Enable EMQ X persistence using PVC | `false`
|
|
|
|
`persistence.storageClass` | Storage class of backing PVC (uses alpha storage class annotation) | `nil`
|
|
|
|
`persistence.storageClass` | Storage class of backing PVC (uses alpha storage class annotation) | `nil`
|
|
|
|
`persistence.existingClaim` | EMQ X data Persistent Volume existing claim name, evaluated as a template | `""`
|
|
|
|
`persistence.existingClaim` | EMQ X data Persistent Volume existing claim name, evaluated as a template | `""`
|
|
|
|
`persistence.accessMode` | PVC Access Mode for EMQX volume | `ReadWriteOnce`
|
|
|
|
`persistence.accessMode` | PVC Access Mode for EMQ X volume | `ReadWriteOnce`
|
|
|
|
`persistence.size` | PVC Storage Request for EMQX volume | `20Mi`
|
|
|
|
`persistence.size` | PVC Storage Request for EMQ X volume | `20Mi`
|
|
|
|
`initContainers` | Containers that run before the creation of EMQX containers. They can contain utilities or setup scripts. |`{}`
|
|
|
|
`initContainers` | Containers that run before the creation of EMQ X containers. They can contain utilities or setup scripts. |`{}`
|
|
|
|
`resources` | CPU/Memory resource requests/limits |`{}`
|
|
|
|
`resources` | CPU/Memory resource requests/limits |`{}`
|
|
|
|
`nodeSelector` | Node labels for pod assignment |`{}`
|
|
|
|
`nodeSelector` | Node labels for pod assignment |`{}`
|
|
|
|
`tolerations` | Toleration labels for pod assignment |``[]``
|
|
|
|
`tolerations` | Toleration labels for pod assignment |``[]``
|
|
|
@ -67,32 +67,32 @@ Parameter | Description | Default Value
|
|
|
|
`service.loadBalancerSourceRanges` | Address(es) that are allowed when service is LoadBalancer | `[]`
|
|
|
|
`service.loadBalancerSourceRanges` | Address(es) that are allowed when service is LoadBalancer | `[]`
|
|
|
|
`service.externalIPs` | ExternalIPs for the service | `[]`
|
|
|
|
`service.externalIPs` | ExternalIPs for the service | `[]`
|
|
|
|
`service.annotations` | Service annotations (evaluated as a template) | `{}`
|
|
|
|
`service.annotations` | Service annotations (evaluated as a template) | `{}`
|
|
|
|
`ingress.dashboard.enabled` | Enable ingress for EMQX Dashboard | false
|
|
|
|
`ingress.dashboard.enabled` | Enable ingress for EMQ X Dashboard | false
|
|
|
|
`ingress.dashboard.ingressClassName` | Set the ingress class for EMQX Dashboard
|
|
|
|
`ingress.dashboard.ingressClassName` | Set the ingress class for EMQ X Dashboard
|
|
|
|
`ingress.dashboard.path` | Ingress path for EMQX Dashboard | `/`
|
|
|
|
`ingress.dashboard.path` | Ingress path for EMQ X Dashboard | `/`
|
|
|
|
`ingress.dashboard.hosts` | Ingress hosts for EMQX Mgmt API | dashboard.emqx.local
|
|
|
|
`ingress.dashboard.hosts` | Ingress hosts for EMQ X Mgmt API | dashboard.emqx.local
|
|
|
|
`ingress.dashboard.tls` | Ingress tls for EMQX Mgmt API | `[]`
|
|
|
|
`ingress.dashboard.tls` | Ingress tls for EMQ X Mgmt API | `[]`
|
|
|
|
`ingress.dashboard.annotations` | Ingress annotations for EMQX Mgmt API | `{}`
|
|
|
|
`ingress.dashboard.annotations` | Ingress annotations for EMQ X Mgmt API | `{}`
|
|
|
|
`ingress.mgmt.enabled` | Enable ingress for EMQX Mgmt API | `false`
|
|
|
|
`ingress.mgmt.enabled` | Enable ingress for EMQ X Mgmt API | `false`
|
|
|
|
`ingress.mqtt.ingressClassName` | Set the ingress class for EMQX Mgmt API | `nil`
|
|
|
|
`ingress.mqtt.ingressClassName` | Set the ingress class for EMQ X Mgmt API | `nil`
|
|
|
|
`ingress.mgmt.path` | Ingress path for EMQX Mgmt API | `/`
|
|
|
|
`ingress.mgmt.path` | Ingress path for EMQ X Mgmt API | `/`
|
|
|
|
`ingress.mgmt.hosts` | Ingress hosts for EMQX Mgmt API | `api.emqx.local`
|
|
|
|
`ingress.mgmt.hosts` | Ingress hosts for EMQ X Mgmt API | `api.emqx.local`
|
|
|
|
`ingress.mgmt.tls` | Ingress tls for EMQX Mgmt API | `[]`
|
|
|
|
`ingress.mgmt.tls` | Ingress tls for EMQ X Mgmt API | `[]`
|
|
|
|
`ingress.mgmt.annotations` | Ingress annotations for EMQX Mgmt API | `{}`
|
|
|
|
`ingress.mgmt.annotations` | Ingress annotations for EMQ X Mgmt API | `{}`
|
|
|
|
`ingress.wss.enabled` | Enable ingress for EMQX Mgmt API | `false`
|
|
|
|
`ingress.wss.enabled` | Enable ingress for EMQ X Mgmt API | `false`
|
|
|
|
`ingress.wss.ingressClassName` | Set the ingress class for EMQX Mgmt API | `nil`
|
|
|
|
`ingress.wss.ingressClassName` | Set the ingress class for EMQ X Mgmt API | `nil`
|
|
|
|
`ingress.wss.path` | Ingress path for EMQX WSS | `/`
|
|
|
|
`ingress.wss.path` | Ingress path for EMQ X WSS | `/`
|
|
|
|
`ingress.wss.hosts` | Ingress hosts for EMQX WSS | `wss.emqx.local`
|
|
|
|
`ingress.wss.hosts` | Ingress hosts for EMQ X WSS | `wss.emqx.local`
|
|
|
|
`ingress.wss.tls` | Ingress tls for EMQX WSS | `[]`
|
|
|
|
`ingress.wss.tls` | Ingress tls for EMQ X WSS | `[]`
|
|
|
|
`ingress.wss.annotations` | Ingress annotations for EMQX WSS | `{}`
|
|
|
|
`ingress.wss.annotations` | Ingress annotations for EMQ X WSS | `{}`
|
|
|
|
`extraEnv` | Aditional container env vars | `[]`
|
|
|
|
`extraEnv` | Aditional container env vars | `[]`
|
|
|
|
`extraEnvFrom` | Aditional container env from vars (eg. [config map](https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/), [secrets](https://kubernetes.io/docs/concepts/configuration/secret/) | `[]`
|
|
|
|
`extraEnvFrom` | Aditional container env from vars (eg. [config map](https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/), [secrets](https://kubernetes.io/docs/concepts/configuration/secret/) | `[]`
|
|
|
|
`extraArgs` | Additional container executable arguments | `[]`
|
|
|
|
`extraArgs` | Additional container executable arguments | `[]`
|
|
|
|
`extraVolumes` | Additional container volumes (eg. for mounting certs from secrets) | `[]`
|
|
|
|
`extraVolumes` | Additional container volumes (eg. for mounting certs from secrets) | `[]`
|
|
|
|
`extraVolumeMounts` | Additional container volume mounts (eg. for mounting certs from secrets) | `[]`
|
|
|
|
`extraVolumeMounts` | Additional container volume mounts (eg. for mounting certs from secrets) | `[]`
|
|
|
|
|
|
|
|
|
|
|
|
## EMQx-specific
|
|
|
|
## EMQ X specific settings
|
|
|
|
The following table lists the configurable [EMQx](https://www.emqx.io/)-specific parameters of the chart and their default values.
|
|
|
|
The following table lists the configurable [EMQ X](https://www.emqx.io/)-specific parameters of the chart and their default values.
|
|
|
|
Parameter | Description | Default Value
|
|
|
|
Parameter | Description | Default Value
|
|
|
|
--- | --- | ---
|
|
|
|
--- | --- | ---
|
|
|
|
`emqxConfig` | Map of [configuration](https://www.emqx.io/docs/en/latest/configuration/configuration.html) items expressed as [environment variables](https://www.emqx.io/docs/en/v4.3/configuration/environment-variable.html) (prefix can be omitted) or using the configuration files [namespaced dotted notation](https://www.emqx.io/docs/en/latest/configuration/configuration.html) | `nil`
|
|
|
|
`emqxConfig` | Map of [configuration](https://www.emqx.io/docs/en/latest/configuration/configuration.html) items expressed as [environment variables](https://www.emqx.io/docs/en/v4.3/configuration/environment-variable.html) (prefix can be omitted) or using the configuration files [namespaced dotted notation](https://www.emqx.io/docs/en/latest/configuration/configuration.html) | `nil`
|
|
|
@ -104,7 +104,7 @@ Parameter | Description | Default Value
|
|
|
|
# Examples
|
|
|
|
# Examples
|
|
|
|
This section provides some examples for the configuration of common scenarios.
|
|
|
|
This section provides some examples for the configuration of common scenarios.
|
|
|
|
## Enable Websockets SSL via [nginx-ingress community controller](https://kubernetes.github.io/ingress-nginx/)
|
|
|
|
## Enable Websockets SSL via [nginx-ingress community controller](https://kubernetes.github.io/ingress-nginx/)
|
|
|
|
The following settings describe a working scenario for acessing [EMQx](https://www.emqx.io/) Websockets with SSL termination at the [nginx-ingress community controller](https://kubernetes.github.io/ingress-nginx/).
|
|
|
|
The following settings describe a working scenario for acessing [EMQ X](https://www.emqx.io/) Websockets with SSL termination at the [nginx-ingress community controller](https://kubernetes.github.io/ingress-nginx/).
|
|
|
|
```yaml
|
|
|
|
```yaml
|
|
|
|
ingress:
|
|
|
|
ingress:
|
|
|
|
wss:
|
|
|
|
wss:
|
|
|
|