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

相关推荐
Chase_Mos2 小时前
Spring 必会之微服务篇(1)
java·spring·微服务
小林学习编程5 小时前
SpringBoot校园失物招领信息平台
java·spring boot·后端
撸码到无法自拔5 小时前
docker常见命令
java·spring cloud·docker·容器·eureka
heart000_15 小时前
IDEA 插件推荐:提升编程效率
java·ide·intellij-idea
ŧ榕树先生6 小时前
查看jdk是否安装并且配置成功?(Android studio安装前的准备)
java·jdk
未来的JAVA高级开发工程师6 小时前
适配器模式
java
LUCIAZZZ6 小时前
JVM之内存管理(一)
java·jvm·spring·操作系统·springboot
D_aniel_6 小时前
排序算法-计数排序
java·排序算法·计数排序
极小狐6 小时前
极狐GitLab 通用软件包存储库功能介绍
java·数据库·c#·gitlab·maven
旧故新长6 小时前
Browserless 快速上手
java