kubernetes
文章平均质量分 87
运维开发故事
这个作者很懒,什么都没留下…
展开
-
k8s informer 是如何保证事件不丢失的?
我们常说的Controller他最核心的能力就是能监控到资源的任何变化,也就是声明式概念中保证状态的关键技术 – _Informer,_流程是:Reflector 将对象加入到Delta FIFO queue中。然后 informer 将其 pop 出,加入到 Indexer中,以及 resourceEventHandler。最后就是我们自己的业务逻辑, 即:我们自己先到workqueue中,拿到 key,然后用 key 去Indexer 中换取对象,最后处理对象。然后我们又通过 一个错误的*原创 2024-01-09 14:43:35 · 1108 阅读 · 0 评论 -
关于Dockerfile的最佳实践技巧
编写.dockerignore文件容器只运行单个应用将多个RUN指令合并为一个基础镜像的标签不要用latest每个RUN指令后删除多余文件选择合适的基础镜像(alpine版本最好)设置WORKDIR和CMD使用ENTRYPOINT (可选)在entrypoint脚本中使用execCOPY与ADD优先使用前者合理调整COPY与RUN的顺序设置默认的环境变量,映射端口和数据卷使用LABEL设置镜像元数据添加HEALTHCHECK多阶段构建。原创 2023-07-26 11:14:41 · 396 阅读 · 0 评论 -
【夜莺监控】管理Kubernetes组件指标
以下指标来自阿里云 ACK 官方文档,我觉得整理的比较全,比较细,就贴了一部分。想要了解更多的可以到官方网站去查看。指标类型说明CounterWorkqueue 处理的 Adds 事件的数量。GaugeWorkqueue 当前队列深度。Histogram任务在 Workqueue 中存在的时长。Gauge内存使用量,单位:字节(Byte)。Gauge内存使用率=内存使用量/内存资源上限,百分比形式。GaugeCPU 使用量,单位:核(Core)。Gauge。原创 2023-05-30 18:24:33 · 290 阅读 · 0 评论 -
在Kubernetes中从0打造可观测性
我们实现了指标、日志和跟踪之间的可观察性关联。这可以帮助我们在微服务的故障排除过程中,识别瓶颈,看到我们的应用指标的行为,并能够获得特定的跟踪和日志。最后,求关注。如果你还想看更多优质原创文章,欢迎关注我们的公众号「运维开发故事我是 乔克,《运维开发故事》公众号团队中的一员,一线运维农民工,云原生实践者,这里不仅有硬核的技术干货,还有我们对技术的思考和感悟,欢迎关注我们的公众号,期待和你一起成长!原创 2023-03-14 13:38:14 · 405 阅读 · 0 评论 -
我差点重做整个K8S集群
这几百G的数据全是由大量的小文件组成,在拷贝的时候既要频繁的占用本地磁盘IO,也要占用网络IO,然后事情就发生了——服务器的负载直接干爆(原本8核的CPU,负载高达500多),而且服务器是老年机,配置很Low。这就导致该服务器直接处于死亡状态,更可气的是该服务器是K8S集群的master,Master宕机,其他节点失联,集群处于崩溃中。我是 乔克,《运维开发故事》公众号团队中的一员,一线运维农民工,云原生实践者,这里不仅有硬核的技术干货,还有我们对技术的思考和感悟,欢迎关注我们的公众号,期待和你一起成长!原创 2023-03-14 10:39:20 · 130 阅读 · 0 评论 -
【K8S专栏】Kubernetes有状态应用管理
实例之间的不等关系以及实例对外数据有依赖关系的应用,就被称为"有状态应用"。所谓实例之间的不等关系即对分布式应用来说,各实例,各应用之间往往有比较大的依赖关系,比如某个应用必须先于其他应用启动,否则其他应用将不能启动等。对外数据有依赖关系的应用,最显著的就是数据库应用,对于数据库应用,我们是需要持久化保存其数据的,如果是无状态应用,在数据库重启数据和应用就失去了联系,这显然是违背我们的初衷,不能投入生产的。原创 2022-11-23 22:56:38 · 403 阅读 · 0 评论 -
【K8S专栏】Kubernetes应用配置管理
综上,我们可以通过Secret保管其他系统的敏感信息(比如数据库的用户名和密码),并以Mount的方式将Secret挂载到Container中,然后通过访问目录中文件的方式获取该敏感信息。当Pod被API Server创建时,API Server不会校验该Pod引用的Secret是否存在。一旦这个Pod被调度,则kubelet将试着获取Secret的值。原创 2022-09-16 10:43:00 · 925 阅读 · 0 评论 -
【K8S专栏】Kubernetes应用质量管理
上面只是对Kubernetes中应用做了简单的可用性保障,在生产中,应用不仅仅是它自己,还关联上游、下游的应用,所以全链路的应用可用性保障才能让应用更稳定。我是 乔克,《运维开发故事》公众号团队中的一员,一线运维农民工,云原生实践者,这里不仅有硬核的技术干货,还有我们对技术的思考和感悟,欢迎关注我们的公众号,期待和你一起成长!...原创 2022-08-30 09:55:38 · 680 阅读 · 0 评论 -
【K8S专栏】Kubernetes工作负载管理
从全文可知,Deployment实际是一个两层控制器:(1)、它通过ReplicaSet的个数来描述应用版本个数;(2)、它通过ReplicaSet的属性来保证Pod的副本数;而且Deployment的灵活控制,很方便水平扩展/收缩还有滚动更新以及回滚操作。上面介绍的是日常工作中常用的控制器,其中Deployment和DaemonSet的使用频率最高,熟练掌握这些控制器,并且学会在什么时候选择什么样的控制器,合理使用使工作效率最高。原创 2022-08-25 14:48:39 · 1134 阅读 · 0 评论 -
避免告警疲劳:每个 K8s 工程团队的 8 个技巧
简单来说,当你在一天内收到大量与工作相关的告警时,就会发生告警疲劳,即使它们是不可操作的。不合理的大量告警会降低你的工作效率,因为你会从工作中抽出太多时间来不时确认告警。如果你在工作时间之外收到此类告警,它们将开始扰乱你的工作与生活平衡。为了建立一个高效和快乐的团队,关键是要减少不必要的告警,并专注于提供价值和可操作的内容。解决任何问题的第一步是清楚地定义它。在我们的例子中,告警的原因是指标的阈值;因此,为它们确定正确的指标和适当的阈值至关重要。...原创 2022-08-15 13:56:22 · 260 阅读 · 0 评论 -
Kubernetes 可观测性:利用 4 个开源工具
在本文中,我们介绍了四个工具集,它们可以增强和改进对在 Kubernetes 上运行工作负载的工程师的监控。Prometheus 是许多组织的首选时间序列数据库,当与 Thanos 一起使用时,它是一个长期的解决方案。Jaeger 提供了修复你在基础架构中检测到的问题所需的额外上下文。OpenTelemetry 已经标准化了指标、日志和跟踪的格式和收集,让团队高枕无忧并保持动态。这些工具共同提供了有效排除故障所需的指标、日志和跟踪,并确保你的最终用户拥有出色的体验。...原创 2022-08-15 13:51:47 · 466 阅读 · 0 评论 -
【K8S专栏】什么是Kubernetes
在《Docker容器技术》章节就有简单介绍Kuberntes,它是谷歌开源的容器容器集群管理系统,是谷歌内部容器管理系统Borg的开源版本。Borg系统是谷歌内部使用很多的容器管理系统,在早期是采用Chroot Jail实现安全隔离,后期采用Namespace,资源隔离是采用CGroup实现。为什么谷歌要推出Kubernetes开源版本呢?我个人的理解是:使用开源社区的力量来解决谷歌未解决的问题在云原生领域分一杯羹推动云原生的发展,毕竟谷歌在容器领域已经玩了许多年了便携性。...原创 2022-08-15 13:46:37 · 237 阅读 · 0 评论 -
【K8S专栏】Docker容器技术剖析
Docker公司虽然没有在最后的决战中胜出,但是Docker产品不失为一个好产品,它在整个云原生领域有着举足轻重的作用。(1)它做到了镜像一次编译,随时使用(2)可以一键启动依赖服务,搭建环境的成本降低(3)可以保持所有环境高度一致(4)它可以达到秒级启动但是Docker也有其与生俱来的缺点,比如由于主机上的容器都是共用的底层操作系统,其隔离性不如真正的硬件隔离,而且随着并发的不断增大,也会因一些网络连接和数据交互等问题产生性能瓶颈。...原创 2022-08-02 23:40:23 · 2524 阅读 · 0 评论 -
【K8S专栏】什么是云原生?
微信公众号:运维开发故事,作者:乔克大家好,我是乔克。什么是云原生?我相信大部分人都听过云原生,但是要你说出一个所以然,却不知道怎么开口,我也是一样。我不知道云原生到底是什么,从字面来看:云原生就是为云而生。云是什么?我理解云就是云计算,那云原生就是在云计算的基础之上设计实现,充分利用云的弹性、分布式等特性,让应用能够实现弹性伸缩、动态调度,也能更高的提升资源利用率。...原创 2022-08-02 18:13:08 · 464 阅读 · 0 评论 -
我又又又把Kubernetes整理了一次
大家好,我是乔克。人不是在折腾,就是在折腾的路上。最近在整理一些笔记,发现之前记录的有些杂乱,所以又对其进行重新梳理,下面是梳理Kubernetes的时候整理的大纲。主要按使用功能进行划分,结构比较清晰,在以后翻阅的时候也能更快。整个专栏是以版本进行梳理,但是基本的理论知识并没有做很大的调整,而且该专栏大部分还是借鉴以前的Kubernetes笔记,只有少部分调整,比如API变更,YAML写法变更等。Kubernetes从2014年6月份发布,至今已经8年,在这8年的时间里,可谓是发展迅速,而且大部分运维人员原创 2022-08-02 14:28:49 · 265 阅读 · 0 评论 -
如何使用 Docker 部署 GitLab
微信公众号运维开发故事,作者夏老师你否曾经想托管自己的GitLab存储库以确保代码永远不会落入坏人之手?尽管在第三方云主机上托管你的存储库有很多优势(例如可用性和可靠性),但要完全控制你的存储库,这样任何人都可以在未经你批准的情况下访问它。在Docker的帮助下,您可以做到这一点。我将向你展示它是如何完成的。它并不过分复杂,但需要许多步骤。所以,事不宜迟,让我们开始工作吧。要完成此任务,需要一个正在运行的UbuntuServer实例和一个具有sudo权限的用户。...原创 2022-08-02 14:00:10 · 2805 阅读 · 0 评论 -
记一次内部分享——瞎扯淡
大家好,我是乔克。今天给大家分享的主题是《闲聊Docker》,大家的工作都比较忙,但是也要劳逸结合,所以“闲”是忙里偷闲,而“聊”是只动嘴不动手,整个分享过程中不会去动手实践,也不会去教大家如何build镜像,如何run容器,而只做纯粹的闲聊,我是一个“纯粹”的人。整个PPT比较简洁,基本都是一些图片或者流程图,我也是跟着这些图片来进行分享,想到哪里就说到哪里,有时候会啰里吧嗦,有时候可能会牛头不对马嘴,在分享的过程中,如果有纰漏的地方,大家可以记下来,分享完后咱再来讨论。现在进入正题,整...原创 2022-08-02 13:44:03 · 290 阅读 · 0 评论 -
开发一个禁止删除namespace的控制器
大家好,我是乔克。image.png昨天收到一个朋友的信息,说不小心把集群的业务namespace干掉了,导致整个业务都停滞了,问我有没有禁止删除namespace的方案。在我的记忆里,Kubernetes的准入里并没有这个控制器,所以我就给他说需要自己开发一个准入控制器来实现自己的目标。我不能只脱裤子,不放屁。所以这里也整理了一下如何自定义Kubernetes的准入控制器。准入控制器(Admission Controller)位于 API Server 中,在对象被持久化之前,准入控制器拦截对 API S原创 2022-07-01 17:16:28 · 372 阅读 · 0 评论 -
详解Kubernetes网络模型
Kubernetes 是为运行分布式集群而建立的,分布式系统的本质使得网络成为 Kubernetes 的核心和必要组成部分,了解 Kubernetes 网络模型可以使你能够正确运行、监控和排查应用程序故障。网络所涉及的内容很多,拥有许多成熟的技术。对于不熟悉的人来说可能会非常痛苦,因为大多数人对网络都有先入为主的观念,并且有很多新旧概念需要理解并组合成一个连贯的整体。所说的网络可能包括网络命名空间、虚拟接口、IP 转发和网络地址转换等技术。本指南旨在通过讨论每种 Kubernetes 相关技术以及如何使用这原创 2022-07-01 16:50:24 · 638 阅读 · 0 评论 -
利用分层机制优化Docker Image
当前浏览器不支持播放音乐或语音,请在微信或其他浏览器中播放 爱你 音乐: 王心凌 - My! Cyndi! 1.Docker Image 分层存储为了最大化重用 Image,加快运行速度,减少内存和磁盘的占用,Docker container 运行时所构造的运行环境,实际上是由具有依赖关系的多个 La...原创 2022-05-27 18:59:28 · 391 阅读 · 0 评论 -
开发和运维对K8S中的应用都做了什么?
在应用的整个生命周期里,开发和运维都和它密不可分。一个塑造它,一个保养它。如果应用需要部署到K8S中,开发和运维在其中都做了什么呢?开发侧从开发侧来说,我们的应用应该具备以下能力:具有健康检测接口具有优雅退出能力具有metrics接口能够接入链路追踪系统日志输出标准统一定义健康检测接口 健康检测接口用于检测应用的健康状态,在K8S中,使用Readiness和Liveness分别来探测应用是否就绪和是否存活,如果未就绪或者未存活,K8S会采取相应的措施来确保应用可用。如果我们应用未定义好相应的健康检测接口,K原创 2022-05-25 13:55:49 · 750 阅读 · 0 评论 -
Kubernetes开源LoadBalancer—Metallb(BGP)
Kubernetes开源LoadBalancer—MetalLB(BGP)1.背景最近一年为了迎接亚运会,单位开发了很多大屏展示界面,这些大屏展示页面需要提供给外部门访问,起初使用Ingress方式,但是需要外部门配置DNS,所以我们准备使用NodePort,但是领导想用LoadBalancer,众所周知,LoadBalancer大部分情况下只能在提供了外部负载均衡器的云提供商上使用,而我们是裸机集群,没办法,我们只能找开源的LoadBalancer解决方案。在寻找资料的时候我们找到了两种解决方案,一种是K原创 2022-05-25 13:44:23 · 701 阅读 · 0 评论 -
上k8s生产环境的准备
在生产中运行应用程序可能很棘手。这篇文章提出了一个自以为是的清单,用于在 Kubernetes 上使用 Web 服务(即应用程序公开 HTTP API)进入生产环境。一般应用程序的名称、描述、用途和拥有团队被清楚地记录在案(例如通过服务树)定义应用程序的关键级别(例如,如果应用程序对业务非常关键,则为“关键链路程序”)开发团队对k8s技术栈有足够的知识/经验,比如服务无状态等确定并通知负责的 24/7 待命团队存在上线计划,包括(潜在回滚的步骤)应用应用程序的代码库 (git) 有关于如何开发、如何配置以及原创 2022-05-09 15:54:36 · 550 阅读 · 0 评论 -
K8s集群稳定性提升手段
微信公众号:运维开发故事,作者:冬子先生提升资源利用率1.1 资源浪费场景资源预留普遍存在 50% 以上的浪费Kubernetes 中的 Request(请求) 字段用于管理容器对 CPU 和内存资源预留的机制,保证容器至少可以达到的资源量,该部分资源不能被其他容器抢占,具体可查看(https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)。当 Request 设置过小,无法保证业务的资源量,.原创 2022-03-22 23:35:42 · 1210 阅读 · 0 评论 -
一次K8s中的Pod解析外网域名错误的问题排查
微信公众号:运维开发故事,作者:冬子先生1、故障现象我们一个agent代理服务,发布到k8s集群之后,pod状态是Running,但是server一直无法收到心跳信号,因此到集群内部去排查日志,发现该服务日志中出现大量的连接某一个ip地址tcp timeoutimg2、故障排查过程通过查看日志发现是大量的错误日志,连接某个ip地址产生i/o timeout,因此排查服务的业务逻辑,该服务只会去连接server端,在服务的环境变量里配置了server端的域名,怀疑是不是有可能server端挂掉.原创 2022-02-23 00:15:06 · 3273 阅读 · 1 评论 -
如何通过ingress-nginx实现应用灰度发布?
大家好,我是乔克。今天是元宵,祝大家元宵节快乐!在日常的工作中,我们会经常对应用进行发版升级,在互联网公司尤为频繁,主要是为了满足快速的业务发展。我们经常用到的发布方式有滚动更新、蓝绿发布、灰度发布。滚动更新:依次进行新旧替换,直到旧的全部被替换为止。蓝绿发布:两套独立的系统,对外提供服务的称为绿系统,待上线的服务称为蓝系统,当蓝系统里面的应用测试完成后,用户流量接入蓝系统,蓝系统将称为绿系统,以前的绿系统就可以销毁。灰度发布:在一套集群中存在稳定和灰度两个版本,灰度版本可以限制只针对部分人员可用,待灰度版原创 2022-02-17 09:56:52 · 1268 阅读 · 0 评论 -
vmbackup和vmrestore是何方神圣?
...原创 2022-01-26 23:32:49 · 1233 阅读 · 0 评论 -
what is vmagent
微信公众号:运维开发故事,作者:华仔背景在之前的文章中,讲解了如何在k8s上安装vm;但采集指标的组件使用的是opentelemetry,那么vm是否有自己的组件去采集指标呢?实际上,vm是拥有自己的组件可以去替代opentelemetry,它就是vmagent。使用它也可以进行指标的收集,再存储到vmstorage。什么是vmagent看看官方对vmagent的介绍:vmagent is a tiny but mighty agent which helps you collect metr.原创 2022-01-24 10:11:22 · 3016 阅读 · 0 评论 -
容器中的一号进程
如何理解 init 进程?linux 进程在树中排序。每个进程都可以产生子进程,并且除了最顶层的进程之外,每个进程都有一个父进程。一旦我们启动了多个进程,那么容器里就会出现一个 pid 1,也就是我们常说的 1 号进程或者 init 进程,然后由这个进程创建出其他的子进程。接下来,我带你梳理一下 init 进程是怎么来的。一个 Linux 操作系统,在系统打开电源,执行 BIOS/boot-loader 之后,就会由 boot-loader 负责加载 Linux 内核。Linux 内核执行文件一般会放在 /原创 2022-01-20 10:14:58 · 2027 阅读 · 0 评论 -
超好用的k8s中pod诊断工具:kubectl-debug
微信公众号:运维开发故事,作者:double冬背景容器技术的一个最佳实践是构建尽可能精简的容器镜像。但这一实践却会给排查问题带来麻烦:精简后的容器中普遍缺失常用的排障工具,部分容器里甚至没有 shell (比如 FROM scratch )。 在这种状况下,我们只能通过日志或者到宿主机上通过 docker-cli 或 nsenter 来排查问题,效率很低,在K8s环境部署应用后,经常遇到需要进入pod进行排错。除了查看pod logs和describe方式之外,传统的解决方式是在业务pod基础镜像中提前原创 2022-01-19 00:32:21 · 1674 阅读 · 0 评论 -
我们不用Prometheus了?
引言上次说到我们不用docker,而是使用containerd作为CRI了。没想到,连监控告警这一块也换了。以前我们使用的prometheus进行监控数据的采集、存储和提供查询,alertmanager进行告警推送,同时使用了grafana做数据展示。那么现在呢,我们选择使用OpenTelemetry和VictoriaMetrics。那么这两者究竟是何方神圣呢?请允许我慢慢道来。考虑到我也是刚接触,所以今天先给大家介绍一下VictoriaMetrics。OpenTelemetry后续再做介绍。注:后续Vic原创 2022-01-19 00:32:34 · 464 阅读 · 0 评论 -
CRI shim:kubelet怎么与容器运行时交互(二)
前言通过《CRI shim:kubelet怎么与容器运行时交互(一)》这一篇文章,我们知道了:CRI 是服务于 Kubernetes 的,而且它呈现向上汇报的状态。它是帮助 Kubernetes 的,它不帮助OCI的。所以说当你去做这个集成时候,你会发现尤其对于 VM gVisor\KataContainer 来说,它与 CRI 的很多假设或者是 API 的写法上是不对应的。所以你的集成工作会比较费劲,这是一个不 match 的状态。另一个问题就是我们维护起来非常困难,因为由于有了 CRI 之后,比如 Re原创 2022-01-19 00:32:58 · 419 阅读 · 0 评论 -
install victoriametrics in k8s
背景之前给大家介绍了victoriametrics以及安装中的一些注意事项,今天来给大家实操一下,如何在k8s中进行安装。本次是基于云上的k8s上安装一个cluster版本的victoriametrics,需要使用到云上的负载均衡。 注:victoriametrics后续简称vm安装准备一个k8s集群,我的k8s版本是v1.20.6在集群上准备好一个storageclass,我这里用的NFS来做的operator镜像tag为v0.17.2,vmstorage、vmselect和vminsert镜像原创 2022-01-19 00:33:20 · 582 阅读 · 0 评论 -
如何通过Kubernetes安装Kubernetes以及物理服务器
本文翻译自:https://kubernetes.io/blog/2021/12/22/kubernetes-in-kubernetes-and-pxe-bootable-server-farm/作者:Andrei Kvapil本文翻译自Andrei Kvapil的文章,其中对文字有部分的整理和删减。当你有两个数据中心,数千个物理机、虚拟机以及数十万个站点需要托管的时候,通过Kubernetes就可以很简单的实现上述需求。然而,使用Kubernetes,不仅可以声明式的描述应用,还可以声明式的描述基础设施。原创 2022-01-19 00:33:52 · 246 阅读 · 0 评论 -
pod Evicted的状态究竟是何人所为
微信公众号:运维开发故事,作者:姜总背景今天发现好多pod的状态都是Evicted,然后我没有监控的权限,本来想看看grafana上监控图是否出现了特殊情况,无奈没权限看。因为我发现pod出现大量的Evicted状态的时候,查看pod所在的node节点,距离当时发生Evicted的时间已经是7小时之久了。因此可能会存在一种原因:发生了Evicted的时候的确磁盘已经超过默认的kubelet的资源预留参数了。但是问题发生后,触发了阈值,已经回收了磁盘空间,导致我看的时候磁盘空间已经恢复。在每个 K.原创 2022-01-20 10:24:27 · 1755 阅读 · 0 评论 -
k8s的 Nginx Ingress 调优
概述Nginx Ingress Controller 基于 Nginx 实现了 Kubernetes Ingress API,Nginx 是公认的高性能网关,但如果不对其进行一些参数调优,就不能充分发挥出高性能的优势。Nginx Ingress工作原理:内核参数调优我们先看看通过内核的哪些参数能够提高Ingress的性能。保证在高并发环境下,发挥Ingress的最大性能。调大全连接队列的大小TCP 全连接队列的最大值取决于 somaxconn 和 backlog 之间的最小值,也就是 min(somaxco原创 2022-01-20 10:24:11 · 2306 阅读 · 0 评论 -
Kubernetes中部署ELK Stack日志收集平台
微信公众号:运维开发故事,作者:double冬主要内容1 ELK概念2 K8S需要收集哪些日志3 ELK Stack日志方案4 容器中的日志怎么收集5 部署操作步骤准备环境一套正常运行的k8s集群,kubeadm安装部署或者二进制部署即可1 ELK概念ELK是Elasticsearch、Logstash、Kibana三大开源框架首字母大写简称。市面上也被称为Elastic Stack。其中Elasticsearch是一个基于Lucene、分布式、通过Restf.原创 2022-01-17 10:40:06 · 912 阅读 · 2 评论 -
ETCD入门指南
微信公众号:运维开发故事,作者:华仔前言=====之前对etcd不是很了解,于是下定决心学习一下。随手把过程记录了一下,希望对大家有帮助。环境说明如下:序号IP主机名说明110.211.55.50etcd1etcd version为3.4.16,虚拟机,系统为CentOS 7.7,使用自签证书210.211.55.51etcd2310.211.55.52etcd3一、集群搭建我这里将etcd部署在虚拟机上,采取静态配置,即在etcd.原创 2022-01-17 10:37:37 · 377 阅读 · 0 评论 -
抓包就明白CoreDNS域名解析
DNS 其实就是一个分布式的树状命名系统,它就像一个去中心化的分布式数据库,存储着从域名到 IP 地址的映射。k8s中利用CoreDNS进行域名解析。在进行CoreDNS抓包之前先来了解几个概念完全限定名称完全限定域名(FQDN)就是互联网上计算机或者主机的完整域名。由主机名、域名、顶级域组成。FQDN= HostName + DomainName如:域名 www.ayunw.cn ,实际上它应该是 www.ayunw.cn. ,而通常最后的点可以不写。最后的点被称为根域www就是主机名,ayunw.cn原创 2022-01-16 23:14:44 · 1527 阅读 · 0 评论 -
etcd-raft学习
从本质上说,Raft 算法是通过一切以领导者为准的方式,实现一系列值的共识和各节点日志的一致Leader 选举,Leader 故障后集群能快速选出新 Leader;日志复制, 集群只有 Leader 能写入日志, Leader 负责复制日志到 Follower 节点,并强制 Follower 节点与自己保持相同;安全性,成员变更,一个任期内集群只能产生一个 Leader、已提交的日志条目在发生 Leader 选举时,一定会存在更高任期的新 Leader 日志中、各个节点的状态机应用的任意位置的日志条目内容应原创 2022-01-16 22:58:07 · 457 阅读 · 0 评论