dgiot/deploy/charts/emqx
2021-08-16 15:07:42 +08:00
..
templates sysnc 4.3.7 2021-08-16 15:07:42 +08:00
Chart.yaml add linux_4.3.1 2021-05-18 14:54:48 +08:00
README.md sysnc 4.3.7 2021-08-16 15:07:42 +08:00
values.yaml sysnc 4.3.7 2021-08-16 15:07:42 +08:00

Introduction

This chart bootstraps an emqx deployment on a Kubernetes cluster using the Helm package manager.

Prerequisites

  • Kubernetes 1.6+
  • Helm

Installing the Chart

To install the chart with the release name my-emqx:

  • From github

    $ git clone https://github.com/emqx/emqx.git
    $ cd emqx/deploy/charts/emqx
    $ helm install my-emqx .
    
  • From chart repos

    helm repo add emqx https://repos.emqx.io/charts
    helm install my-emqx emqx/emqx
    

    If you want to install an unstable version, you need to add --devel when you execute the helm install command.

Uninstalling the Chart

To uninstall/delete the my-emqx deployment:

$ helm del  my-emqx

Configuration

The following table lists the configurable parameters of the emqx chart and their default values.

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
image.repository EMQ X Image name emqx/emqx
image.pullPolicy The image pull policy IfNotPresent
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
persistence.enabled Enable EMQX persistence using PVC false
persistence.storageClass Storage class of backing PVC nil (uses alpha storage class annotation)
persistence.existingClaim EMQ X data Persistent Volume existing claim name, evaluated as a template ""
persistence.accessMode PVC Access Mode for EMQX volume ReadWriteOnce
persistence.size PVC Storage Request for EMQX volume 20Mi
initContainers Containers that run before the creation of EMQX containers. They can contain utilities or setup scripts. {}
resources CPU/Memory resource requests/limits {}
nodeSelector Node labels for pod assignment {}
tolerations Toleration labels for pod assignment []
affinity Map of node/pod affinities {}
service.type Kubernetes Service type. ClusterIP
service.mqtt Port for MQTT. 1883
service.mqttssl Port for MQTT(SSL). 8883
service.mgmt Port for mgmt API. 8081
service.ws Port for WebSocket/HTTP. 8083
service.wss Port for WSS/HTTPS. 8084
service.dashboard Port for dashboard. 18083
service.nodePorts.mqtt Kubernetes node port for MQTT. nil
service.nodePorts.mqttssl Kubernetes node port for MQTT(SSL). nil
service.nodePorts.mgmt Kubernetes node port for mgmt API. nil
service.nodePorts.ws Kubernetes node port for WebSocket/HTTP. nil
service.nodePorts.wss Kubernetes node port for WSS/HTTPS. nil
service.nodePorts.dashboard Kubernetes node port for dashboard. nil
service.loadBalancerIP loadBalancerIP for Service nil
service.loadBalancerSourceRanges Address(es) that are allowed when service is LoadBalancer []
service.externalIPs ExternalIPs for the service []
service.annotations Service annotations {}(evaluated as a template)
ingress.dashboard.enabled Enable ingress for EMQX Dashboard false
ingress.dashboard.path Ingress path for EMQX Dashboard /
ingress.dashboard.hosts Ingress hosts for EMQX Mgmt API dashboard.emqx.local
ingress.dashboard.tls Ingress tls for EMQX Mgmt API []
ingress.dashboard.annotations Ingress annotations for EMQX Mgmt API {}
ingress.mgmt.enabled Enable ingress for EMQX Mgmt API false
ingress.mgmt.path Ingress path for EMQX Mgmt API /
ingress.mgmt.hosts Ingress hosts for EMQX Mgmt API api.emqx.local
ingress.mgmt.tls Ingress tls for EMQX Mgmt API []
ingress.mgmt.annotations Ingress annotations for EMQX Mgmt API {}
emqxConfig Emqx configuration item, see the documentation
emqxAclConfig Emqx acl configuration item, see the documentation