首页 / RABBITMQ / k8s-rabbitmq
k8s-rabbitmq
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了k8s-rabbitmq,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4397字,纯文字阅读大概需要7分钟。
内容图文
![k8s-rabbitmq](/upload/InfoBanner/zyjiaocheng/1334/659e101aa79c4ac7b4058f1e07e025c8.jpg)
引用: https://blog.csdn.net/miss1181248983/article/details/106440068/
版本信息:
k8s:1.18.6
rabbitmq:3.28-manager
存储:
使用nfs提供外部持久化存储
增加了延迟插件:部署时可以直接使用最新版本,测试有效
download: https://www.rabbitmq.com/community-plugins.html
[root@master01 rabbitmq]# cat rabbitmq.yaml --- apiVersion: v1 kind: ServiceAccount metadata: name: rmq-cluster namespace: cyl-middleware --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: Role metadata: name: rmq-cluster namespace: cyl-middleware rules: - apiGroups: - "" resources: - endpoints verbs: - get --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: RoleBinding metadata: name: rmq-cluster namespace: cyl-middleware roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: rmq-cluster subjects: - kind: ServiceAccount name: rmq-cluster namespace: cyl-middleware --- apiVersion: v1 kind: ConfigMap metadata: name: rmq-cluster-config namespace: cyl-middleware labels: addonmanager.kubernetes.io/ mode: Reconcile data: enabled_plugins: | [rabbitmq_management,rabbitmq_peer_discovery_k8s]. rabbitmq. conf: | loopback_users.guest = false cluster_formation.peer_discovery_backend = rabbit_peer_discovery_k8s cluster_formation.k8s.host = kubernetes.default.svc.cluster.local cluster_formation.k8s.address_type = hostname cluster_formation.k8s.hostname_suffix = .rmq-cluster.cyl-middleware.svc.cluster.local cluster_formation.node_cleanup.interval = 10 cluster_formation.node_cleanup.only_log_warning = true cluster_partition_handling = autoheal queue_master_locator=min-masters --- apiVersion: v1 kind: Secret metadata: name: rmq-cluster-secret namespace: cyl-middleware stringData: cookie: ERLANG_COOKIE username: admin password: admin123 type: Opaque --- apiVersion: apps/v1 kind: StatefulSet metadata: name: rmq-cluster namespace: cyl-middleware labels: app: rmq-cluster spec: replicas: 3 selector: matchLabels: app: rmq-cluster serviceName: rmq-cluster template: metadata: labels: app: rmq-cluster spec: serviceAccountName: rmq-cluster terminationGracePeriodSeconds: 30 containers: - name: rabbitmq image: rabbitmq: 3.7.28-management imagePullPolicy: IfNotPresent ports: - containerPort:15672name: http protocol: TCP - containerPort:5672name: amqp protocol: TCP command: - sh args: - -c - cp -v /etc/rabbitmq/rabbitmq.conf ${RABBITMQ_CONFIG_FILE}; exec docker-entrypoint.sh rabbitmq-server env: - name: RABBITMQ_DEFAULT_USER valueFrom:secretKeyRef:key: username name: rmq-cluster-secret - name: RABBITMQ_DEFAULT_PASS valueFrom:secretKeyRef:key: password name: rmq-cluster-secret - name: RABBITMQ_ERLANG_COOKIE valueFrom:secretKeyRef:key: cookie name: rmq-cluster-secret - name: K8S_SERVICE_NAME value: rmq-cluster - name: POD_IP valueFrom:fieldRef:fieldPath: status.podIP - name: POD_NAME valueFrom:fieldRef:fieldPath: metadata.name - name: POD_NAMESPACE valueFrom:fieldRef:fieldPath: metadata.namespace - name: RABBITMQ_USE_LONGNAME value:"true" - name: RABBITMQ_NODENAME value: rabbit@$(POD_NAME).rmq-cluster.$(POD_NAMESPACE).svc.cluster.local - name: RABBITMQ_CONFIG_FILE value: /var/lib/rabbitmq/rabbitmq.conf livenessProbe:exec:command: - rabbitmqctl - status initialDelaySeconds:30timeoutSeconds:10readinessProbe:exec:command: - rabbitmqctl - status initialDelaySeconds:10timeoutSeconds:10volumeMounts: - name: config-volume mountPath: /etc/rabbitmq readOnly: false - name: mq mountPath: /var/lib/rabbitmq readOnly: false - name: mq-cm mountPath: /plugins/rabbitmq_delayed_message_exchange-3.8.9-0199d11c.ez #增加配置项rabbitMQ延时队列插件,按需设置对应configmap:mq-cm subPath: rabbitmq_delayed_message_exchange-3.8.9-0199d11c.ez volumes: - name: config-volume configMap:items: - key: rabbitmq.conf path: rabbitmq.conf - key: enabled_plugins path: enabled_plugins name: rmq-cluster-config - name: mq nfs:server:10.0.40.11 #定义外部存储nfspath:"/home/k8s/mq" #nfs目录 - name: mq-cm configMap:name: mq-cm --- apiVersion: v1 kind: Service metadata:name: rmq-cluster namespace: cyl-middleware labels:app: rmq-cluster spec:selector:app: rmq-cluster ports: - name: http port:15672protocol: TCP targetPort:15672 - name: amqp port:5672protocol: TCP targetPort:5672type: ClusterIP --- #不涉及外部访问的ingress配置可以删除 apiVersion: extensions/v1beta1 kind: Ingress metadata:name: rabbitmq namespace: cyl-middleware spec:rules: - host: zlws.rabbitmq.com http:paths: - path: / backend:serviceName: rmq-cluster servicePort:15672
原文:https://www.cnblogs.com/hanshengli/p/14721204.html
内容总结
以上是互联网集市为您收集整理的k8s-rabbitmq全部内容,希望文章能够帮你解决k8s-rabbitmq所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。