什么是 etcd?

复制 URL

etcd(读作 et-see-dee)是一种开源的分布式统一键值存储,用于分布式系统或计算机集群的共享配置、服务发现和的调度协调。etcd 有助于促进更加安全的自动更新,协调向主机调度的工作,并帮助设置容器的覆盖网络。

etcd 是许多其他项目的核心组件。最值得注意的是,它是 Kubernetes 的首要数据存储,也是容器编排的实际标准系统。使用 etcd, 云原生应用可以保持更为一致的运行时间,而且在个别服务器发生故障时也能正常工作。应用从 etcd 读取数据并写入到其中;通过分散配置数据,为节点配置提供冗余和弹性。

作为 Kubernetes 的首要数据存储,etcd 存储和复制所有的 Kubernetes 集群状态。etcd 是 Kubernetes 集群的关键组件,因此必须要有一种可靠的方法来进行配置和管理。

etcd 属于基于共识的分布式系统,因此 etcd 的配置可能比较复杂。引导、维护仲裁、重新配置集群成员身份、创建备份、处理灾难恢复以及监控重要事件都是复杂、繁冗的任务,需要运用相关的专业技能。

使用 etcd Operator 可让这一切都能轻松实现。

进一步了解 Kubernetes Operator

红帽资源

通过使用 Operator(代表人类运维知识 ),使得 etcd 更容易在 Kubernetes 或 Kubernetes 容器平台(如红帽 OpenShift)上使用。etcd Operator 在 Operator 框架内管理 etcd,并用于简化 etcd 集群配置和管理。

etcd Operator 可通过一个简单的命令来安装,也允许用户使用简单的声明式配置来创建、配置和管理 etcd 集群,从而配置和管理 etcd 的复杂设置。

etcd Operator 提供以下功能:

  • 创建/部署 - 用户只需要指定集群大小,不必逐一为 etcd 成员指定繁杂的配置设置。
  • 调整大小 - 用户只需要在规格中指定大小,etcd Operator 便会负责部署、销毁和/或重新配置集群成员。
  • 备份 - etcd Operator 可以自动、透明地执行备份。用户只需要指定备份策略即可。例如,每隔 30 分钟备份一次,并保留最近的 3 个备份。
  • 升级 - 在不停机的情况下升级 etcd 是一项重要但又棘手的任务。通过 etcd Operator 执行升级,可以简化运维工作并避免常见的升级错误。
开始了解 etcd Operator

etcd Operator 通过 3 个步骤来模拟人类运维人员的行为:观察、分析和操作。

  1. Operator 通过使用 Kubernetes API 来观察当前的集群状态。
  2. 然后,查明预期状态和当前状态之间的差异。
  3. 最后,通过利用 etcd 集群管理 API 和/或 Kubernetes API 缩小这些差异。
获取 etcd Operator

etcd 由 CoreOS 团队在 2013 年创造,并由红帽工程师与业内同仁携手维护。

2018 年,红帽和 CoreOS 团队将 etcd 社区项目转交给云原生计算基金会(CNCF)负责,这是是 Linux 基金会旗下旨在推动云原生系统采用的供应商中立组织。etcd 旨在为每一个 Kubernetes 集群提供支持,因此这一举措把 etcd 带给了最依赖它的 CNCF 社区。

红帽计划继续参与开发 etcd,特别是将其作为我们企业级 Kubernetes 产品红帽 OpenShift 的一部分。红帽也是 2015 年成立 CNCF 时在幕后提供支持的首批公司之一,之后一直与相关基金会和社区携手开发和发展云原生技术。我们深厚的渊源以及对开源软件和社区推动型开发的专注,都有助于让 etcd 继续在 CNCF 管理下为社区造福。

为什么选择红帽进行云原生开发?
中心

红帽官方博客

获取有关我们的客户、合作伙伴和社区生态系统的最新信息。

所有红帽产品试用

我们的免费试用可让您亲身体验红帽的产品功能,为获得认证做好准备,或评估某个产品是否适合您的企业。

扩展阅读

什么是 Podman Desktop?

Podman Desktop 是一款免费的开源工具,可简化在本地开发人员环境中使用容器的过程。

一文带你看懂 Helm 是什么?K8s 和 Helm 的关系

Helm 是一款用于 Kubernetes 的软件包管理器,内含将应用部署到集群所需的各种代码和资源。Helm 可通过 Helm 图表这种打包格式来实现应用的自动分发,从而简化这一过程。

什么是 InstructLab?

InstructLab 是一个用于增强大型语言模型(LLM)的开源项目。由 IBM 和红帽共同创建,它为改善 LLM 对齐度提供了一个经济高效的解决方案,并为那些只有极少机器学习经验的人员提供了参与贡献的机会。

开源 相关资源

相关文章