ITADN
etcd-io/etcd
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

etcd

Go Report Card Coverage Tests codeql-analysis Docs Godoc Releases LICENSE OpenSSF Scorecard

注意main 分支在开发期间可能处于不稳定甚至损坏的状态。如需稳定版本,请参阅 releases

etcd logo

etcd 是一个分布式可靠键值存储,用于存储分布式系统中最关键的数据,其重点在于:

  • 简单:定义明确、面向用户的 API (gRPC)
  • 安全:自动 TLS 及可选的客户端证书认证
  • 快速:基准测试达到每秒 10,000 次写入
  • 可靠:使用 Raft 正确实现分布式

etcd 使用 Go 编写,并利用 Raft 共识算法来管理高可用的复制日志。

etcd 被 许多公司在生产环境中使用,开发团队在关键部署场景中为其提供支持,在这些场景中,etcd 经常与 KuberneteslocksmithvulcandDoorman 等应用程序配合使用。严格的 健壮性测试 进一步确保了可靠性。

请参阅 etcdctl 以获取一个简单的命令行客户端。

etcd reliability is important

原始图片版权归 xkcd.com/2347 所有,由 Josh Berkus 修改。

文档

您最常需要的 API 文档可以在这里找到:

维护者

维护者 致力于塑造一个包容的开源项目文化,让用户的声音被听到,让贡献者感到受到尊重和赋能。维护者旨在建立跨公司和跨学科的生产性关系。阅读更多关于 维护者角色与职责 的内容。

入门

获取 etcd

获取 etcd 最简单的方法是使用预构建的发布二进制文件,这些文件可在 发布页面 上用于 OSX、Linux、Windows 和 Docker。

如需更多安装指南,请查看 play.etcd.ioetcd 运维

运行 etcd

首先启动一个单成员 etcd 集群。

如果 etcd 是使用 预构建的发布二进制文件 安装的,请从安装位置按以下方式运行:

/tmp/etcd-download-test/etcd

如果将 etcd 命令移动到如下系统路径中,则可以简单地按以下方式运行:

mv /tmp/etcd-download-test/etcd /usr/local/bin/
etcd

这将启动 etcd,使其在端口 2379 上监听客户端通信,在端口 2380 上监听服务器间通信。

接下来,让我们设置一个键,然后检索它:

etcdctl put mykey "this is awesome"
etcdctl get mykey

etcd 现已运行并正在处理客户端请求。如需了解更多,请查看:

etcd TCP 端口

官方 etcd 端口 为 2379(用于客户端请求)和 2380(用于对等通信)。

运行本地 etcd 集群

首先安装 goreman,它用于管理基于 Procfile 的应用程序。

我们的 Procfile 脚本 将设置一个本地示例集群。使用以下命令启动:

goreman start

这将启动 3 个 etcd 成员 infra1infra2infra3,以及可选的本地运行并组成集群的 etcd grpc-proxy

每个集群成员和代理都接受键值读取和键值写入。

请遵循 Procfile 脚本 中的注释,以向集群添加一个学习者节点。

安装 etcd 客户端 v3

go get go.etcd.io/etcd/client/v3

后续步骤

现在是时候深入了解完整的 etcd API 和其他指南了。

联系方式

社区会议

etcd 贡献者和维护者每周四在太平洋时间上午 11:00 举行会议,会议在社区会议和问题分诊会议之间交替进行。会议议程记录在共享 Google 文档中,欢迎大家提出额外的主题或其他议程。

议题分诊会议旨在处理我们的 PR 和 Issue 积压。分诊会议对所有贡献者开放;你不必是审查者或批准者也能帮忙!它们也是开始贡献的好方式。

会议主持角色在每次会议之间在 etcd 维护者或 sig-etcd 负责人之间轮换,并记录在共享 Google 表格中。

会议录像上传至官方 etcd [YouTube 频道]。

通过加入 etcd-dev 邮件组获取日历邀请。

加入 CNCF 资助的 Zoom 频道:zoom.us/my/cncfetcdproject

贡献

请参阅 CONTRIBUTING 了解设置开发环境、提交补丁和贡献流程的详细信息。

请参阅 community-membership.md 了解成为 etcd 项目成员的信息。 我们欢迎并期待你对项目的贡献!

请参阅 roadmap 以获取有关未来几个主要或次要版本优先事项的更多详细信息。

报告错误

请参阅 reporting bugs 了解报告任何问题的详细信息。在打开问题之前,请检查它是否未在我们的[常见问题]中涵盖。

报告安全漏洞

有关如何报告安全漏洞以及 etcd 团队如何管理漏洞的详细信息,请参阅 security disclosure and release process

Issue 和 PR 管理

有关 issue 管理方式的详细信息,请参阅 issue triage guidelines

有关 pull request 管理指南,请参阅 PR management

etcd 荣誉维护者

etcd emeritus maintainers 将职业生涯的一部分奉献给了 etcd,在相当长的一段时间内审查代码、分诊 bug 并推动项目发展。他们的贡献值得高度赞赏。

许可证

etcd 采用 Apache 2.0 许可证。有关详细信息,请参阅 LICENSE 文件。