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

相关推荐
晚霞的不甘11 分钟前
CANN 编译器深度解析:UB、L1 与 Global Memory 的协同调度机制
java·后端·spring·架构·音视频
SunnyDays101113 分钟前
使用 Java 冻结 Excel 行和列:完整指南
java·冻结excel行和列
摇滚侠24 分钟前
在 SpringBoot 项目中,开发工具使用 IDEA,.idea 目录下的文件需要提交吗
java·spring boot·intellij-idea
云姜.29 分钟前
java多态
java·开发语言·c++
李堇32 分钟前
android滚动列表VerticalRollingTextView
android·java
泉-java1 小时前
第56条:为所有导出的API元素编写文档注释 《Effective Java》
java·开发语言
zfoo-framework1 小时前
帧同步和状态同步
java
charlotte102410241 小时前
高并发:关于在等待学校教务系统选课时的碎碎念
java·运维·网络
亓才孓1 小时前
[JDBC]PreparedStatement替代Statement
java·数据库
_F_y2 小时前
C++重点知识总结
java·jvm·c++