k8s中给rabbitmq安装插件

1.rabbitmq安装插件常规方法

官方的插件地址http://www.rabbitmq.com/community-plugins.html

下载所需要的插件,后缀为.ez。安装时需要将.ez文件拷贝到安装的插件目录。


以下是不同系统中默认安装的插件目录路径:

Linux     /usr/lib/rabbitmq/lib/rabbitmq_server-version/plugins

Windows     C:\Program Files\RabbitMQ\rabbitmq_server-version\plugins(安装rabbitmq的目录)

Homebrew     /usr/local/Cellar/rabbitmq/version/plugins

Generic Unix     rabbitmq_server-version/plugins (安装rabbitmq的目录)


插件安装完成后可以通过命令sudo rabbitmq-plugins list查看已有插件列表

文件拷贝到插件目录后可以通过命令sudo rabbitmq-plugins enable plugin-name启用插件。

至此插件安装完成。


以前为网上查到的常规安装方法

2.在docker容器中查找路径

k8s中mq部署时挂载了PVC,所以没有办法直接连接服务器将文件拷到磁盘上。

所以想办法进入到挂载的pvc磁盘中,见另一篇文章。

linux 下怎么进入挂载的磁盘,例如 /dev/sda1


但是进入到挂载的磁盘中,发现并没有对应的plugins文件夹。所以放弃此方法。

docker容器运行后,个人理解就是一台新的虚拟机,所以得在k8s中进入容器的终端操作。相当于直接进入到docker的虚拟机里了。


按照此步骤发现并没有找到Linux下的plugins文件夹/usr/lib/rabbitmq/lib/rabbitmq_server-version/plugins

翻遍了终端中的文件夹,无意中发现根目录有一个plugins的文件夹,打开一看果然全是rabbitmq的各种.ez插件文件。


然后才想起来用linux的搜索文件命令Linux命令之文件搜索

find / -name plugins

找出plugins的文件夹为: /opt/rabbitmq/plugins

或者 grep -r --include="*.ez" /    搜索后缀为ez的文件

3.向容器中的plugins文件夹拷贝插件

先将要安装的插件.ez文件上传到宿主机,wget url的方式也可以

然后将.ez文件拷贝到/opt/rabbitmq/plugins

拷贝方法如下:

拷贝本地文件到docker容器

查找所有容器,找到容器名字    docker ps -a

用容器名字查找容器长ID      docker inspect -f '{{.ID}}' 容器名

拷贝本地文件到容器           docker cp 本地路径 容器长ID:容器路径


另一种方法不用找容器长ID,直接用容器名,经验证可用。docker容器与宿主拷贝文件

docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径

4.到终端中启用插件

rabbitmq-plugins list查看已有插件列表是否包含此次安装的

rabbitmq-plugins enable plugin-name启用插件

此次安装插件为rabbitmq_delayed_message_exchange

在新增交换机这里,发现多了一个类型


你可能感兴趣的:(k8s中给rabbitmq安装插件)