k8s-rabbitmq

apiVersion: apps/v1

kind: StatefulSet

metadata:

name: rabbitmq

namespace: dev

spec:

podManagementPolicy: Parallel

serviceName: rabbitmq-headless

selector:

matchLabels:

app: rabbitmq

replicas: 3

template:

metadata:

labels:

app: rabbitmq

annotations:

pod.alpha.kubernetes.io/initialized: "true"

spec:

affinity:

podAntiAffinity:

preferredDuringSchedulingIgnoredDuringExecution:

  • weight: 100

podAffinityTerm:

labelSelector:

matchExpressions:

  • key: "app"

operator: In

values:

  • rabbitmq

topologyKey: "kubernetes.io/hostname"

tolerations:

operator: "Exists"

effect: NoSchedule

serviceAccountName: rabbitmq

terminationGracePeriodSeconds: 10

containers:

  • name: rabbitmq

image: rabbitmq:3.10-management

imagePullPolicy: IfNotPresent

resources:

limits:

cpu: 2

memory: 2Gi

requests:

cpu: 1

memory: 1Gi

volumeMounts:

  • name: config-volume

mountPath: /etc/rabbitmq

  • name: rabbitmq-data

mountPath: /var/lib/rabbitmq/mnesia

ports:

  • name: http

protocol: TCP

containerPort: 15672

  • name: amqp

protocol: TCP

containerPort: 5672

env:

  • name: RABBITMQ_DEFAULT_USER

valueFrom:

secretKeyRef:

key: rabbitDefaulUser

name: rabbitmq

  • name: RABBITMQ_DEFAULT_PASS

valueFrom:

secretKeyRef:

key: rabbitDefaultPass

name: rabbitmq

  • name: RABBITMQ_ERLANG_COOKIE

valueFrom:

secretKeyRef:

name: rabbitmq

key: erlang.cookie

  • name: HOSTNAME

valueFrom:

fieldRef:

fieldPath: metadata.name

  • name: NAMESPACE

valueFrom:

fieldRef:

fieldPath: metadata.namespace

  • name: RABBITMQ_USE_LONGNAME

value: "true"

  • name: SERVICE_NAME

value: "rabbitmq-headless"

  • name: RABBITMQ_NODENAME

value: rabbit@(HOSTNAME).(SERVICE_NAME).$(NAMESPACE).svc.cluster.local

  • name: K8S_HOSTNAME_SUFFIX

value: .(SERVICE_NAME).(NAMESPACE).svc.cluster.local

volumes:

  • name: config-volume

configMap:

name: rabbitmq-config

items:

  • key: rabbitmq.conf

path: rabbitmq.conf

  • key: enabled_plugins

path: enabled_plugins

volumeClaimTemplates:

  • metadata:

name: rabbitmq-data

spec:

storageClassName: "rabbitmq-pv"

accessModes: [ "ReadWriteMany" ]

resources:

requests:

storage: 30Gi

相关推荐
ytadpole7 分钟前
揭秘设计模式:命令模式-告别混乱,打造优雅可扩展的代码
java·设计模式
用户37215742613512 分钟前
Java 教程:轻松实现 Excel 与 CSV 互转 (含批量转换)
java
叫我阿柒啊40 分钟前
Java全栈开发实战:从基础到微服务的深度解析
java·微服务·kafka·vue3·springboot·jwt·前端开发
凯尔萨厮1 小时前
Java学习笔记三(封装)
java·笔记·学习
霸道流氓气质1 小时前
Java开发中常用CollectionUtils方式,以及Spring中CollectionUtils常用方法示例
java·spring
失散131 小时前
分布式专题——5 大厂Redis高并发缓存架构实战与性能优化
java·redis·分布式·缓存·架构
通达的K1 小时前
Java实战项目演示代码及流的使用
java·开发语言·windows
David爱编程1 小时前
深入 Java synchronized 底层:字节码解析与 MonitorEnter 原理全揭秘
java·后端
索迪迈科技1 小时前
Protobuf 新版“调试表示为什么有链接?为什么会打码?我该怎么改代码?
java·log4j·apache
a_blue_ice1 小时前
JAVA 面试 MySQL
java·mysql·面试