当前位置: 首页 > article >正文

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

文章目录

  • 前言
  • 一、rabbitmq-operator
  • 二、进行部署
    • 1.部署cluster-operator
    • 2.创建自己需要的特定命名空间
    • 3.创建rabbitmq的instance
    • 4.创建nodeport访问
  • 结果验证


前言

使用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版本

wget https://github.com/rabbitmq/cluster-operator/releases/download/v2.9.0/cluster-operator.yml

增加上海时区的参数

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

在这里插入图片描述

创建operator

kubectl create -f cluster-operator.yml

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

准备rabbitmq-namespace.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

创建命名空间

kubectl create -f rabbitmq-namespace.yaml

3.创建rabbitmq的instance

准备rabbitmq.yaml文件.
时区配置需要写在override下,卸载spec.env是不支持的。

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文件创建实例

kubectl create -f rabbitmq.yaml

4.创建nodeport访问

配置文件准备rabbitmq-nodeport.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

kubectl create -f rabbitmq-nodeport.yaml

结果验证

通过网页访问管理页面http://IP:30904/
账号密码均为guest
在这里插入图片描述


http://www.kler.cn/a/350603.html

相关文章:

  • 线上工单引发的思考:Spring Boot 中 @Autowired 与 @Resource 的区别
  • 5 分钟复刻你的声音,一键实现 GPT-Sovits 模型部署
  • win11的WSL报错WslRegisterDistribution failed with error: 0x800701bc
  • Android系统开发(一):AOSP 架构全解析:开源拥抱安卓未来
  • Android系统开发(八):从麦克风到扬声器,音频HAL框架的奇妙之旅
  • 【Python】随机数种子(random seed)的设置
  • js高级-理解call()的原理
  • Java基础15-Java高级
  • Leetcode—1188. 设计有限阻塞队列【中等】(多线程)
  • 从零开始:使用 Flask 或 Django 构建 RESTful API
  • 踩坑日记:线上接口超时问题排查
  • 程序员如何使用AI工具进行设计开发?
  • ES操作指南
  • 【MySQL】滑动窗口函数详解
  • PostgreSQL Windows系统初始化、登录、创建用户及数据库
  • CRMEB标准版Mysql修改sql_mode
  • java的数据类型
  • C++:类和对象1
  • uni-app的界面通讯思维导图
  • 64页精品PPT | 汽车经销商数据应用解决方案
  • 你存在,在我们的攻击画像里
  • Spring Boot:中小型医院网站的敏捷开发
  • 模拟退火算法最常见知识点详解与原理简介控制策略
  • VsCode环境配置C++环境
  • 基于SpringBoot的“社区医院管理服务系统”的设计与实现(源码+数据库+文档+PPT)
  • 高质量SCI论文撰写及投稿丨论文选题、文献调研、实验设计、数据分析、论文结构及语言规范等----AI强大功能