使用rabbitmq-operator在k8s集群上部署rabbitmq实例

文章目录


前言

使用rabbitmq-operator在k8s集群上部署rabbitmq实例。时区设置为上海


一、rabbitmq-operator

官网地址:https://www.rabbitmq.com/kubernetes/operator/install-operator

github上的tag列表网址:https://github.com/rabbitmq/cluster-operator/tags

二、进行部署

1.部署cluster-operator

首先获取cluster-operator.yml文件,然后增加上海时区的参数

我使用的是v2.9.0版本

shell 复制代码
wget https://github.com/rabbitmq/cluster-operator/releases/download/v2.9.0/cluster-operator.yml

增加上海时区的参数

yaml 复制代码
    spec:
      containers:
      - command:
        - /manager
        env:
        - name: OPERATOR_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: TZ
          value: Asia/Shanghai

创建operator

shell 复制代码
kubectl create -f cluster-operator.yml

2.创建自己需要的特定命名空间

准备rabbitmq-namespace.yaml文件

yaml 复制代码
#https://www.rabbitmq.com/kubernetes/operator/install-operator

apiVersion: v1
kind: Namespace
metadata:
  name: slw-rabbitmq # Change this value if you want a different namespace name
  labels:
    name: slw-rabbitmq # Change this value to match metadata.name

创建命名空间

shell 复制代码
kubectl create -f rabbitmq-namespace.yaml

3.创建rabbitmq的instance

准备rabbitmq.yaml文件.

时区配置需要写在override下,卸载spec.env是不支持的。

yaml 复制代码
apiVersion: rabbitmq.com/v1beta1
kind: RabbitmqCluster
metadata:
  name: rabbitmqcluster-slw
  namespace: slw-rabbitmq
  labels:
    app: rabbitmq
spec:
  image: docker.io/rabbitmq:3.13.2-management
  replicas: 3
  service:
    type: ClusterIP
    #type: NodePort
  persistence:
    storageClassName: rook-cephfs 
    storage: 5Gi
  rabbitmq:
    additionalConfig: |
      default_user = guest
      default_pass = guest
  override:
    statefulSet:
      spec:
        template:
          spec:
            containers:
              - name: rabbitmq
                env:
                - name: TZ
                  value: Asia/Shanghai

通过yaml文件创建实例

shell 复制代码
kubectl create -f rabbitmq.yaml

4.创建nodeport访问

配置文件准备rabbitmq-nodeport.yaml

yaml 复制代码
kind: Service
apiVersion: v1
metadata:
  name: rabbitmqcluster-slw-nodeport
  namespace: slw-rabbitmq
  labels:
    app: rabbitmq
    app.kubernetes.io/component: rabbitmq
    app.kubernetes.io/name: rabbitmqcluster-slw
    app.kubernetes.io/part-of: rabbitmq
spec:
  ports:
    - name: amqp
      protocol: TCP
      appProtocol: amqp
      port: 5672
      targetPort: 5672
      nodePort: 30903
    - name: management
      protocol: TCP
      appProtocol: http
      port: 15672
      targetPort: 15672
      nodePort: 30904
    - name: prometheus
      protocol: TCP
      appProtocol: prometheus.io/metrics
      port: 15692
      targetPort: 15692
      nodePort: 30905
  selector:
    app.kubernetes.io/name: rabbitmqcluster-slw
  type: NodePort
  sessionAffinity: None
  externalTrafficPolicy: Cluster
  ipFamilies:
    - IPv4
  ipFamilyPolicy: SingleStack

通过yaml文件创建service

shell 复制代码
kubectl create -f rabbitmq-nodeport.yaml

结果验证

通过网页访问管理页面http://IP:30904/

账号密码均为guest

相关推荐
张忠琳8 小时前
【NPU】Ascend Device Plugin —Part 6 K8s客户端 + 重复检测模块 超深度源码分析之二
云原生·容器·kubernetes·npu·docker device
JLWcai202510098 小时前
核电打磨 “安全卫士”|金利威不锈钢专用树脂砂轮,合规高效双在线
mysql·mongodb·eureka·sqlite·rabbitmq·nosql·memcached
云川之下8 小时前
【k8s】SR‑IOV‑Network‑Operator 详解
云原生·容器·kubernetes
风曦Kisaki10 小时前
对象存储 MinIO 的两种生产环境适用部署方式
kubernetes
Ai拆代码的曹操10 小时前
DaemonSet OnDelete 策略详解:为何 rollout restart 无效及正确迁移方案
docker·容器·kubernetes
名字还没想好☜11 小时前
Kubernetes NetworkPolicy 实战:默认全通的坑与用标签做零信任隔离
运维·云原生·容器·kubernetes·networkpolicy
风曦Kisaki14 小时前
# Kubernetes(K8s)笔记Day13 :工作负载资源概述与 Job (CronJob)控制器
linux·笔记·云原生·容器·kubernetes
风曦Kisaki1 天前
# Kubernetes(K8s)笔记Day12 :K8s 七层代理(Ingress 和 Ingress Controller)
linux·笔记·云原生·容器·kubernetes
雨辰AI1 天前
达梦 DM9 K8s 密评合规部署|等保三级 + 密评双标准安全加固(金融级实测通过)
安全·云原生·容器·金融·kubernetes·政务
雨辰AI1 天前
K8s 数据库 Secret 加密实战|密码明文漏洞彻底修复,等保密评双合规(金仓 / 达梦双库适配)
数据库·容器·kubernetes