Skip to content
Snippets Groups Projects
README.md 13.04 KiB

RabbitMQ

Version: 0.7.4 Type: application AppVersion: 3.12.4

A Helm chart for a RabbitMQ HA-cluster on Kubernetes

Changelog

see RELEASENOTES.md

⚠️ Please make sure all feature flags are enabled before upgrading to RabbitMQ 3.12.x

TL;DR

helm repo add groundhog2k https://groundhog2k.github.io/helm-charts/
helm install my-release groundhog2k/rabbitmq

Introduction

This chart uses the original RabbitMQ image from Docker Hub to deploy a stateful RabbitMQ cluster in Kubernetes.

It fully supports deployment of the multi-architecture docker image.

Prerequisites

  • Kubernetes 1.12+
  • Helm 3.x
  • PV provisioner support in the underlying infrastructure

Installing the Chart

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

helm install my-release groundhog2k/rabbitmq

Uninstalling the Chart

To uninstall/delete the my-release deployment:

helm uninstall my-release

Common parameters

Key Type Default Description
fullnameOverride string "" Fully override the deployment name
nameOverride string "" Partially override the deployment name

Deployment parameters

Key Type Default Description
image.pullPolicy string "IfNotPresent" Image pull policy
image.registry string "docker.io" Image registry
image.repository string "rabbitmq" Image name
image.tag string "" Image tag
initImage.pullPolicy string "IfNotPresent" Init image pull policy
initImage.registry string "docker.io" Image registry
initImage.repository string "busybox" Init image name
initImage.tag string "latest" Init image tag
imagePullSecrets list [] Image pull secrets
extraInitContainers list [] Extra init containers
extaContainers list [] Extra containers for usage as sidecars
startupProbe object see values.yaml Startup probe configuration
livenessProbe object see values.yaml Liveness probe configuration
readinessProbe object see values.yaml Readiness probe configuration
customStartupProbe object {} Custom startup probe (overwrites default startup probe configuration)
customLivenessProbe object {} Custom liveness probe (overwrites default liveness probe configuration)
customReadinessProbe object {} Custom readiness probe (overwrites default readiness probe configuration)
initResources object {} Resource limits and requests for the default init container
resources object {} Resource limits and requests
nodeSelector object {} Deployment node selector
podAnnotations object {} Additional pod annotations
podSecurityContext object see values.yaml Pod security context
securityContext object see values.yaml Container security context
env list [] Additional container environmment variables
args list [] Additional container command arguments
terminationGracePeriodSeconds int 60 Container termination grace period in seconds
rbac.create bool true Enable creation of RBAC
serviceAccount.annotations object {} Additional service account annotations
serviceAccount.create bool true Enable service account creation
serviceAccount.name string "" Optional name of the service account
affinity object {} Affinity for pod assignment
tolerations list [] Tolerations for pod assignment
podManagementPolicy string "OrderedReady" Pod management policy
updateStrategyType string "RollingUpdate" Pod update strategy
replicaCount int 1 Number of replicas
revisionHistoryLimit int nil Maximum number of revisions maintained in revision history
podDisruptionBudget object {} Pod disruption budget
podDisruptionBudget.minAvailable int nil Minimum number of pods that must be available after eviction
podDisruptionBudget.maxUnavailable int nil Maximum number of pods that can be unavailable after eviction

Service parameters

Key Type Default Description
service.type string "ClusterIP" Service type
service.clusterIP string nil The cluster ip address (only relevant for type LoadBalancer or NodePort)
service.loadBalancerIP string nil The load balancer ip address (only relevant for type LoadBalancer)
service.amqp.port int 5672 AMQP service port
service.amqp.nodePort int nil Service node port (only relevant for type LoadBalancer or NodePort)
service.amqps.port int 5671 Secure AMQP service port
service.amqps.nodePort int nil Service node port (only relevant for type LoadBalancer or NodePort)
service.mgmt.port int 15672 Management UI service port
service.mgmt.nodePort int nil Service node port (only relevant for type LoadBalancer or NodePort)
service.prometheus.port int 15692 Prometheus service port
service.prometheus.nodePort int nil Service node port (only relevant for type LoadBalancer or NodePort)
service.annotations object {} Additional service annotations

Extra services parameters

Section to define custom services

Key Type Default Description
extraServices[].name string nil Unique name of the input service
extraServices[].type string nil Service type (ClusterIP / NodePort / LoadBalancer)
extraServices[].protocol string nil Protocol type (TCP / UDP)
extraServices[].containerPort int nil Container port
extraServices[].port int nil Service port
extraServices[].nodePort int nil The node port (only relevant for type LoadBalancer or NodePort)
extraServices[].clusterIP string nil The cluster ip address (only relevant for type LoadBalancer or NodePort)
extraServices[].loadBalancerIP string nil The load balancer ip address (only relevant for type LoadBalancer)
extraServices[].annotations object {} Additional service annotations

Service monitor parameters

Key Type Default Description
serviceMonitor.enabled bool false Enable service monitor
serviceMonitor.additionalLabels object {} Additional labels for the service monitor object
serviceMonitor.annotations object {} Annotations for the service monitor object
serviceMonitor.interval Duration nil Scrape interval for prometheus
serviceMonitor.scrapeTimeout Duration nil Scrape timeout value
serviceMonitor.extraEndpointParameters object nil Extra parameters rendered to the service monitor endpoint
serviceMonitor.extraParameters object nil Extra parameters rendered to the service monitor object