k8s+RabbitMQ单机部署

1 k8s 配置文件yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: rabbitmq-deploy
  namespace: rz-dt
spec:
  replicas: 1
  selector:
    matchLabels:
      app: rabbitmq
  template:
    metadata:
      labels:
        app: rabbitmq
    spec:
      containers:
      - name: rabbitmq
        image: "rz-dt-image-server-registry-vpc.cn-shanghai.cr.aliyuncs.com/rz-dt-real/rabbitmq:3.6.15-management"
        imagePullPolicy: IfNotPresent #pull镜像时机,
        ports:
        - name: amqp
          containerPort: 5672
        - name: http-api
          containerPort: 15672
      imagePullSecrets:
        - name: rz-dt-miyue     
---
apiVersion: v1
kind: Service
metadata:
  name: rabbitmq-service
  namespace: rz-dt
spec:
  ports:
    - name: amqp
      nodePort: 30671
      port: 5672
      protocol: TCP
      targetPort: 5672
    - name: http-api
      nodePort: 30672
      port: 15672
      protocol: TCP
      targetPort: 15672
  selector:
    app: rabbitmq
  sessionAffinity: None
  type: NodePort

2 Dockerfile

(也可以手动拉取,上传镜像仓库,如下 )

docker pull  rabbitmq:3.6.15-management

docker tag rabbitmq:3.6.15-management rz-dt-image-server-registry-vpc.cn-shanghai.cr.aliyuncs.com/rz-dt-real/rabbitmq:3.6.15-management


docker push rz-dt-image-server-registry-vpc.cn-shanghai.cr.aliyuncs.com/rz-dt-real/rabbitmq:3.6.15-management
FROM rabbitmq:3.6.15-management

3 k8s 执行命令:

kubectl --kubeconfig ~/.kube-rz-real/config apply -f rabbitmq-service.yaml

访问地址 http://ip:30672 ,账号guest/guest

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kubernetes (k8s) 是一个开源的容器编排系统,常用于自动化部署、扩展和管理容器化的应用程序。部署RabbitMQ(一个开源的消息队列服务)到 Kubernetes 单机上,可以通过使用 Deployments 或者 StatefulSets 进行操作,因为 RabbitMQ 需要保持持久的实例。 下面是部署 RabbitMQ 到单个 Kubernetes 节点的简要步骤: 1. 准备RabbitMQ镜像: 使用Dockerfile构建一个包含RabbitMQ的镜像,或者从Docker Hub下载官方RabbitMQ镜像。 2. 创建YAML配置文件: 编写一个 `deployment.yaml` 或 `statefulset.yaml` 文件,定义RabbitMQ的Pod配置。例如,使用Deployment: ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: rabbitmq-deployment spec: replicas: 1 selector: matchLabels: app: rabbitmq template: metadata: labels: app: rabbitmq spec: containers: - name: rabbitmq image: rabbitmq:latest ports: - containerPort: 5672 name: amqp - containerPort: 15672 name: management volumes: - name: rabbitmq-data persistentVolumeClaim: claimName: rabbitmq-pvc ``` 如果使用StatefulSet,还需要添加更细致的标识(如Pod名称和Pod序列号)和数据卷(PVC)。 3. 创建PersistentVolumeClaim (PVC): 为RabbitMQ创建一个 PVC 来存储数据,确保有足够的存储空间。 ```yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: rabbitmq-pvc namespace: default spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: "5Gi" ``` 4. 应用配置: 使用 `kubectl apply -f deployment.yaml` 或 `kubectl apply -f statefulset.yaml` 命令将配置应用到集群中。 5. 验证部署: 查看RabbitMQ服务是否正在运行,以及Pod的状态: ``` kubectl get pods,svc -n default ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值