
Kubernetes 搭建RabbitMq集群环境
由于Kubectl RabbitMQ 插件在官方是基于krew进行安装的所以我们首先需要安装krew插件。
安装Krew插件
Krew 本身是一个kubectl通过 Krew 安装和更新的插件。
可通过该链接根据不同环境进行安装:https://krew.sigs.k8s.io/docs/user-guide/setup/install/
MacOS/Linux安装
1.确保git已安装。
2.运行此命令下载并安装krew。
(
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.将该$HOME/.krew/bin
目录添加到 PATH 环境变量中。为此,请更新您的.bashrc
或.zshrc
文件并附加以下行:
export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
4.运行kubectl krew
以检查安装。
安装 kubectl-rabbitmq 插件
通过如下命令可以使用krew进行安装:
kubectl krew install rabbitmq
验证安装情况
kubectl rabbitmq help
安装Rabbitmq Cluster Operator
kubectl rabbitmq install-cluster-operator
安装 Cluster Operator 会创建一堆 Kubernetes 资源。
Operator 需要这些来创建、更新和删除 RabbitMQ 集群。
它将创建于一个新的命名空间中rabbitmq-system
,我们可以通过kubectl get all -n rabbitmq-system
查看创建情况。
创建Rabbitmq集群
接着我们通过kubectl rabbitmq create mq1
命令创建一个mq1
的rabbitmq集群。
接着我们查看mq1
的集群情况
kubectl rabbitmq get mq1
我们发现pod一直处于Pending状态,一般为Pending状态多半是没有可绑定的pv的引起的。
我们先在所有的机器上创建/mq1data
目录,并赋予权限
mkdir /mq1data
chmod -R 777 /mq1data
接着我们编写一个PV。并进行创建。
vim pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: mq1-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mq1data"
kubectl apply -f pv.yaml
再次查看已经没问题了
查看Dashborad UI
查看用户与密码
kubectl rabbitmq secrets mq1
接着我们通过port-forward端口转发的方式,访问我们mq1的服务。
kubectl port-forward "service/mq1" 15672 --address='0.0.0.0'
访问地址为:host:15672
关于集群创建的相关参数
kubectl rabbitmq create mq1 [arg]
参数名 | 描述 |
---|---|
-n | 命名空间 |
—replicas | 集群副本数 |
—service | 服务类型(默认为:ClusterIP) |
—image | pod的镜像 |
—image-pull-secret | 拉取镜像的secret |
—tls-secret | https的证书secret |
—storage-class | 指定的SC动态卷(建议在此之前指定好SC动态卷) |
更多管理请参考
https://www.rabbitmq.com/kubernetes/operator/quickstart-operator.html
https://www.rabbitmq.com/kubernetes/operator/kubectl-plugin.html
https://www.rabbitmq.com/kubernetes/operator/install-operator.html
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

