K8S集群rabbitmq这个pod出现CrashLoopBackOff异常状态

问题现象:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

问题原因:
k8s集群rabbitmq在删除重建时出现CrashLoopBackOff状态无法正常启动,经排查pod信息和日志信息,发现有残余的数据信息和新写入的数据信息起冲突导致pod服务正常启动。

解决方法:
rm -rf /data1/rabbitmq/* 将数据清空

kubectl delete -f /etc/axion/manifests/rabbitmq/rabbitmq-cluster-pods.yaml 删除

kubectl create -f /etc/axion/manifests/rabbitmq/rabbitmq-cluster-pods.yaml 创建

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kubernetes (k8s) 是一个开源的容器编排系统,常用于自动化部署、扩展和管理容器化的应用程序。部署RabbitMQ(一个开源的消息队列服务)到 Kubernetes 单机上,可以通过使用 Deployments 或者 StatefulSets 进行操作,因为 RabbitMQ 需要保持持久的实例。 下面是部署 RabbitMQ 到单个 Kubernetes 节点的简要步骤: 1. 准备RabbitMQ镜像: 使用Dockerfile构建一个包含RabbitMQ的镜像,或者从Docker Hub下载官方RabbitMQ镜像。 2. 创建YAML配置文件: 编写一个 `deployment.yaml` 或 `statefulset.yaml` 文件,定义RabbitMQPod配置。例如,使用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、付费专栏及课程。

余额充值