Skip to content
This repository was archived by the owner on Jan 27, 2026. It is now read-only.

Commit 6570c98

Browse files
ssup2k8s-ci-robot
authored andcommitted
[RabbitMQ] Add podManagementPolicy for cluster recovery. (helm#13027)
rabbitmq should be initialized one by one when building cluster for the first time. Therefore, the default value of podManagementPolicy is 'OrderedReady' Once the rabbitmq participates in the cluster, it waits for a response from another rabbitMQ in the same cluster at reboot, except the last rabbitmq of the same cluster. If the cluster exits gracefully, you do not need to change the podManagementPolicy because the first rabbitmq of the statefulset always will be last of the cluster. However if the last rabbitmq of the cluster is not the first rabbitmq due to a failure, you must change podManagementPolicy to 'Parallel'. Otherwide the first rabbitmq waits Infinitely. Signed-off-by: Jungsub Shin <supsup5642@gmail.com>
1 parent a0b4625 commit 6570c98

File tree

5 files changed

+28
-1
lines changed

5 files changed

+28
-1
lines changed

stable/rabbitmq/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
apiVersion: v1
22
name: rabbitmq
3-
version: 5.4.1
3+
version: 5.5.0
44
appVersion: 3.7.14
55
description: Open source message broker software that implements the Advanced Message Queuing Protocol (AMQP)
66
keywords:

stable/rabbitmq/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ The following table lists the configurable parameters of the RabbitMQ chart and
5656
| `image.pullSecrets` | Specify docker-registry secret names as an array | `nil` |
5757
| `image.debug` | Specify if debug values should be set | `false` |
5858
| `rbacEnabled` | Specify if rbac is enabled in your cluster | `true` |
59+
| `podManagementPolicy` | Pod management policy | `OrderedReady` |
5960
| `rabbitmq.username` | RabbitMQ application username | `user` |
6061
| `rabbitmq.password` | RabbitMQ application password | _random 10 character long alphanumeric string_ |
6162
| `rabbitmq.existingPasswordSecret` | Existing secret with RabbitMQ credentials | nil |

stable/rabbitmq/templates/statefulset.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ metadata:
99
heritage: "{{ .Release.Service }}"
1010
spec:
1111
serviceName: {{ template "rabbitmq.fullname" . }}-headless
12+
podManagementPolicy: {{ .Values.podManagementPolicy }}
1213
replicas: {{ .Values.replicas }}
1314
updateStrategy:
1415
type: {{ .Values.updateStrategy.type }}

stable/rabbitmq/values-production.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,19 @@ image:
3535
## does your cluster have rbac enabled? assume yes by default
3636
rbacEnabled: true
3737

38+
39+
## RabbitMQ should be initialized one by one when building cluster for the first time.
40+
## Therefore, the default value of podManagementPolicy is 'OrderedReady'
41+
## Once the RabbitMQ participates in the cluster, it waits for a response from another
42+
## RabbitMQ in the same cluster at reboot, except the last RabbitMQ of the same cluster.
43+
## If the cluster exits gracefully, you do not need to change the podManagementPolicy
44+
## because the first RabbitMQ of the statefulset always will be last of the cluster.
45+
## However if the last RabbitMQ of the cluster is not the first RabbitMQ due to a failure,
46+
## you must change podManagementPolicy to 'Parallel'.
47+
## ref : https://www.rabbitmq.com/clustering.html#restarting
48+
##
49+
podManagementPolicy: OrderedReady
50+
3851
## section of specific values for rabbitmq
3952
rabbitmq:
4053
## RabbitMQ application username

stable/rabbitmq/values.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,18 @@ image:
3535
## does your cluster have rbac enabled? assume yes by default
3636
rbacEnabled: true
3737

38+
## RabbitMQ should be initialized one by one when building cluster for the first time.
39+
## Therefore, the default value of podManagementPolicy is 'OrderedReady'
40+
## Once the RabbitMQ participates in the cluster, it waits for a response from another
41+
## RabbitMQ in the same cluster at reboot, except the last RabbitMQ of the same cluster.
42+
## If the cluster exits gracefully, you do not need to change the podManagementPolicy
43+
## because the first RabbitMQ of the statefulset always will be last of the cluster.
44+
## However if the last RabbitMQ of the cluster is not the first RabbitMQ due to a failure,
45+
## you must change podManagementPolicy to 'Parallel'.
46+
## ref : https://www.rabbitmq.com/clustering.html#restarting
47+
##
48+
podManagementPolicy: OrderedReady
49+
3850
## section of specific values for rabbitmq
3951
rabbitmq:
4052
## RabbitMQ application username

0 commit comments

Comments
 (0)