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

相关推荐
曹牧12 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
爬山算法12 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
kfyty72512 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
猫头虎13 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
李少兄13 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
忆~遂愿13 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
小韩学长yyds13 小时前
Java序列化避坑指南:明确这4种场景,再也不盲目实现Serializable
java·序列化
仟濹13 小时前
【Java基础】多态 | 打卡day2
java·开发语言
Re.不晚13 小时前
JAVA进阶之路——无奖问答挑战2
java·开发语言
Ro Jace14 小时前
计算机专业基础教材
java·开发语言