helm部署rabbitmq

1.添加rabbitmq仓库并下载包

helm repo add bitnami https://charts.bitnami.com/bitnami
helm pull bitnami/rabbitmq --version 10.1.4
tar -zxvf rabbitmq-10.1.4.tgz
mv values.yaml values.yaml.back
grep -v "#" values.yaml.back > values.yaml

2.helm部署服务与默认rabbitmq/values.yaml修改
可以修改rabbitmq指定版本

image:
  registry: docker.io
  repository: bitnami/rabbitmq
  tag: 3.10.5-debian-10-r0

如果不挂载持久化磁盘可修改persistence 为false

persistence:
  enabled: false
  storageClass: ""
  selector: {}
  accessModes:
    - ReadWriteOnce
  existingClaim: ""
  mountPath: /bitnami/rabbitmq/mnesia
  subPath: ""
  size: 8Gi
  annotations: {}

如果要暴露端口可修改service配置type: NodePort,可以自己指定暴露的端口

service:
  type: NodePort

  portEnabled: true
  distPortEnabled: true
  managerPortEnabled: true
  epmdPortEnabled: true
  ports:
    amqp: 5672
    amqpTls: 5671
    dist: 25672
    manager: 15672
    metrics: 9419
    epmd: 4369
  portNames:
    amqp: "amqp"
    amqpTls: "amqp-ssl"
    dist: "dist"
    manager: "http-stats"
    metrics: "metrics"
    epmd: "epmd"

  nodePorts:
    amqp: "31672"
    amqpTls: "31671"
    dist: "31673"
    manager: "31674"
    epmd: "31419"
    metrics: "31369"

部署服务

helm install my-rabbitmq rabbitmq -n default

3.helm持久指定服务器和持久化挂载部署

pvc创建

tee ci/default/rabbitmq-data-local-path-values.yaml <<EOF

nameOverride: rabbitmq-data-local-path

size: 1Gi
storageClassName: local-path


EOF
helm upgrade rabbitmq-data-local-path ./pvc/ -f ./pvc/ci/ci-values.yaml -f ./pvc/ci/default/rabbitmq-data-local-path-values.yaml -i -n default
kubectl label node gem-yxyw-t-c02 rabbitmq.default=true
tee ci/ci-values.yaml <<EOF
image:
  registry: docker.io
  repository: bitnami/rabbitmq
  tag: 3.9
  debug: false
  pullPolicy: IfNotPresent
  pullSecrets: []
  
affinity:
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
      - matchExpressions:
        - key: rabbitmq.default
          operator: In
          values:
          - "true"
persistence:
  enabled: true
  existingClaim: rabbitmq-data-local-path

service:
  enabled: true
  type: NodePort
EOF

启动服务

helm upgrade rabbitmq ./rabbitmq/ -f ./rabbitmq/values.yaml -f ./rabbitmq/ci/ci-values.yaml -i -n default

创建rabbitmq用户
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置登录访问权限
在这里插入图片描述

要通过operator部署RabbitMQ,您可以按照以下步骤进行操作: 1. 安装Kubernetes集群:首先,您需要在Kubernetes集群上安装和配置Kubernetes。可以使用各种工具(例如,Minikube、kubeadm或托管服务)来设置一个本地或云上的Kubernetes集群。 2. 安装RabbitMQ Operator:接下来,您需要安装RabbitMQ Operator,它是一个Kubernetes自定义资源定义(CRD),用于管理RabbitMQ实例。您可以通过以下方式安装Operator: - 使用Helm安装:Helm是一个Kubernetes包管理器,可以简化应用程序的部署和管理。您可以使用Helm Chart来安装RabbitMQ Operator。首先,确保已经安装了Helm客户端,然后添加RabbitMQ Operator的Helm仓库并安装Operator: ``` helm repo add rabbitmq https://charts.bitnami.com/bitnami helm install rabbitmq-operator rabbitmq/rabbitmq-operator ``` - 使用kubectl安装:您也可以使用kubectl命令行工具直接安装RabbitMQ Operator。首先,确保kubectl已正确配置,并执行以下命令: ``` kubectl apply -f https://github.com/rabbitmq/cluster-operator/releases/latest/download/cluster-operator.yml ``` 3. 创建RabbitMQ实例:一旦RabbitMQ Operator成功安装,您可以使用Kubernetes的自定义资源(CR)来创建RabbitMQ实例。创建一个YAML文件,例如`rabbitmq-instance.yaml`,并定义所需的RabbitMQ实例配置,例如实例名称、用户名、密码等。以下是一个示例文件的内容: ```yaml apiVersion: rabbitmq.com/v1beta1 kind: RabbitmqCluster metadata: name: my-rabbitmq spec: replicas: 3 rabbitmq: image: rabbitmq:3-management rabbitmqUsername: admin rabbitmqPassword: password ``` 然后,使用kubectl命令创建RabbitMQ实例: ``` kubectl apply -f rabbitmq-instance.yaml ``` 4. 等待RabbitMQ集群部署完成:部署RabbitMQ集群可能需要一些时间。您可以使用以下命令来监视RabbitMQ集群的状态: ``` kubectl get rabbitmqclusters ``` 等到状态显示为`Running`时,表示RabbitMQ集群已成功部署。 现在,您已经通过Operator成功部署RabbitMQ集群。您可以使用kubectl命令或RabbitMQ管理界面(通过访问RabbitMQ服务的NodePort或LoadBalancer IP)来管理和监视RabbitMQ实例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值