阿里云创建NAS共享存储的StorageClass:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: alicloud-nas-subpath-public
provisioner: nasplugin.csi.alibabacloud.com
mountOptions:
- nolock,tcp,noresvport
- vers=3
parameters:
volumeAs: subpath
server: "xxxxxx.cn-hangzhou.nas.aliyuncs.com:/"
reclaimPolicy: Retain
部署rabbitmq集群:
public-service-ns.yaml
apiVersion: v1
kind: Namespace
metadata:
name: public-service
rabbitmq-configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: rmq-cluster-config
namespace: public-service
labels:
addonmanager.kubernetes.io/mode: Reconcile
data:
enabled_plugins: |
[rabbitmq_management,rabbitmq_peer_discovery_k8s].
rabbitmq.conf: |
loopback_users.guest = false
## Clustering
cluster_formation.peer_discovery_backend = rabbit_peer_discovery_k8s
cluster_formation.k8s.host = kubernetes.default.svc.cluster.local
cluster_formation.k8s.address_type = hostname
#################################################
# public-service is rabbitmq-cluster's namespace#
#################################################
cluster_formation.k8s.hostname_suffix = .rmq-cluster.public-service.svc.cluster.local
cluster_formation.node_cleanup.interval = 10
cluster_formation.node_cleanup.only_log_warning = true
cluster_partition_handling = autoheal
## queue master locator
queue_master_locator=min-masters
rabbitmq-rbac.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: rmq-cluster
namespace: public-service
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: Role
metadata:
name: rmq-cluster
namespace: public-service
rules:
- apiGroups:
- ""
resources:
- endpoints
verbs:
- get
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: RoleBinding
metadata:
name: rmq-cluster
namespace: pu