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