k8s部署rabbitmq单机版详细yaml文件
时间: 2023-09-06 11:03:16 浏览: 168
k8s v1.16部署yaml文件及一些匹配版本插件
在Kubernetes上部署RabbitMQ单机版,可以使用以下详细的YAML文件:
```
apiVersion: v1
kind: Service
metadata:
name: rabbitmq-service
spec:
selector:
app: rabbitmq
type: LoadBalancer
ports:
- name: amqp
port: 5672
targetPort: 5672
- name: management
port: 15672
targetPort: 15672
---
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
- containerPort: 15672
env:
- name: RABBITMQ_DEFAULT_USER
value: myuser
- name: RABBITMQ_DEFAULT_PASS
value: mypass
volumeMounts:
- name: rabbitmq-data
mountPath: /var/lib/rabbitmq
volumes:
- name: rabbitmq-data
emptyDir: {}
```
上述YAML文件定义了一个Service和一个Deployment。Service负责将流量导入到RabbitMQ Pod,Deployment用于定义RabbitMQ容器的部署细节。在Service中,我们指定了两个端口:5672用于AMQP协议,15672用于RabbitMQ管理界面。Deployment中的容器定义使用了RabbitMQ官方镜像,设置了容器端口和环境变量。此外,还创建了一个名为rabbitmq-data的空目录用于存储RabbitMQ数据。
将以上YAML文件保存为rabbitmq.yaml,然后使用kubectl apply命令部署RabbitMQ到Kubernetes集群:
```
kubectl apply -f rabbitmq.yaml
```
等待一段时间,可以通过kubect get pods命令查看RabbitMQ Pod的运行状态,以及通过kubectl get services命令获取RabbitMQ服务的外部IP地址。然后就可以使用该IP地址访问RabbitMQ管理界面并进行相关操作。
阅读全文