https://www.rabbitmq.com/kubernetes/operator/install-operator
镜像:https://hub.docker.com/_/rabbitmq/
RabbitMQ Cluster Operator Plugin for kubectl
https://www.rabbitmq.com/kubernetes/operator/kubectl-plugin
kubectl krew install rabbitmq
RabbitMQ Cluster Kubernetes Operator
https://github.com/rabbitmq/cluster-operator
https://www.rabbitmq.com/kubernetes/operator/install-operator#helm-chart
Install Operator
helm repo add bitnami https://charts.bitnami.com/bitnami
helm pull bitnami/rabbitmq-cluster-operator
helm show values ./rabbitmq-xxx.tgz > ./rabbitmq-xxx.tgz.helm-values.yaml
helm upgrade --install --namespace rabbitmq-cluster-operator --create-namespace \
rabbitmq-cluster-operator \
./rabbitmq-cluster-operator-4.3.22.tgz -f rabbitmq-cluster-operator-4.3.22.tgz.helm-values.yaml
Chart Parameters
https://github.com/bitnami/charts/tree/main/bitnami/rabbitmq-cluster-operator#parameters
Modifying the RabbitMQ Cluster Operator Default Configuration
https://www.rabbitmq.com/kubernetes/operator/configure-operator-defaults
Using Operator
https://www.rabbitmq.com/kubernetes/operator/using-operator
Existing examples | https://www.rabbitmq.com/kubernetes/operator/using-operator#examples
Configure a RabbitMQ Instance | https://www.rabbitmq.com/kubernetes/operator/using-operator#configure
apiVersion: rabbitmq.com/v1beta1
kind: RabbitmqCluster
metadata:
name: rabbitmq-cluster-default
spec:
replicas: 3
resources:
requests:
cpu: 1000m
memory: 2Gi
limits:
cpu: 1000m
memory: 2Gi
persistence:
storageClassName: nfs-client
storage: 50Gi
rabbitmq:
additionalPlugins:
- rabbitmq_delayed_message_exchange
service:
type: LoadBalancer
image:
- Default Value: The community RabbitMQ with management plugin image. —— 所以我们不需要单独安装 Management 插件;
heidiks/rabbitmq-delayed-message-exchange
- GitHub Repository: https://github.com/heidiks/rabbitmq-delayed-message-exchange
- Docker Images: https://hub.docker.com/r/heidiks/rabbitmq-delayed-message-exchange
Open the Management UI
账号密码:
kubectl get secrets rabbitmq-cluster-default-default-user -o jsonpath="{.data.username}" | base64 -d
kubectl get secrets rabbitmq-cluster-default-default-user -o jsonpath="{.data.password}" | base64 -d
kubectl rabbitmq manage rabbitmq-cluster-default
Q:创建 Ingress 资源,来暴露 Management UI 服务
A:需要自行创建 Ingress 资源;
R:Creating an Ingress for the Management UI in a RabbitmqCluster spec · Issue #940 · rabbitmq/cluster-operator
RabbitMQ Messaging Topology Kubernetes Operator
https://github.com/rabbitmq/messaging-topology-operator
https://www.rabbitmq.com/kubernetes/operator/install-topology-operator
WIP