当前位置: 首页 > news >正文

网站设计案例欣赏零售网站制作

网站设计案例欣赏,零售网站制作,上海优化网站公司哪家好,wordpress 登录后台#作者:朱雷 文章目录一、部署排坑1.1. configmap配置文件1.2. pv文件1.3. sc文件1.4. serviceAccount文件1.5. headless-service文件1.6. sts文件二、RabbitMQ集群部署关键问题总结一、部署排坑 1.1. configmap配置文件 编辑cm.yaml 文件 apiVersion: v1 kind: C…

#作者:朱雷

文章目录

  • 一、部署排坑
    • 1.1. configmap配置文件
    • 1.2. pv文件
    • 1.3. sc文件
    • 1.4. serviceAccount文件
    • 1.5. headless-service文件
    • 1.6. sts文件
  • 二、RabbitMQ集群部署关键问题总结

一、部署排坑

1.1. configmap配置文件

编辑cm.yaml 文件

apiVersion: v1
kind: ConfigMap
metadata:name: rabbitmq-confignamespace: rabbitmq-clu-9
data:rabbitmq.conf: |# 基础配置listeners.tcp.default = 5672# management.listener.port = 15672# management.listener.ssl = falsedisk_free_limit.absolute = 1GBcluster_formation.peer_discovery_backend = k8s  #指定集群发现通过k8s插件# cluster_formation.peer_discovery_backend = rabbit_peer_discovery_k8scluster_formation.k8s.host = kubernetes.default.svc.cluster.local
cluster_formation.k8s.address_type = hostname
# 后缀中rabbitmq-clu-9 为namespace 名称保持和sts 文件中的namespace一致cluster_formation.k8s.hostname_suffix = .rabbitmq-headless.rabbitmq-clu-9.svc.cluster.localcluster_formation.discovery_retry_limit = 10
cluster_formation.discovery_retry_interval = 3000
# service_name与headless 中保持一致cluster_formation.k8s.service_name = rabbitmq-headlesscluster_formation.node_cleanup.interval = 30cluster_formation.node_cleanup.only_log_warning = falsecluster_formation.etcd.ssl_options.verify = verify_none# 内存配置vm_memory_high_watermark.relative = 0.6vm_memory_high_watermark_paging_ratio = 0.5# 日志配置log.console = truelog.console.level = debuglog.file = false# 临时启用调试日志log.connection.level = debuglog.channel.level = debuglog.queue.level = debug

1.2. pv文件

apiVersion: v1
kind: PersistentVolume
metadata:name: rabbitmq-cluster-pv-0
spec:capacity:storage: 1GiaccessModes:- ReadWriteOncestorageClassName: hostpath-storagehostPath:path: /tmp/rabbitmq/0type: DirectoryOrCreatenodeAffinity:required:nodeSelectorTerms:- matchExpressions:- key: kubernetes.io/hostnameoperator: Invalues:- 192.168.88.201   #修改为绑定的node的hostname
---
apiVersion: v1
kind: PersistentVolume
metadata:name: rabbitmq-cluster-pv-1
spec:capacity:storage: 1GiaccessModes:- ReadWriteOncestorageClassName: hostpath-storagehostPath:path: /tmp/rabbitmq/1type: DirectoryOrCreatenodeAffinity:required:nodeSelectorTerms:- matchExpressions:- key: kubernetes.io/hostnameoperator: Invalues:- 192.168.88.202    #修改为绑定的node的hostname
---
apiVersion: v1
kind: PersistentVolume
metadata:name: rabbitmq-cluster-pv-2
spec:capacity:storage: 1GiaccessModes:- ReadWriteOncestorageClassName: hostpath-storagehostPath:path: /tmp/rabbitmq/2type: DirectoryOrCreatenodeAffinity:required:nodeSelectorTerms:- matchExpressions:- key: kubernetes.io/hostnameoperator: Invalues:- 192.168.88.203   #修改为绑定的node的hostname

坑1:node选择器绑定时使用的是集群node 的hostname,如node 的IP 和Hostname 不一致,填写IP 会导致pod 为运行pending状态。

1.3. sc文件

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:name: hostpath-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer

1.4. serviceAccount文件

apiVersion: v1
kind: ServiceAccount
metadata:name: rabbitmqnamespace: rabbitmq-clu-9
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:name: rabbitmq-peer-discovery
rules:
- apiGroups: [""]resources: ["nodes", "pods", "endpoints"]verbs: ["get", "list", "watch"]
- apiGroups: ["discovery.k8s.io"]resources: ["endpointslices"] verbs: ["get", "list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: rabbitmq-peer-discovery
subjects:
- kind: ServiceAccountname: rabbitmqnamespace: rabbitmq-clu-9
roleRef:kind: ClusterRolename: rabbitmq-peer-discoveryapiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:name: rabbitmq-configmapnamespace: rabbitmq-clu-9
rules:
- apiGroups: [""]resources: ["configmaps"]verbs: ["get", "update"]resourceNames: ["rabbitmq-config"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:name: rabbitmq-configmapnamespace: rabbitmq-clu-9
subjects:
- kind: ServiceAccountname: rabbitmq
roleRef:kind: Rolename: rabbitmq-configmapapiGroup: rbac.authorization.k8s.io

坑2:在启动pod 的过程中如果集群角色rabbitmq-peer-discovery未授权nodes资源则pod一直报错启动失败

1.5. headless-service文件

apiVersion: v1
kind: Service
metadata:name: rabbitmq-headlesslabels:app: rabbitmq
spec:clusterIP: Noneports:- name: amqpport: 5672targetPort: 5672- name: managementport: 15672 targetPort: 15672- name: epmdport: 4369targetPort: 4369- name: distport: 25672targetPort: 25672selector:app: rabbitmqpublishNotReadyAddresses: true

坑3:上面这几个端口都需要暴漏出来,否则集群创建失败

1.6. sts文件

apiVersion: apps/v1
kind: StatefulSet
metadata:name: rabbitmqnamespace: rabbitmq-clu-9labels:app: rabbitmq
spec:serviceName: rabbitmq-headlessreplicas: 3#podManagementPolicy: "Parallel"selector:matchLabels:app: rabbitmqtemplate:metadata:labels:app: rabbitmqspec:terminationGracePeriodSeconds: 10affinity:podAntiAffinity:preferredDuringSchedulingIgnoredDuringExecution:- weight: 100podAffinityTerm:labelSelector:matchExpressions:- key: appoperator: Invalues:- rabbitmqtopologyKey: kubernetes.io/hostnameserviceAccountName: rabbitmq        containers:- name: rabbitmqimage: rabbitmq:3.8.27-managementimagePullPolicy: IfNotPresentports:- containerPort: 5672name: amqp- containerPort: 15672name: httpenv:- name: RABBITMQ_USE_LONGNAMEvalue: "true"        - name: RABBITMQ_ERLANG_COOKIEvalue: "secret-cookie"- name: RABBITMQ_DEFAULT_USERvalue: "admin"- name: RABBITMQ_DEFAULT_PASSvalue: "admin123"volumeMounts:- name: configmountPath: /etc/rabbitmq/rabbitmq.confsubPath: rabbitmq.conf- name: datamountPath: /var/lib/rabbitmqreadOnly: false#readinessProbe:#  exec:#    command: ["rabbitmq-diagnostics", "status"]#  initialDelaySeconds: 20#  periodSeconds: 30livenessProbe:exec:command: ["rabbitmq-diagnostics", "ping"]initialDelaySeconds: 60periodSeconds: 30volumes:- name: configconfigMap:name: rabbitmq-configvolumeClaimTemplates:- metadata:name: datanamespace: rabbitmq-clu-9spec:accessModes: [ "ReadWriteOnce" ]resources:requests:storage: 1000MstorageClassName: hostpath-storage

坑4:RABBITMQ_USE_LONGNAME 环境变量需要指定为true,指定使用FQDN格式避免截全节点通信失败,集群建立失败。

坑5:如果podManagementPolicy 策略不为 “Parallel”, 则readiness 探针需要关闭,避免集群启动失败。

二、RabbitMQ集群部署关键问题总结

以上总结了RabbitMQ集群部署中的五大核心问题,建议在实施前逐项核查配置,可显著提升部署成功率。

  1. 节点选择器绑定:必须使用集群节点的Hostname而非IP,否则Pod会陷入Pending状态。
  2. 角色授权:确保rabbitmq-peer-discovery角色已授权nodes资源,否则Pod启动报错。
  3. 端口暴露:必须开放4369(EPMD)、25672(Erlang分布式通信)等核心端口,否则集群初始化失败。
  4. 长名称配置:环境变量RABBITMQ_USE_LONGNAME需设为true,强制使用FQDN格式避免节点通信截断。
  5. Pod管理策略:若未采用Parallel策略,需关闭readiness探针,防止集群启动阻塞。
http://www.dtcms.com/a/433034.html

相关文章:

  • 怎么开网站wordpress gofair
  • 网站建设设计房产网址
  • 福州网站建设嘉艺wordpress创建专题
  • [DAX] IFERROR函数
  • 做设计找素材都有什么网站wordpress 调用短代码
  • 做相册本哪个网站好用建筑人才网与厦门人才网的中级工程师证书的区别
  • 河南省建设银行网站曲阜网站制作
  • 手机端网站html好看的模板展馆设计效果图图片
  • 网站建设毕业设计综述故城网站建设
  • 国外优秀网页设计网站做网站需要几万块吗
  • 广州专业网站制作平台企业网站开发费用
  • 南沙移动网站建设英文网站建设教程
  • 高端互联网网站玉环城乡建设规划局网站
  • 学会了vue 能搭建一个网站平台网站开发博客
  • 法律网站建设学习之家网站
  • 第1篇|IEC 61400-1 的地位与演变:从“设计圣经”看2019版的关键变化
  • vps运行iis网站 需要输入账号和密码加强网站建设的原因
  • 企业网站策划过程怎么建立微网站?
  • flash网站方案医院网站建设的规划
  • 收录网站源码江西威乐建设集团有限公司企业网站
  • 自己做的公司网站百度搜不到怎么注销自己名下的公司
  • 景安一个空间怎么做多个网站淄博桓台网站建设定制
  • 网站开发做什么科目做电商哪个平台比较好
  • 电子商务网站建设需求分析百度爱采购优化
  • 江西省城乡建设厅网站如何做网站的内链优化
  • mysql 注册网站网站运营有前途吗
  • 最简单的做网站的软件公司网站建设关键字描述
  • 长春火车站附近有什么好玩的地方网页设计入门基础教程
  • 网站的内容网络营销顾问是什么
  • 百度商桥怎么绑定网站平台推广方式