定义 rabbit-nfs.yaml
cat <<EOF> /root/k3s_yaml/rabbit_nfs/rabbit-nfs.yaml
# PV
apiVersion: v1
kind: PersistentVolume
metadata:
name: rabbit-nfs-pv
namespace: default
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: nfs-rabbit
nfs:
path: /root/data/nfs/mongodb
server: 192.168.72.100
---
# pvc
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: rabbit-nfs-pvc
namespace: default
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: nfs-rabbit
---
# deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: rabbit-nfs-deploy
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: rabbit
template:
metadata:
labels:
app: rabbit
spec:
containers:
- name: rabbit
image: bitnami/rabbitmq:3.8.14
imagePullPolicy: IfNotPresent
ports:
- containerPort: 15672
name: rabbit15672
protocol: TCP
- containerPort: 5672
name: rabbit5672
protocol: TCP
volumeMounts:
- name: rabbit-pvc
mountPath: /data/db
volumes:
- name: rabbit-pvc
persistentVolumeClaim:
claimName: mongodb-nfs-pvc
---
# svc
apiVersion: v1
kind: Service
metadata:
name: rabbit-nfs-service
spec:
type: NodePort
ports:
- name: rabbit15672
nodePort: 30672
port: 15672
protocol: TCP
targetPort: 15672
- name: rabbit5672
nodePort: 30072
port: 5672
protocol: TCP
targetPort: 5672
selector:
app: rabbit
EOF
安装
kubectl apply -f /root/k3s_yaml/rabbit_nfs/rabbit-nfs.yaml
查看
[root@cs100 ~]# kubectl get pods -A -o wide
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
kube-system helm-install-traefik-rb69p 0/1 Completed 0 9d 10.42.0.9 k3s-master <none> <none>
kube-system local-path-provisioner-5ff76fc89d-s698r 1/1 Running 14 9d 10.42.0.96 k3s-master <none> <none>
default mongo-nfs-deploy-75447854c9-l247c 1/1 Running 1 30h 10.42.0.94 k3s-master <none> <none>
fleet-system fleet-agent-55bfc495bd-g7mt8 1/1 Running 8 9d 10.42.0.99 k3s-master <none> <none>
default redis-84bfc7c68c-zmqwf 1/1 Running 3 2d22h 10.42.0.103 k3s-master <none> <none>
default seata-server-fb6557d89-xgz9l 1/1 Running 5 4d5h 10.42.0.98 k3s-master <none> <none>
kube-system metrics-server-86cbb8457f-nkck4 1/1 Running 8 9d 10.42.0.101 k3s-master <none> <none>
db-mysql mysql-nfs-deploy-5f4fc57696-7cjkn 1/1 Running 7 7d 10.42.0.104 k3s-master <none> <none>
kube-system svclb-traefik-8rk4w 2/2 Running 22 9d 10.42.0.102 k3s-master <none> <none>
kube-system coredns-854c77959c-mvlqz 1/1 Running 9 9d 10.42.0.97 k3s-master <none> <none>
kube-system traefik-6f9cbd9bd4-ppcmc 1/1 Running 9 9d 10.42.0.100 k3s-master <none> <none>
default rabbit-nfs-deploy-67877c4d97-6pbmx 0/1 ContainerCreating 0 98s <none> k3s-master <none> <none>
cattle-system cattle-cluster-agent-68b9fbcc5d-ghp2x 0/1 CrashLoopBackOff 752 9d 10.42.0.95 k3s-master <none> <none>
打开浏览器进入RabbitMQ的主页
http://192.168.72.100:30672/
初始化用户名:user
初始化密码:bitnami
创建新用户
Admin菜单 -> Add a user
Username:rabbitmq
password:rabbitmq
运行环境配置
在部署时,可以通过设置下面的环境变量来改变容器的运行时:
RABBITMQ_USERNAME: 用户名,默认值为user
RABBITMQ_PASSWORD: 密码,默认值为bitnami
RABBITMQ_HASHED_PASSWORD: 哈希密码
RABBITMQ_VHOST: 安装后启动创建的虚拟主机,默认值为 /
RABBITMQ_ERL_COOKIE: Erlang cookie用于确定不同的节点之间是否允许行互相通信。
RABBITMQ_NODE_TYPE: 节点类型,有限制: stats, queue-ram or queue-disc。 默认值为stats
RABBITMQ_NODE_NAME: 节点名称和主机,例如: node@hostname或node 。默认值为rabbit@localhost。
RABBITMQ_NODE_PORT_NUMBER: 节点端口,默认值为5672
RABBITMQ_CLUSTER_NODE_NAME: 集群名称,例如:clusternode@hostname
RABBITMQ_CLUSTER_PARTITION_HANDLING: 集群分区恢复机制,默认值为: ignore
RABBITMQ_MANAGER_PORT_NUMBER: 管理端口,默认值为15672
RABBITMQ_DISK_FREE_LIMIT: Rabbitmq存储数据的可用空间限制,当低于该值的时候,将触发流量限制。默认值为 {mem_relative, 1.0}
RABBITMQ_ULIMIT_NOFILES: 资源限制, 打开文件描述符的最大数目,默认值为65536