k8s安装RabbitMQ

1,435 阅读2分钟

定义 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