rabbitmq-cluster-ss.yaml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. kind: StatefulSet
  2. apiVersion: apps/v1
  3. metadata:
  4. labels:
  5. app: rmq-cluster
  6. name: rmq-cluster
  7. namespace: public-service
  8. spec:
  9. replicas: 3
  10. selector:
  11. matchLabels:
  12. app: rmq-cluster
  13. serviceName: rmq-cluster
  14. template:
  15. metadata:
  16. labels:
  17. app: rmq-cluster
  18. spec:
  19. containers:
  20. - args:
  21. - -c
  22. - cp -v /etc/rabbitmq/rabbitmq.conf ${RABBITMQ_CONFIG_FILE}; exec docker-entrypoint.sh
  23. rabbitmq-server
  24. command:
  25. - sh
  26. env:
  27. - name: RABBITMQ_DEFAULT_USER
  28. valueFrom:
  29. secretKeyRef:
  30. key: username
  31. name: rmq-cluster-secret
  32. - name: RABBITMQ_DEFAULT_PASS
  33. valueFrom:
  34. secretKeyRef:
  35. key: password
  36. name: rmq-cluster-secret
  37. - name: RABBITMQ_ERLANG_COOKIE
  38. valueFrom:
  39. secretKeyRef:
  40. key: cookie
  41. name: rmq-cluster-secret
  42. - name: K8S_SERVICE_NAME
  43. value: rmq-cluster
  44. - name: POD_IP
  45. valueFrom:
  46. fieldRef:
  47. fieldPath: status.podIP
  48. - name: POD_NAME
  49. valueFrom:
  50. fieldRef:
  51. fieldPath: metadata.name
  52. - name: POD_NAMESPACE
  53. valueFrom:
  54. fieldRef:
  55. fieldPath: metadata.namespace
  56. - name: RABBITMQ_USE_LONGNAME
  57. value: "true"
  58. - name: RABBITMQ_NODENAME
  59. value: rabbit@$(POD_NAME).rmq-cluster.$(POD_NAMESPACE).svc.cluster.local
  60. - name: RABBITMQ_CONFIG_FILE
  61. value: /var/lib/rabbitmq/rabbitmq.conf
  62. image: registry.cn-beijing.aliyuncs.com/dotbalo/rabbitmq:3.13.6-management-alpine
  63. imagePullPolicy: IfNotPresent
  64. livenessProbe:
  65. exec:
  66. command:
  67. - rabbitmqctl
  68. - status
  69. initialDelaySeconds: 30
  70. timeoutSeconds: 10
  71. name: rabbitmq
  72. ports:
  73. - containerPort: 15672
  74. name: http
  75. protocol: TCP
  76. - containerPort: 5672
  77. name: amqp
  78. protocol: TCP
  79. readinessProbe:
  80. exec:
  81. command:
  82. - rabbitmqctl
  83. - status
  84. initialDelaySeconds: 10
  85. timeoutSeconds: 10
  86. volumeMounts:
  87. - mountPath: /etc/rabbitmq
  88. name: config-volume
  89. readOnly: false
  90. # - mountPath: /var/lib/rabbitmq
  91. # name: rabbitmq-storage
  92. # readOnly: false
  93. serviceAccountName: rmq-cluster
  94. terminationGracePeriodSeconds: 30
  95. volumes:
  96. - configMap:
  97. items:
  98. - key: rabbitmq.conf
  99. path: rabbitmq.conf
  100. - key: enabled_plugins
  101. path: enabled_plugins
  102. name: rmq-cluster-config
  103. name: config-volume
  104. # volumeClaimTemplates:
  105. # - metadata:
  106. # name: rabbitmq-storage
  107. # spec:
  108. # accessModes:
  109. # - ReadWriteMany
  110. # storageClassName: "rmq-storage-class"
  111. # resources:
  112. # requests:
  113. # storage: 4Gi