rabbitmq
# Dockerfile
FROM rabbitmq:3.8.9-management
# 添加 rabbitmq_delayed_message_exchange 插件
ADD rabbitmq_delayed_message_exchange-3.8.9-0199d11c.ez /plugins/
1
2
3
4
2
3
4
# ConfigMap
kind: ConfigMap
apiVersion: v1
metadata:
name: birenchong-test-rabbitmq-conf
namespace: birenchong-test
annotations:
kubesphere.io/creator: admin
data:
CONTAINER_NAME: mq-server
RABBITMQ_DEFAULT_PASS: password
RABBITMQ_DEFAULT_USER: username
RABBITMQ_ERLANG_COOKIE: 3xxxxxxxxxxxxxxxxxb
enabled_plugins: >-
[rabbitmq_delayed_message_exchange,rabbitmq_management,rabbitmq_prometheus,rabbitmq_tracing].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# PersistentVolume
apiVersion: v1
kind: PersistentVolume
metadata:
name: birenchong-test-rabbit-data-pv
namespace: birenchong-test
spec:
capacity:
storage: 10Gi
volumeMode: Filesystem
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: efs-sc-static
csi:
driver: efs.csi.aws.com
volumeHandle: fs-0xxxxxxxxxxxxx3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# PersistentVolumeClaim
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: birenchong-test-rabbit-data-pvc
namespace: birenchong-test
spec:
accessModes:
- ReadWriteMany
storageClassName: efs-sc-static
resources:
requests:
storage: 10Gi
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# StatefulSet
kind: StatefulSet
apiVersion: apps/v1
metadata:
name: birenchong-test-rabbitmq-v1
namespace: birenchong-test
labels:
app: birenchong-test-rabbitmq
version: v1
annotations:
kubesphere.io/creator: admin
kubesphere.io/description: >-
cp /var/lib/rabbitmq/plugins/* /plugins/ && rabbitmq-plugins enable
rabbitmq_delayed_message_exchange && rabbitmq-plugins enable
rabbitmq_tracing && rabbitmqctl trace_on
spec:
replicas: 1
selector:
matchLabels:
app: birenchong-test-rabbitmq
version: v1
template:
metadata:
creationTimestamp: null
labels:
app: birenchong-test-rabbitmq
version: v1
annotations:
logging.kubesphere.io/logsidecar-config: '{}'
spec:
volumes:
- name: volume-wo0u84
persistentVolumeClaim:
claimName: birenchong-test-rabbit-data-pvc
- name: volume-s3oxxz
configMap:
name: birenchong-test-rabbitmq-conf
items:
- key: enabled_plugins
path: enabled_plugins
defaultMode: 420
containers:
- name: mq-server
image: 'harbor.birenchong.cn/devops/myrabbitmq:3.8.9-management'
ports:
- name: tcp-15671
containerPort: 15671
protocol: TCP
- name: tcp-15672
containerPort: 15672
protocol: TCP
- name: tcp-15691
containerPort: 15691
protocol: TCP
- name: tcp-15692
containerPort: 15692
protocol: TCP
- name: tcp-25672
containerPort: 25672
protocol: TCP
- name: tcp-4369
containerPort: 4369
protocol: TCP
- name: tcp-5671
containerPort: 5671
protocol: TCP
- name: tcp-5672
containerPort: 5672
protocol: TCP
env:
- name: CONTAINER_NAME
valueFrom:
configMapKeyRef:
name: birenchong-test-rabbitmq-conf
key: CONTAINER_NAME
- name: RABBITMQ_ERLANG_COOKIE
valueFrom:
configMapKeyRef:
name: birenchong-test-rabbitmq-conf
key: RABBITMQ_ERLANG_COOKIE
- name: RABBITMQ_DEFAULT_USER
valueFrom:
configMapKeyRef:
name: birenchong-test-rabbitmq-conf
key: RABBITMQ_DEFAULT_USER
- name: RABBITMQ_DEFAULT_PASS
valueFrom:
configMapKeyRef:
name: birenchong-test-rabbitmq-conf
key: RABBITMQ_DEFAULT_PASS
resources: {}
volumeMounts:
- name: volume-wo0u84
mountPath: /var/lib/rabbitmq
subPath: rabbitmq
- name: volume-s3oxxz
readOnly: true
mountPath: /etc/rabbitmq/enabled_plugins
subPath: enabled_plugins
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullPolicy: IfNotPresent
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
nodeSelector:
env: devops
serviceAccountName: default
serviceAccount: default
securityContext: {}
imagePullSecrets:
- name: harbor-devops
schedulerName: default-scheduler
serviceName: birenchong-test-rabbitmq
podManagementPolicy: OrderedReady
updateStrategy:
type: RollingUpdate
rollingUpdate:
partition: 0
revisionHistoryLimit: 10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# Service-ClusterIP
kind: Service
apiVersion: v1
metadata:
name: birenchong-test-rabbitmq
namespace: birenchong-test
labels:
app: birenchong-test-rabbitmq
version: v1
annotations:
kubesphere.io/creator: admin
kubesphere.io/serviceType: statefulservice
spec:
ports:
- name: tcp-15671
protocol: TCP
port: 15671
targetPort: 15671
- name: tcp-15672
protocol: TCP
port: 15672
targetPort: 15672
- name: tcp-15691
protocol: TCP
port: 15691
targetPort: 15691
- name: tcp-15692
protocol: TCP
port: 15692
targetPort: 15692
- name: tcp-25672
protocol: TCP
port: 25672
targetPort: 25672
- name: tcp-4369
protocol: TCP
port: 4369
targetPort: 4369
- name: tcp-5671
protocol: TCP
port: 5671
targetPort: 5671
- name: tcp-5672
protocol: TCP
port: 5672
targetPort: 5672
selector:
app: birenchong-test-rabbitmq
clusterIP: None
clusterIPs:
- None
type: ClusterIP
sessionAffinity: None
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
internalTrafficPolicy: Cluster
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# Service-NodePort
kind: Service
apiVersion: v1
metadata:
name: birenchong-test-rabbitmq-np
namespace: birenchong-test
labels:
app: birenchong-test-rabbitmq-np
annotations:
kubesphere.io/creator: admin
spec:
ports:
- name: http-15672
protocol: TCP
port: 80
targetPort: 15672
nodePort: 31653
- name: http-5672
protocol: TCP
port: 5672
targetPort: 5672
nodePort: 30434
selector:
app: birenchong-test-rabbitmq
version: v1
clusterIP: 10.100.118.176
clusterIPs:
- 10.100.118.176
type: NodePort
sessionAffinity: None
externalTrafficPolicy: Cluster
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
internalTrafficPolicy: Cluster
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Last Updated: 2023/11/08, 14:45:54