Skip to content

Latest commit

 

History

History

messaging-rabbitmq

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Messaging - RabbitMQ - CZERTAINLY

This repository is part of the commercial open-source project CZERTAINLY. You can find more information about the project at CZERTAINLY repository, including the contribution guide.

This repository contains Helm charts as part of the CZERTAINLY platform.

Prerequisites

  • Kubernetes 1.19+
  • Helm 3.8.0+
  • PV provisioner support in the underlying infrastructure

Using this Chart

Installation

Create namespace

We’ll need to define a Kubernetes namespace where the resources created by the Chart should be installed:

kubectl create namespace czertainly

Create values.yaml

Note You can also use --set options for the helm to apply configuration for the chart.

Copy the default values.yaml from the Helm chart and modify the values accordingly:

helm show values oci://harbor.3key.company/czertainly-helm/messaging-rabbitmq > values.yaml

Now edit the values.yaml according to your desired stated, see Configurable parameters for more information.

Install

For the basic installation, run:

helm install --namespace czertainly -f values.yaml czertainly-messaging-rabbitmq oci://harbor.3key.company/czertainly-helm/messaging-rabbitmq

Save your configuration

Always make sure you save the values.yaml and all --set and --set-file options you used. You will need to use the same options when you upgrade to new versions with Helm. In case you are changing the configuration, save the new configuration.

Upgrade

Warning Be sure that you always save your previous configuration!

For upgrading the installation, update your configuration and run:

helm upgrade --namespace czertainly -f values.yaml czertainly-messaging-rabbitmq oci://harbor.3key.company/czertainly-helm/messaging-rabbitmq

Uninstall

You can use the helm uninstall command to uninstall the application:

helm uninstall --namespace czertainly czertainly-messaging-rabbitmq

Configurable parameters

You can find current values in the values.yaml. You can also Specify each parameter using the --set or --set-file argument to helm install.

Global parameters

Global values are used to define common parameters for the chart and all its sub-charts by exactly the same name.

Parameter Default value Description
global.config.enabled false Enables global configuration
global.image.registry "" Global docker registry name
global.image.repository "" Global docker image repository name
global.image.pullSecrets [] Global array of secret names for image pull
global.volumes.ephemeral.type "" Global ephemeral volume type to be used
global.volumes.ephemeral.sizeLimit "" Global ephemeral volume size limit
global.volumes.ephemeral.storageClassName "" Global ephemeral volume storage class name for storage type
global.volumes.ephemeral.custom {} Global custom definition of the ephemeral volume for custom type
global.messaging.remoteAccess false Enable remote access to messaging service
global.httpProxy "" Proxy to be used to access external resources through http
global.httpsProxy "" Proxy to be used to access external resources through https
global.noProxy "" Defines list of external resources that should not use proxy settings
global.initContainers [] Global init containers
global.sidecarContainers [] Global sidecar containers
global.additionalVolumes [] Global additional volumes
global.additionalVolumeMounts [] Global additional volume mounts
global.additionalPorts [] Global additional ports
global.additionalEnv.variables [] Global additional environment variables
global.additionalEnv.secrets [] Global additional environment secrets
global.additionalEnv.configMaps [] Global additional environment config maps

Local parameters

The following values may be configured:

Parameter Default value Description
image.registry docker.io Docker registry name for the image
image.repository "" Docker image repository name
image.name rabbitmq Docker image name
image.tag 3.12.1 Docker image tag
image.digest "" Docker image digest, will override tag if specified
image.pullPolicy IfNotPresent Image pull policy
image.pullSecrets [] Array of secret names for image pull
image.command [] Override the default command
image.args [] Override the default args
image.securityContext.runAsNonRoot true Run the container as non-root user
image.securityContext.runAsUser 999 User ID for the container
image.securityContext.readOnlyRootFilesystem true Run the container with read-only root filesystem
image.resources {} The resources for the container
podSecurityContext.fsGroup 999 Pod security context fsGroup
podSecurityContext.runAsUser 999 User ID for running the pod
podSecurityContext.runAsGroup 999 Group ID for running the pod
volumes.ephemeral.type memory Ephemeral volume type to be used
volumes.ephemeral.sizeLimit "1Mi" Ephemeral volume size limit
volumes.ephemeral.storageClassName "" Ephemeral volume storage class name for storage type
volumes.ephemeral.custom {} Custom definition of the ephemeral volume for custom type
logging.level "info" Allowed values are info, error, warning, deubg
service.client.type "ClusterIP" Type of the service that is exposed
service.client.http.port 15672 Http port number of the exposed service
service.client.amqp.port 5672 Amqp port number of the exposed service

Customization parameters

Parameter Default value Description
initContainers [] Init containers
sidecarContainers [] Sidecar containers
additionalVolumes [] Additional volumes
additionalVolumeMounts [] Additional volume mounts
additionalPorts [] Additional ports
additionalEnv.variables [] Additional environment variables
additionalEnv.secrets [] Additional environment secrets
additionalEnv.configMaps [] Additional environment config maps

RabbitMQ associated parameters

Parameter Default value Description
service.headless.epmd.port 4369 EPMD Discovery service port
service.headless.clusterRpc.port 25672 Cluster RPC service port
persistence.enabled true Enable persistence for RabbitMQ
persistence.storageClassName "" Storage class name for RabbitMQ persistence
persistence.selector {} Selector for dynamic provisioning of RabbitMQ persistence
persistence.accessModes ["ReadWriteOnce"] Access mode for RabbitMQ persistence
persistence.existingClaim "" Existing claim name for RabbitMQ persistence
persistence.size 100Mi Size for RabbitMQ persistence
persistence.annotations {} Annotations for RabbitMQ persistence
secret.username "czertainly" Username for RabbitMQ
plugins.management.accessRemotely false Enable/disable remote access to RabbitMQ management

Probes parameters

For mode details about probes, see the Kubernetes documentation.

Parameter Default value Description
image.probes.liveness.enabled false Enable/disable liveness probe
image.probes.liveness.custom {} Custom liveness probe command. When defined, it will override the default command
image.probes.liveness.initialDelaySeconds 120 Initial delay seconds for liveness probe
image.probes.liveness.timeoutSeconds 20 Timeout seconds for liveness probe
image.probes.liveness.periodSeconds 30 Period seconds for liveness probe
image.probes.liveness.successThreshold 1 Success threshold for liveness probe
image.probes.liveness.failureThreshold 6 Failure threshold for liveness probe
image.probes.readiness.enabled true Enable/disable readiness probe
image.probes.readiness.custom {} Custom readiness probe command. When defined, it will override the default command
image.probes.readiness.initialDelaySeconds 10 Initial delay seconds for readiness probe
image.probes.readiness.timeoutSeconds 20 Timeout seconds for readiness probe
image.probes.readiness.periodSeconds 30 Period seconds for readiness probe
image.probes.readiness.successThreshold 1 Success threshold for readiness probe
image.probes.readiness.failureThreshold 3 Failure threshold for readiness probe
image.probes.startup.enabled true Enable/disable startup probe
image.probes.startup.custom {} Custom startup probe command. When defined, it will override the default command
image.probes.startup.initialDelaySeconds 15 Initial delay seconds for startup probe
image.probes.startup.timeoutSeconds 5 Timeout seconds for startup probe
image.probes.startup.periodSeconds 10 Period seconds for startup probe
image.probes.startup.successThreshold 1 Success threshold for startup probe
image.probes.startup.failureThreshold 45 Failure threshold for startup probe

Additional parameters

Additional parameters may be found in the values.yaml and dependencies. See dependent charts for the description of available parameters.

Persistence

The RabbitMQ image stores the RabbitMQ data and configurations at the /var/lib/rabbitmq/ path of the container.

By default, the volume is created using dynamic volume provisioning. However, an existing PersistentVolumeClaim can be used, or persistence can be turned off.

Using existing PersistentVolumeClaim

To use an existing PersistentVolumeClaim, specify the persistence.existingClaim parameter.

Disabling persistence

Persistence can be disabled by setting the persistence.enabled parameter to false.

Global persistence configuration

When the global configuration is enabled, meaning that this chart is used with the complete CZERTAINLY deployment, the persistence is managed globally by the umbrella chart. In this case, the local persistence configuration is ignored.