注意: main
分支在开发过程中可能处于不稳定甚至损坏的状态。对于稳定版本,请参阅发行版。
etcd 是一个分布式可靠的键值存储,用于存储分布式系统中最关键的数据,重点是:
简单:定义明确、面向用户的 API (gRPC)
安全:自动 TLS 和可选的客户端证书身份验证
快速:基准测试速度为 10,000 次写入/秒
可靠:使用 Raft 正确分布
etcd 使用 Go 编写,使用 Raft 共识算法来管理高可用的复制日志。
许多公司在生产中使用 etcd,在关键部署场景中,开发团队为其提供支持,其中 etcd 经常与 Kubernetes、locksmith、vulcand、Doorman 等应用程序配合使用。严格的稳健性测试进一步确保了可靠性。
有关简单的命令行客户端,请参阅 etcdctl。
原始图像归功于 xkcd.com/2347,由 Josh Berkus 修改。
维护者努力塑造一种包容性的开源项目文化,让用户的声音得到倾听,贡献者感到受到尊重和赋权。维护者的目标是在不同公司和学科之间建立富有成效的关系。阅读有关维护者角色和职责的更多信息。
获取 etcd 的最简单方法是使用预构建的发行二进制文件之一,这些二进制文件可在发行页面上用于 OSX、Linux、Windows 和 Docker。
更多安装指南,请查看 play.etcd.io 和操作 etcd。
首先启动一个etcd的单成员集群。
如果 etcd 是使用预构建的发行二进制文件安装的,请从安装位置运行它,如下所示:
/tmp/etcd-下载-测试/etcd
如果将 etcd 命令移动到系统路径,则可以简单地运行,如下所示:
mv /tmp/etcd-download-test/etcd /usr/local/bin/ 等
这将启动 etcd 侦听端口 2379 以进行客户端通信,并侦听端口 2380 以进行服务器到服务器通信。
接下来,让我们设置一个键,然后检索它:
etcdctl put mykey “这太棒了”etcdctl get mykey
etcd 现在正在运行并服务客户端请求。欲了解更多,请查看:
交互式 etcd 游乐场
动画快速演示
官方的 etcd 端口是 2379 用于客户端请求,2380 用于对等通信。
首先安装 goreman,它管理基于 Procfile 的应用程序。
我们的 Procfile 脚本将设置一个本地示例集群。开始:
戈尔曼开始
这将启动 3 个 etcd 成员infra1
、 infra2
和infra3
以及可选的 etcd grpc-proxy
,它在本地运行并组成一个集群。
每个集群成员和代理都接受键值读取和键值写入。
按照 Procfile 脚本中的注释将学习者节点添加到集群。
去获取 go.etcd.io/etcd/client/v3
现在是时候深入研究完整的 etcd API 和其他指南了。
阅读完整文档。
查看 etcd 常见问题。
探索完整的 gRPC API。
设置多机集群。
了解配置格式、环境变量和标志。
查找语言绑定和工具。
使用 TLS 来保护 etcd 集群。
调整等。
电子邮件:etcd-dev
Slack:Kubernetes 上的 #sig-etcd 频道(获得邀请)
社区会议
etcd 贡献者和维护者每周四上午11:00
(美国太平洋地区)举行会议,会议在社区会议和问题分类会议之间轮流举行。会议议程记录在共享的 Google 文档中,欢迎每个人提出其他主题或其他议程。
问题分类会议旨在解决我们积压的 PR 和问题。分类会议对任何贡献者开放;您不必成为审阅者或批准者即可提供帮助!它们也可以是开始贡献的好方法。
每次会议的会议领导角色都会在 etcd 维护者或 sig-etcd 领导者之间轮换,并记录在共享的 Google 表中。
会议录音上传至官方 etcd YouTube 频道。
通过加入 etcd-dev 邮件组获取日历邀请。
加入 CNCF 资助的 Zoom 频道:zoom.us/my/cncfetcdproject
有关设置开发环境、提交补丁和贡献工作流程的详细信息,请参阅贡献。
请参阅community-membership.md 了解有关成为etcd 项目成员的信息。 我们欢迎并期待您为该项目做出贡献!
另请参阅路线图,以获取有关接下来几个主要或次要版本的优先级的更多详细信息。
有关报告任何问题的详细信息,请参阅报告错误。在提出问题之前,请检查我们的常见问题中是否包含该问题。
有关如何报告安全漏洞以及 etcd 团队如何管理该漏洞的详细信息,请参阅安全披露和发布流程。
有关如何管理问题的详细信息,请参阅问题分类指南。
有关如何管理拉取请求的指南,请参阅 PR 管理。
这些退休维护人员将其职业生涯的一部分奉献给了 etcd,并在相当长的一段时间内审查代码、分类错误并推动项目向前发展。我们非常感谢他们的贡献。
施凡民
安东尼·罗马诺
布兰登·飞利浦
乔·贝茨
李奎浩
胡静怡
李翔
本·达内尔
萨姆·巴特切莱特
彼得·塔博尔
御竹仁
etcd 遵循 Apache 2.0 许可证。有关详细信息,请参阅许可证文件。