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

相关推荐
天空属于哈夫克31 分钟前
企业微信API常见的错误和解决方案
java·数据库·企业微信
摇滚侠1 小时前
VMvare 虚拟机 Oracle19c 安装步骤,远程连接 Oracle19c,百度网盘安装包
java·oracle
梁萌1 小时前
idea报错找不到XX包的解决方法
java·intellij-idea·启动报错·缺少包
Agent产品评测局1 小时前
生产排期与MES/ERP系统打通,实操方法详解 —— 2026企业级智能体自动化选型与实战指南
java·运维·人工智能·ai·chatgpt·自动化
阿丰资源1 小时前
基于Spring Boot的电影城管理系统(直接运行)
java·spring boot·后端
呱牛do it1 小时前
企业级门户网站设计与实现:基于SpringBoot + Vue3的全栈解决方案(Day 8)
java
消失的旧时光-19432 小时前
Spring Boot 工程化进阶:统一返回 + 全局异常 + AOP 通用工具包
java·spring boot·后端·aop·自定义注解
NE_STOP2 小时前
Redis--发布订阅命令和Redis事务
java
PAC_3Dame3 小时前
记一次真实的线上OOM
java
SunnyDays10113 小时前
如何在Java中将Word文档转换为图像(JPEG、PNG或SVG)
java