Kubernetes RabbitMQ 集群项目使用文档
1. 项目的目录结构及介绍
kubernetes-rabbitmq-cluster/
├── charts/
│ ├── rabbitmq-cluster/
│ │ ├── Chart.yaml
│ │ ├── templates/
│ │ │ ├── deployment.yaml
│ │ │ ├── service.yaml
│ │ │ └── ...
│ │ └── values.yaml
├── manifests/
│ ├── rabbitmq-cluster.yaml
│ └── ...
├── scripts/
│ ├── setup.sh
│ └── ...
├── README.md
└── LICENSE
- charts/: 包含 Helm Chart 文件,用于在 Kubernetes 上部署 RabbitMQ 集群。
- rabbitmq-cluster/: 具体的 RabbitMQ 集群 Chart。
- Chart.yaml: 描述 Chart 的元数据。
- templates/: 包含 Kubernetes 资源模板文件。
- deployment.yaml: 定义 RabbitMQ 集群的 Deployment。
- service.yaml: 定义 RabbitMQ 集群的 Service。
- values.yaml: 包含 Chart 的默认配置值。
- rabbitmq-cluster/: 具体的 RabbitMQ 集群 Chart。
- manifests/: 包含 Kubernetes 资源清单文件,用于手动部署 RabbitMQ 集群。
- scripts/: 包含用于设置和管理的脚本。
- README.md: 项目说明文档。
- LICENSE: 项目许可证。
2. 项目的启动文件介绍
charts/rabbitmq-cluster/templates/deployment.yaml
该文件定义了 RabbitMQ 集群的 Deployment,包括容器镜像、端口、环境变量等配置。
apiVersion: apps/v1
kind: Deployment
metadata:
name: rabbitmq-cluster
spec:
replicas: 3
selector:
matchLabels:
app: rabbitmq-cluster
template:
metadata:
labels:
app: rabbitmq-cluster
spec:
containers:
- name: rabbitmq
image: rabbitmq:3.8
ports:
- containerPort: 5672
env:
- name: RABBITMQ_DEFAULT_USER
value: "admin"
- name: RABBITMQ_DEFAULT_PASS
value: "admin"
charts/rabbitmq-cluster/templates/service.yaml
该文件定义了 RabbitMQ 集群的 Service,用于暴露集群的端口。
apiVersion: v1
kind: Service
metadata:
name: rabbitmq-cluster
spec:
ports:
- port: 5672
targetPort: 5672
selector:
app: rabbitmq-cluster
3. 项目的配置文件介绍
charts/rabbitmq-cluster/values.yaml
该文件包含了 Helm Chart 的默认配置值,用户可以根据需要进行自定义。
replicaCount: 3
image:
repository: rabbitmq
tag: 3.8
service:
type: ClusterIP
port: 5672
env:
RABBITMQ_DEFAULT_USER: admin
RABBITMQ_DEFAULT_PASS: admin
manifests/rabbitmq-cluster.yaml
该文件是一个 Kubernetes 资源清单文件,包含了 Deployment 和 Service 的定义,用户可以直接应用该文件来部署 RabbitMQ 集群。
apiVersion: apps/v1
kind: Deployment
metadata:
name: rabbitmq-cluster
spec:
replicas: 3
selector:
matchLabels:
app: rabbitmq-cluster
template:
metadata:
labels:
app: rabbitmq-cluster
spec:
containers:
- name: rabbitmq
image: rabbitmq:3.8
ports:
- containerPort: 5672
env:
- name: RABBITMQ_DEFAULT_USER
value: "admin"
- name: RABBITMQ_DEFAULT_PASS
value: "admin"
---
apiVersion: v1
kind: Service
metadata:
name: rabbitmq-cluster
spec:
ports:
- port: 5672
targetPort: 5672