码云pages做静态网站百度收录链接

pingmian/2026/1/26 5:42:34/文章来源:
码云pages做静态网站,百度收录链接,react 网站开发,wordpress 后台管理模板一、准备知识 headless services一般结合StatefulSet来部署有状态的应用#xff0c;比如kafka集群#xff0c;mysql集群#xff0c;zk集群等#xff0c;也包括本文要部署的consul集群。 0、consul集群 consul集群的分布式协议算法采用的是raft协议#xff0c;这意味着必…一、准备知识 headless services一般结合StatefulSet来部署有状态的应用比如kafka集群mysql集群zk集群等也包括本文要部署的consul集群。 0、consul集群 consul集群的分布式协议算法采用的是raft协议这意味着必然有leader、follow节点每个节点对应的状态不一样涉及到选举过程各个参与选举或者加入集群的节点地址需要固定或通过类似dns、vip的方式访问到。 这就要求我们部署有状态服务而不能使用无状态服务。另外需要创建Headless Service。 1、有状态服务 StatefulSet下的Pod有DNS地址通过解析Pod的DNS可以返回Pod的IP。 StatefulSet会为关联的Pod保持一个不变的Pod Name格式是{StatefulSet name}-{pod序号} StatefulSet会为关联的Pod分配一个dnsName。 域名格式是{pod-name}.{svc}.{namespace}.svc.cluster.local。 2、Headless Services Headless Services是一种特殊的service其spec:clusterIP表示为None这样在实际运行时就不会被分配ClusterIP。也被称为无头服务。 第一种是vip的方式即虚拟IP通过虚拟ip的方式绑定到该service代理的某一个pod上。 这种是我们一般实现service的通常方式。 第二种方式是DNS的方式对于k8s的服务注册与发现机制不同应用pod之间互访可以通过{svc}.{namespace}.svc.cluster.local进行访问。这个访问类似VIP的方式后面绑定的是一堆pod地址。 通过负载均衡机制进行访问。如果需要访问到特定的pod就需要headless机制此时可以通过 {pod-name}.{svc}.{namespace}.svc.cluster.local的定位到该pod。 比如本文consul的三个pod节点地址见下表namespace“default” pod-nameserviceName访问地址consul-0consulconsul-0.consul.default.svc.cluster.localconsul-1consulconsul-1.consul.default.svc.cluster.localconsul-2consulconsul-2.consul.default.svc.cluster.local 3、数据持久化 对consul节点的数据、配置和日志等进行持久化。 搭建NFS 略。 本文使用的NFS搭建在192.168.80.170上目录是/srv/nfs/disk 创建PVC 创建一个名称为defalut-resources的pvc kind: PersistentVolumeClaim apiVersion: v1 metadata:name: defalut-resourcesnamespace: default spec:accessModes:- ReadWriteManyresources:requests:storage: 10GistorageClassName: managed-nfs-storagevolumeMode: Filesystem自动创建PV 上面的创建pvc会自动创建pv名称为pvc-e5c5a6c9-d083-407a-86d7-25bf26e62ad4它是一个随机值且唯一。 查看其yaml: kind: PersistentVolume apiVersion: v1 metadata:name: pvc-e5c5a6c9-d083-407a-86d7-25bf26e62ad4 spec:capacity:storage: 10Ginfs:server: 192.168.80.170path: -/srv/nfs/disk/default-defalut-resources-pvc-e5c5a6c9-d083-407a-86d7-25bf26e62ad4accessModes:- ReadWriteManypersistentVolumeReclaimPolicy: DeletestorageClassName: managed-nfs-storagevolumeMode: Filesystem status:phase: Bound 验证 在根目录下会创建一个目录“default-defalut-resources-pvc-e5c5a6c9-d083-407a-86d7-25bf26e62ad4”。 4、反亲和性podAntiAffinity pod会基于topologyKey进行反亲和如下述配置表示标签k8s-app为consul的pod不会被调度到同一个node节点。 affinity:podAntiAffinity:requiredDuringSchedulingIgnoredDuringExecution:- labelSelector:matchExpressions:- key: k8s-appoperator: Invalues:- consultopologyKey: kubernetes.io/hostname这个很有必要也适用于其他有状态的服务部署。 二、目标 搭建三个server节点的consul集群对内供Pod上的服务注册对外提供UI管理。 三、搭建consul集群 1、完整的创建有状态服务yaml apiVersion: apps/v1 kind: StatefulSet metadata:name: consulnamespace: default spec:serviceName: consulreplicas: 3selector:matchLabels:k8s-app: consultemplate: metadata:labels:k8s-app: consulspec:affinity:podAntiAffinity:requiredDuringSchedulingIgnoredDuringExecution:- labelSelector:matchExpressions:- key: k8s-appoperator: Invalues:- consultopologyKey: kubernetes.io/hostnameterminationGracePeriodSeconds: 10containers:- name: consulimage: consul:latestimagePullPolicy: IfNotPresentargs:- agent- -server- -bootstrap-expect3- -ui- -config-file/consul/config- -data-dir/consul/data- -log-file/consul/log- -bind0.0.0.0- -client0.0.0.0- -advertise$(PODIP)- -retry-joinconsul-0.consul.$(NAMESPACE).svc.cluster.local- -retry-joinconsul-1.consul.$(NAMESPACE).svc.cluster.local- -retry-joinconsul-2.consul.$(NAMESPACE).svc.cluster.local- -domaincluster.local- -disable-host-node-idvolumeMounts:- name: nfsmountPath: /consul/datasubPathExpr: data/$(PODNAME)- name: nfsmountPath: /consul/configsubPathExpr: config/$(PODNAME)env:- name: PODIPvalueFrom:fieldRef:fieldPath: status.podIP- name: NAMESPACEvalueFrom:fieldRef:fieldPath: metadata.namespace- name: PODNAMEvalueFrom:fieldRef:fieldPath: metadata.nameresources:limits:cpu: 2Gmemory: 2Girequests:cpu: 200mmemory: 1Gilifecycle:preStart:exec:command:- /bin/sh- -c- consul reloadpreStop:exec:command:- /bin/sh- -c- consul leaveports:- containerPort: 8500name: ui-port- containerPort: 8400name: alt-port- containerPort: 53name: udp-port- containerPort: 8443name: https-port- containerPort: 8080name: http-port- containerPort: 8301name: serflan- containerPort: 8302name: serfwan- containerPort: 8600name: consuldns- containerPort: 8300name: servervolumes:- name: nfspersistentVolumeClaim:claimName: defalut-resources 2、创建services kind: Service apiVersion: v1 metadata:name: consulnamespace: defaultlabels:app: consul spec:ports:- name: httpprotocol: TCPport: 8500targetPort: 8500- name: httpsprotocol: TCPport: 8443targetPort: 8443- name: rpcprotocol: TCPport: 8400targetPort: 8400- name: serflan-tcpprotocol: TCPport: 8301targetPort: 8301- name: serflan-udpprotocol: UDPport: 8301targetPort: 8301- name: serfwan-tcpprotocol: TCPport: 8302targetPort: 8302- name: serfwan-udpprotocol: UDPport: 8302targetPort: 8302- name: serverprotocol: TCPport: 8300targetPort: 8300- name: consuldnsprotocol: TCPport: 8600targetPort: 8600selector:k8s-app: consulclusterIP: None--- apiVersion: v1 kind: Service metadata:name: consul-dnsnamespace: defaultlabels:app: consul spec:selector:k8s-app: consulports:- name: dns-tcpprotocol: TCPport: 53targetPort: dns-tcp- name: dns-udpprotocol: UDPport: 53targetPort: dns-udp--- apiVersion: v1 kind: Service metadata:name: consul-uinamespace: defaultlabels:app: consul spec:selector:k8s-app: consulports:- name: httpport: 80targetPort: 85003、创建一个nodeport类型的service 这样我们可以通过ip地址端口的方式直接访问consul ui。 kind: Service apiVersion: v1 metadata:name: consul-ui-ipnamespace: defaultlabels:app: consul spec:ports:- name: consul-ui-ipprotocol: TCPport: 8500targetPort: 8500selector:k8s-app: consultype: NodePortsessionAffinity: None 四、验证 1、日志 这里以第一个节点为例从日志里可以看出node name是 consul-0consul的版本是1.11.1。我们没有指定datacenter的名称默认是dc1。 leader节点是10.43.128.1follow节点是10.37.0.3和10.39.0.4 2、命令 命名空间是default // 查看service注意 headless service kubectl get svc -n default// 针对consul ui 增加NodePort对外的访问地址 [adminjenkins]$ kubectl get svc -n default NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE consul ClusterIP None none 8500/TCP,8443/TCP,8400/TCP,8301/TCP,8301/UDP,8302/TCP,8302/UDP,8300/TCP,8600/TCP 2d20h consul-dns ClusterIP 10.107.173.90 none 53/TCP,53/UDP 2d19h consul-ui ClusterIP 10.111.174.132 none 80/TCP 2d19hconsul-ui-ip NodePort 10.102.74.43 none 8500:30487/TCP 2d17h// 三个Pod节点启动OK kubectl get pod -n default[adminjenkins]$ kubectl get pod -n default NAME READY STATUS RESTARTS AGE consul-0 1/1 Running 0 2d17h consul-1 1/1 Running 0 2d17h consul-2 1/1 Running 0 2d17h// 查看consul集群的成员列表 kubectl exec -n default consul-0 -- consul members kubectl exec -n default consul-1 -- consul members kubectl exec -n default consul-2 -- consul members[adminjenkins]$ kubectl exec -n default consul-0 -- consul members Node Address Status Type Build Protocol DC Partition Segment consul-0 10.43.128.1:8301 alive server 1.11.1 2 dc1 default all consul-1 10.37.0.3:8301 alive server 1.11.1 2 dc1 default all consul-2 10.39.0.4:8301 alive server 1.11.1 2 dc1 default all[adminjenkins]$ kubectl exec -n default consul-1 -- consul members Node Address Status Type Build Protocol DC Partition Segment consul-0 10.43.128.1:8301 alive server 1.11.1 2 dc1 default all consul-1 10.37.0.3:8301 alive server 1.11.1 2 dc1 default all consul-2 10.39.0.4:8301 alive server 1.11.1 2 dc1 default all[adminjenkins]$ kubectl exec -n default consul-2 -- consul members Node Address Status Type Build Protocol DC Partition Segment consul-0 10.43.128.1:8301 alive server 1.11.1 2 dc1 default all consul-1 10.37.0.3:8301 alive server 1.11.1 2 dc1 default all consul-2 10.39.0.4:8301 alive server 1.11.1 2 dc1 default all3、consul server node consul的data和config持久化到本地了。 五、遇到的问题 三个consul节点加入集群失败 报错信息 agent: grpc: addrConn.createTransport failed to connect to {dc1-10.43.128.1:8300 0 consul-0.dc1 }. Err :connection error: desc “transport: Error while dialing dial tcp -10.43.128.1:8300: operation was canceled”. Reconnecting… 解决办法 # 在启动consul容器的时候增加以下语句lifecycle:preStart:exec:command:- /bin/sh- -c- consul reloadpreStop:exec:command:- /bin/sh- -c- consul leave六、对内访问 java服务接入consul示例 consul_acl_tokenxxxxxx consul_service_ip10.43.128.1或10.37.0.3或10.39.0.4java -Dspring.cloud.consul.config.acl-token$consul_acl_token \ -Dspring.cloud.consul.discovery.acl-token$consul_acl_token \ -Dserver.ip${LOCAL_IP} -Xms${Xms} -Xmx${Xmx} \ -XX:HeapDumpOnOutOfMemoryError \ -DCONFIG_SERVICE_HOST${consul_service_ip} \ -DCONFIG_SERVICE_ENABLEDtrue -jar xxx.jar七、UI界面 访问地址http://{ip}:30487 查看leader节点和follow节点 至此三个server节点组成的consul集群就搭建完成了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/85606.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

扬州市城市建设监察支队网站赣县区建设局网站

遇到的问题: 在使用 RedisTemplate 连接 Redis 进行操作的时候,发生了如下报错: 测试代码为: 配置文件: 问题根源: redis没有添加端口映射解决方案: 删除原来的redis容器,添加新…

番禺网站建设gzhchl网站建设计划建议

typing Python的typing模块是Python 3.5版本引入的一个标准库,它提供了一种在Python代码中显式声明类型的方式,可以帮助开发人员更好地理解和使用Python的类型系统。 使用typing模块,您可以在函数、类、变量等地方添加类型注解,以…

企业网站设计好的缺点有哪些百度关键词排名联系方式

解析 熟练和固化在有些时候是等价的。 一个看起来喜闻乐见的模型。 n2n^2n2 信息量你在逗我… 结果是:点数 n2n^2n2 TLE,边数 n2n^2n2 AC。 一种之前所没有见过的打开方式。 还是考虑最小割模型,点 iii 向原点连一条 AiA_iAi​ 的边&#xf…

宁波网站建设高端莱芜有名的痞子是谁

一、常识理论题 1、 简述嵌入式操作系统有哪些,你用过哪几种,简述其特点、优势及劣势?(5分) 2、 请描述控制及提高嵌入式软件质量有哪些办法,在开发过程中怎么才能保证嵌入式软件的可靠性?(5分)…

电子商务网站平台建设策划做棋牌推广网站违反不

长期以来,周界防范安防系统在大型园区、工厂、社区、机场、火车站站台、重点单位等领域应用较为广泛和常见。随着AI人工智能等新兴技术的快速发展与落地应用,通过AI智能检测与视频智能分析技术,现代化的周界安防系统可以做到全天候快速、准确…

网站建设详情页打开全网搜索

minio sdk使用自签名https证书错误处理 1.问题描述1.1 报错日志1.2 maven 依赖配置1.3 当前spring MinioClient配置 2.问题分析3.问题解决3.1 使用受信任的证书3.2 忽略证书验证3.2.1 minio客户端3.2.2 minio sdk 忽略证书验证3.2.2.1 拓展: 补充minioclient请求日志 4. 问题总…

自适应网站建设哪家好试客网站 源码

1 知识图谱应用场景 1、数据可视化 2、基于图谱的问答系统 3、基于图谱的关系推理 4、便捷的关系查询,给模型提供更多数据特征 2 知识图谱的构建 非结构化数据源中的实体识别:一般来说是一个sequence labeling的任务。 非结构化数据源中的关系抽取&am…

网站编辑超链接怎么做越秀金融大厦地址

从 Windows Server 2008 开始,管理员可以选择安装具有特定功能但不包含任何不必要功能的 Windows Server 的最小安装服务器核心(Server Core),它为一些特定服务的正常运行提供了一个最小的环境,从而减少了其他服务和管理工具可能造成的***和风…

招聘网站开发工程师在线做爰视频网站

http://blog.csdn.net/vshuang/article/details/39647167 Android 内存管理 &Memory Leak & OOM 分析 单个应用可用的最大内存 Android设备出厂以后,java虚拟机对单个应用的最大内存分配就确定下来了,超出这个值就会OOM。这个属性值是定义在…

福州网站建设营销q479185700刷屏ssh wordpress

实验背景 某公司总部在厦门,北京、上海都有分部,网络结构如图所示: 一、网络连接描述: 厦门总部:内部网络使用SW1、SW2、SW3三台交换机,SW1为作为核心交换机,SW2、SW3作为接入层交换机&#x…

做移动网站开发做钓鱼网站会被抓判刑吗

分类:声卡驱动问题:设备管理器中声卡驱动安装不正确描述:电脑没有声音,有部分朋友是因为声卡驱动没有正确安装,除了我们常见到的设备管理器出现黄色感叹号之外,另一种情况就是让一般人很难发现的问题&#…

莱芜招聘的网站中国建筑装饰网 郭金辉

干程序这行比较辛苦的就是要随时更新自己的知识。闷~~为了让自己能够更加深入的学习GUN和LINUX。在简单了解了shell以后决定学习Python。--------&#xff0d…

网站开发的软件介绍建设微信商城网站的公司

广州大专自主招生有哪些学校自主招生又称自主选拔,是高校选拔录取工作改革的重要环节。包括国家重点大学自主招生与高职自主招生两大类。以下小编为大家整理了广州大专院校自主招生的学校,希望对大家有所帮助!广东专科自主招生学校名单1、广东…

大连小型网站建设北京代理记账财务公司

QWebChannel 是 Qt 框架中用于在 Web 页面和 Qt 应用程序之间进行通信的类。 QWebChannel 类提供了一种机制,使得 Web 页面可以与 Qt 应用程序进行双向通信。通过 QWebChannel,可以将 Qt 应用程序中的对象暴露给 Web 页面,并通过信号和槽机制…

如何用wordpress做一个企业网站如何创办公司

从源码学习final的使用 final的作用 ​ final字面意思,意为最终的、不可变的。在Java中,final可以用来修饰类、方法和变量,可以分别起到不同的作用。 final修饰类:表示该类不可以被继承;final修饰方法:表…

做市场的逛的网站重庆梁平网站建设哪家便宜

微信公众号:有宝物的柜子编辑:落水无波2020-06-28 原创有时候在分析一些数据时,既需要观察整体又需要局部观测,那么怎么才能做到同时查看呢,就类似上面这样。这样就很容易的去发现有没有峰位偏移,同时查看与…

福州网站建设企业广州 电商网站建设

对于每个Linux管理员来说,熟练使用各种命令行是他们的特性。但对于普通用户来说,可能还是有难度,您需要继续练习Linux命令,并找到使该任务更有效的方法。实现这个特定目标的一种方法是学习一些技巧,这些技巧可以提高发…

网站开发目的一般网站建设需求有哪些方面

一、本文介绍 本文给大家带来的改进机制是由北大和北航联合提出的FFA-net: Feature Fusion Attention Network for Single Image Dehazing图像增强去雾网络,该网络的主要思想是利用特征融合注意力网络(Feature Fusion Attention Network)直接恢复无雾图像,FFA-Net通过特征…

几何背景生成器网站广西临桂建设局网站

二、MOSFET参数 1、电气参数 (1)VGS :加在栅源两极之间的最大电压,一般为:-20V-+20V。 VGS额定电压是栅源两极间可以施加的最大电压。设定该额定电压的主要目的是防止电压过高导致的栅氧化层损伤。实际栅氧化层可承受的电压远高于额定电压,但是会随制造工艺的不同而改变…