kubesphere+k8s安装RabbitMQ集群+镜像模式

530 字
3 分钟
kubesphere+k8s安装RabbitMQ集群+镜像模式

1.安装krew#

krew官网进去,再进入安装文档

image-20220121145706361
image-20220121145706361

  1. 安装git

    Terminal window
    yum install -y git
  2. 执行黑框里的命令

    Terminal window
    (
    set -x; cd "$(mktemp -d)" &&
    OS="$(uname | tr '[:upper:]' '[:lower:]')" &&
    ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" &&
    KREW="krew-${OS}_${ARCH}" &&
    curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" &&
    tar zxvf "${KREW}.tar.gz" &&
    ./"${KREW}" install krew
    )
  3. 将下面的语句添加到环境变量中

    • 当前窗口执行改命令 只在当前窗口有效 新开的窗口无效

      Terminal window
      export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
    • 全局生效

      Terminal window
      vim ~/.bashrc

      在最后一行添加上诉命令,新开一个窗口即可

  4. 安装检查

    Terminal window
    kubectl krew

    image-20220121150302092
    image-20220121150302092

2.在kubesphere后台创建一个项目(命名空间)#

为什么这么做呢?因为在操作过程中,通过命令直接安装后,kubesphere后台不显示

image-20220121160719885
image-20220121160719885

3.安装插件#

Terminal window
kubectl krew install rabbitmq

image-20220121160020782
image-20220121160020782

3.安装rabbitmq-cluster-operator#

可以使用kubectl rabbitmq -h查询可以携带的参数 这里默认

Terminal window
kubectl rabbitmq install-cluster-operator

image-20220121161008387
image-20220121161008387

4.创建集群#

Terminal window
kubectl rabbitmq -n demo-project create rabbitmq-cluster --replicas 3 --service ClusterIP --image rabbitmq:3.9.13-management
Terminal window
-n 指定命名空间
rabbitmq-cluster 是实例名称
--replicas 副本数
--service 创建的服务类型
--image 使用的镜像

image-20220121163844833
image-20220121163844833

5.设置NodePort外网访问#

image-20220121164816700
image-20220121164816700

image-20220121164901757
image-20220121164901757

image-20220121164921619
image-20220121164921619

用户名密码从保密字段里找

image-20220121165040917
image-20220121165040917

image-20220121165228493
image-20220121165228493

6.通过任意终端添加用户#

  • 查看集群状态

    Terminal window
    rabbitmqctl cluster_status
  • 添加用户,用户名为admin,密码为admin

    Terminal window
    rabbitmqctl add_user admin admin
  • 查看用户列表

    Terminal window
    rabbitmqctl list_users
  • 给admin用户设置管理员权限

    Terminal window
    rabbitmqctl set_user_tags admin administrator
  • 其它命令

    Terminal window
    rabbitmqctl delete_user admin # 删除admin用户
    rabbitmq-server -detached # 启动rabbitmq服务,该命令可以启动erlang虚拟机和rabbitmq服务
  • ​ 将某一节点从硬盘模式改为内存模式

    Terminal window
    rabbitmqctl stop_app
    rabbitmqctl change_cluster_node_type ram
    rabbitmqctl start_app

    image-20220121172015118
    image-20220121172015118

7.配置镜像集群#

  1. 方式一:通过命令行设置

    针对某一个队列去配置其对应的镜像其实比较简单,我们只需要去添加一个镜像策略即可:

    Terminal window
    rabbitmqctl set_policy [-p <vhost>] [--priority <priority>] [--apply-to <apply-to>] <name> <pattern> <definition>
    Terminal window
    #设置/交换机的策略名称为ha 对所有队列生效 镜像队列模式为节点 镜像队列消息的同步方式为automatic
    rabbitmqctl set_policy -p / ha "^" '{"ha-mode":"all","ha-sync-mode":"automatic"}'

    image-20201018175458781
    image-20201018175458781

    image-20201018175533620
    image-20201018175533620

  2. 方式二:通过后台管理设置

    image-20220121183803914
    image-20220121183803914

    image-20220121183850796
    image-20220121183850796

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

kubesphere+k8s安装RabbitMQ集群+镜像模式
https://tianch.com.cn/posts/tutorials/kubesphere-k8s-an-zhuang-rabbitmq-ji-qun-jing-xiang-mo-shi/
作者
田小晖
发布于
2022-01-21
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
田小晖
记录技术成长,分享运维与开发经验。
公告
分类
标签
站点统计
文章
134
分类
9
标签
29
总字数
203,962
运行时长
0
最后活动
0 天前
站点信息
构建平台
Cloudflare Pages
博客版本
Firefly v6.15.6
文章许可
CC BY-NC-SA 4.0