首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏aoho求索

    etcd Lease:etcd 如何实现租约?

    你好,我是 aoho,今天我和你分享的主题是 etcd Lease:etcd 如何实现租约? 上一篇文章我们介绍了 etcd Watch 实现的机制,今天我们继续分析 etcd 的另一个重要特性:Lease 租约。 它类似 TTL(Time To Live),用于 etcd 客户端与服务端之间进行活性检测。在到达 TTL 时间之前,etcd 服务端不会删除相关租约上绑定的键值对;超过 TTL 时间,则会删除。 Lease 也是 etcd v2 与 v3 版本之间的重要变化之一。etcd v2 版本并没有 Lease 概念,TTL 直接绑定在 key 上面。 etcd Server 会定期从 channel 读取过期的 LeaseID,之后发起 revoke 请求。 那么集群中的其他 etcd 节点是如何删除过期节点的呢?

    1.8K21编辑于 2022-12-03
  • 来自专栏加菲的博客

    etcdetcd使用与集群搭建

    ,在java的技术栈中利用的最多,而在go语言中更多的是使用etcd或者consul,这俩对比,etcd的文档又比consul更齐全。 etcd就能充当一个服务字典的角色,服务上线去往etcd进行注册,etcd与服务之间维持一个心跳,保证服务是否可用。 这类应用场景的使用方式通常是:通过程序写入共享配置信息,其他分布式应用启动的时候主动从etcd获取一次配置信息,同时,应用程序在etcd节点上注册一个Watcher并等待,相当于一个订阅者,只要etcd ; 数据持久化:etcd默认数据一更新就进行持久化; 安全:etcd支持SSL客户端安全认证。 3.etcd架构 etcd分为四个部分: HTTP Server:用于处理用户发送的API请求以及其他etcd节点的同步与心跳请求; Store:用于处理etcd所支持的各类功能的事务,包括 数据索引

    1.4K20编辑于 2022-06-23
  • 来自专栏python3

    搭建etcd集群,python调etcd

    etcd/etcd.conf 修改内容如下: # [member] ETCD_NAME=master1      #本机的主机名 ETCD_DATA_DIR="/var/lib/etcd/default.etcd "    #etcd的数据存储路径 #ETCD_WAL_DIR="" #ETCD_SNAPSHOT_COUNT="10000" #ETCD_HEARTBEAT_INTERVAL="100" #ETCD_ELECTION_TIMEOUT /0.0.0.0:2379,http://0.0.0.0:4001"  #监听etcd客户端的地址 #ETCD_MAX_SNAPSHOTS="5" #ETCD_MAX_WALS="5" #ETCD_CORS 启动etcd集群 并设置开机启动 systemctl start etcd && systemctl enable etcd python调etcd的接口 安装etcd3的模块 pip install  etcd3 import etcd3 #往etcd中存数据 client = etcd3.client(host='192.168.133.140')   #连接etcd r  = client.put

    3.1K11发布于 2020-01-08
  • 来自专栏千里行走

    etcd-1:部署etcd集群

    目录 (1).下载 (2).etcd配置文件与启动 1.etcd启动参数说明 2.启动脚本模版 3.启动etcd集群 (3).验证etcd集群 (4).参考资料 一共3台机器。 每台机器部署一个etcd实例:etcd-master1、etcd-master2、etcd-master3。 统一在用户app下操作,这是良好习惯。 (1).下载 下载页面: https://github.com/etcd-io/etcd/releases 选择最新稳定版:3.5.0 wget https://github.com/etcd-io/etcd /app/3rd ln -s /app/3rd/etcd-v3.5.0/etcd /usr/local/bin/etcd ln -s /app/3rd/etcd-v3.5.0/etcdctl /usr =http://etcd-master0-ip:2380,etcd-master1=http://etcd-master1-ip:2380,etcd-master2=http://etcd-master2

    1.3K30发布于 2021-10-18
  • 来自专栏云计算与大数据

    Debugging etcd

    etc debug

    62020发布于 2019-04-25
  • 来自专栏aoho求索

    etcd watch:etcd 如何实现 watch 机制?

    你好,我是 aoho,今天我和你分享的主题是 etcd watch:etcd 如何实现 watch 机制? etcd v2 和 v3 版本之间的重要变化之一就是 watch 机制的优化。 etcd v2 watch 机制采用的是基于 HTTP/1.x 协议的客户端轮询机制,历史版本存储则是通过滑动窗口。 在大量的客户端连接的场景或者集群规模较大的场景,导致 etcd 服务端的扩展性和稳定性都无法保证。 etcd 用 adt 来存储这种 key。 某种意义上讲,etcd 也是一种发布订阅模式。 我们通过介绍 watch 的用法,引入对 etcd watch 机制实现的分析和讲解。

    4.2K51编辑于 2022-04-28
  • 来自专栏云计算与大数据

    Debugging etcd

    etc debug

    80020发布于 2019-04-08
  • 来自专栏sktj

    Etcd 维护

    1、设置保留历史时间 --auto-compaction-retention 保持一个小时的历史 $ etcd --auto-compaction-retention=1 压缩到修订版本3 $ etcdctl initial-cluster m1=http:/host1:2380,m2=http://host2:2380,m3=http://host3:2380 --initial-cluster-token etcd-cluster etcd --name m2 --listen-client-urls http://host2:2379 --advertise-client-urls http://host2:2379 --listen-peer-urls http://host2:2380 & $ etcd --name m3 --listen-client-urls http://host3:2379 advertise-client-urls http://host3:2379 --listen-peer-urls http://host3:2380 & 5、配置空间配额 设置非常小的 16MB 配额 $ etcd

    2.5K20发布于 2019-10-29
  • 来自专栏CNCF

    etcd项目

    名称:etcd 类型:键/值存储 说明:etcd是一个分布式键值存储,用于分布式系统的最关键数据。etcd提供了一种可靠的方法,可以在一组机器上存储数据,具有最佳的稳定性、可靠性、可伸缩性和性能。 有关谁参与以及etcd扮演角色的详细信息,请阅读etcd项目建议书。 https://github.com/cncf/toc/blob/master/proposals/etcd.adoc 网站/代码: https://github.com/etcd-io/etcd 文档 : https://github.com/etcd-io/etcd/blob/master/Documentation/docs.md https://etcd.readthedocs.io/en/latest / 错误和功能请求: https://github.com/etcd-io/etcd/issues 即时交流: IRC:freenode.org上的#etcd 论坛/邮件列表: https://stackoverflow.com

    59420发布于 2019-12-05
  • 来自专栏小石头

    etcd 命令

    password] 用户名和密码验证信息 –timeout ‘1s’ 请求的连接超时,默认为1s –total-timeout ‘5s’ 命令执行总超时,默认为5s –version, -v 打印版本信息 etcd 命令预览 etcd支持的命令大体上可以分为两类,数据类操作、非数据类操作 数据类操作 命令 说明 set 设置键对应的值 get 获取键对应的值 update 更新键对应的值 mk 创建新的值 rm 删除键值或目录 删除空目录或者一个键值 setdir 创建目录(允许目录已经存在) updatedir 更新已经存在的目录 非数据类操作 命令 说明 backup 备份指定的目录 cluster-health 检查etcd ~]# ---- 非数据类操作 1. backup --data-dir value 数据目录路径 --wal-dir value Path to the etcd /etcd.conf |grep data-dir data-dir: "/opt/etcd_data" [root@node2 ~]# ls /opt/etcd_data member [root@node2

    63120编辑于 2022-11-10
  • 来自专栏SRE运维进阶之路

    Etcd 监控

    监控etcd成员节点的状态可以帮助你了解集群中节点的健康状况,发现掉线或者异常节点。 健康状态 主从状态 健康状态 etcd leader切换统计 频繁的领导者变更会严重影响 etcd 的性能。 监控丢失的心跳可以帮助你发现etcd节点之间的通信问题或者网络延迟。 RED 方法 QPS RED 方法 请求错误率 监控etcd的错误率可以帮助你发现etcd操作中的潜在问题。 RED 方法 请求延迟 监控etcd的请求延迟可以帮助你了解API请求的处理时间。较高的延迟可能表明etcd正面临负载压力或性能问题。 RED 方法 快照处理时间 etcd定期创建快照以备份数据。监控快照处理时间可以帮助你了解etcd备份的性能,确保备份任务能够及时完成。 RED 方法 watcher 数量 监控etcd集群当前连接到etcd的客户端数量。如果连接数过高,可能需要调整etcd的配置或者增加集群的容量。

    59720编辑于 2023-06-21
  • 来自专栏sktj

    Etcd 监控

    prometheus Prometheus Running a Prometheus monitoring service is the easiest way to ingest and record etcd <<EOF global: scrape_interval: 10s scrape_configs: - job_name: test-etcd static_configs: - targets: \ -web.listen-address ":9090" \ -storage.local.path "test-etcd.data" >> /tmp/test-etcd.log 2>&1 & </ pre> Now Prometheus will scrape etcd metrics every 10 seconds. to be my-etcd.

    67710发布于 2019-10-29
  • 来自专栏花落的技术专栏

    etcd 详解

    存储设计 Etcd中跟存储部分相关的模块主要有3块,Raft状态机中存储的日志条目、持久化到文件的日志条目以及后端的KV存储。 Raft状态机存储 回顾下第一篇中讲到的Etcd整体架构,raft模块只负责算法实现,所以所有收到的日志条目都是存在内存中。 etcd 会定期对数据做快照,快照时会在WAL中追加一条记录。在etcd节点重启恢复时,会查找wal中最后一次快照的记录,将快照后的日志条目重新给到raft模块恢复内存数据。 为了提高读写效率,etcd会维护一个写事务的缓存队列,当队列大小达到一定数或者离上次已经过了一定的时间后,才会真正将数据写到磁盘上。 存储总结 数据从客户端提交到Etcd后,会经过3个存储的地方。 首先会进入Raft算法模块,raft将日志保存在内存中,然后通知etcd持久化。为了提高效率,etcd会将数据写到WAL中,因为wal底层文件只追加不更新和删除,所以完成这一步数据就不会丢了。

    2.1K00编辑于 2021-12-07
  • 来自专栏SRE运维进阶之路

    Etcd 概述

    etcd内部采用raft协议作为一致性算法,Etcd基于 Go 语言实现。 etcd v0.2版本。 Peer:对同一个etcd集群中另外一个Member的称呼。 Client:向etcd集群发送HTTP请求的客户端。 WAL:预写式日志,etcd用于持久化存储的日志格式。 snapshot:etcd防止WAL文件过多而设置的快照,存储etcd数据状态。 Proxy:etcd的一种模式,为etcd集群提供反向代理服务。 etcdctl 常用命令 全局参数 ETCD_CA_CERT="/etc/kubernetes/pki/etcd/ca.crt" ETCD_CERT="/etc/kubernetes/pki/etcd/

    50510编辑于 2024-04-23
  • 来自专栏技术杂记

    etcd 基础

    前言 etcd 是一个分布式的,一致性键值存储,主要用于共享配置和服务发现 etcd is a distributed, consistent key-value store for shared configuration instance Reliable: properly distributed using Raft 它是使用 Go 开发的,Raft 算法是其一致性保障的核心 Tip: Raft 的相关细节可以参考 剖析 etcd 和 raft动画 这里简单分享一下 etcd 的基础 ,相关的详细内容可以参考 官方Git Tip: 当前的最新版本为 etcd v2.2.4 Note: The master branch may

    31830编辑于 2022-01-20
  • 来自专栏技术杂记

    etcd 集群

    前言 etcd 在生产环境下一般都以集群的形式出现 构建 etcd 集群有以下三种方法 Static etcd Discovery DNS Discovery 这里简单分享一下使用静态方法构建 etcd 集群的操作 ,详细过程可以参考 Etcd Clustering Guide Tip: 当前的最新版本为 etcd v2.2.5 Note: The master branch may be in an ]# cd etcd-v2.2.4-linux-amd64/ [root@docker etcd-v2.2.4-linux-amd64]# . /etcd --version etcd Version: 2.2.4 Git SHA: bdee27b Go Version: go1.5.3 Go OS/Arch: linux/amd64 [root @docker etcd-v2.2.4-linux-amd64]#

    36210编辑于 2022-01-19
  • 来自专栏jeremy的技术点滴

    学习etcd

    部署 创建一个docker主机 由于我本机并没安装etcd,于是想就直接在docker里玩etcd好了,所以先创建一个docker主机。 $(docker-machine env etcd-servers) etcd发现创建etcd集群 为了保证etcd服务的高可用性,我决定还是创建一个etcd服务集群。 所以最终还是选择了etcd发现的方式创建etcd集群。 首先创建一个单节点的etcd服务 1 docker run --rm -p 2380:2380 -p 2379:2379 --name etcd0 quay.io/coreos/etcd etcd -- 服务停止了 docker stop etcd0 docker rm etcd0 后续可参考官方文档对集群作进一步调整,如增删成员节点,见官方文档 使用etcd集群 etcd通过HTTP API对外提供服务

    1.3K51发布于 2018-05-10
  • 来自专栏aoho求索

    彻底搞懂 etcd 系列文章(四):etcd 安全

    《彻底搞懂 etcd 系列文章》将会从 etcd 的基本功能实践、API 接口、实现原理、源码分析,以及实现中的踩坑经验等几方面具体展开介绍 etcd。 1 etcd 安全 在上一篇文章介绍了 etcd 集群的运维部署之后,本文将会重点讲解 etcd 的安全通信实践。 etcd 支持通过 TLS 协议进行的加密通信。 /ssl/server.pem --peer-key-file=/opt/etcd/ssl/server-key.pem #etcd2 启动 /opt/etcd/bin/etcd --name etcd2 =/opt/etcd/ssl/server.pem --peer-key-file=/opt/etcd/ssl/server-key.pem #etcd3 启动 /opt/etcd/bin/etcd - 彻底搞懂 etcd 系列文章(二):etcd 的多种安装姿势 彻底搞懂 etcd 系列文章(三):etcd 集群运维部署 参考 etcd docs

    84200发布于 2020-06-10
  • 来自专栏aoho求索

    彻底搞懂 etcd 系列文章(四):etcd 安全

    《彻底搞懂 etcd 系列文章》将会从 etcd 的基本功能实践、API 接口、实现原理、源码分析,以及实现中的踩坑经验等几方面具体展开介绍 etcd。 1 etcd 安全 在上一篇文章介绍了 etcd 集群的运维部署之后,本文将会重点讲解 etcd 的安全通信实践。etcd 支持通过 TLS 协议进行的加密通信。 集群,配置如下: #etcd1 启动 $ /opt/etcd/bin/etcd --name etcd1 --initial-advertise-peer-urls https://192.168.202.128 /ssl/server.pem --peer-key-file=/opt/etcd/ssl/server-key.pem #etcd2 启动 /opt/etcd/bin/etcd --name etcd2 =/opt/etcd/ssl/server.pem --peer-key-file=/opt/etcd/ssl/server-key.pem #etcd3 启动 /opt/etcd/bin/etcd -

    1.2K10发布于 2020-06-19
  • 来自专栏aoho求索

    彻底搞懂 etcd 系列文章(一):初识 etcd

    《彻底搞懂 etcd 系列文章》将会从 etcd 的基本功能实践、API 接口、实现原理、源码分析,以及实现中的踩坑经验等几方面具体展开介绍 etcdetcd2 中引入的 etcd/raft 库,是目前最稳定、功能丰富的开源一致性协议之一。 引入etcd之后,就不用自己实现一套方案了,只要将这些信息存放到指定的etcd目录中即可,etcd的这些目录就可以通过HTTP的接口在外部访问。 通过etcd进行低耦合的心跳检测。检测系统和被检测系统通过etcd上某个目录关联而非直接关联起来,这样可以大大减少系统的耦合性。 ? 通过etcd完成系统调度。 小结 本章主要介绍了 etcd 的相关概念,以及 etcd 主要的使用场景。etcd 在分布式环境中是一个利器,在一致性存储方面有广泛的应用。下一篇将会具体介绍 etcd 的安装以及使用的实践。

    2.1K41发布于 2020-05-20
领券