概述
原文:https://coreos.com/blog/introducing-the-etcd-operator.html
etcd operator 介绍:简化 etcd 集群配置和管理(Introducing the etcd Operator: Simplify etcd cluster configuration and management)
今天,CoreOS 在 Kubernetes 社区推出了一种称为 Operator 的新型软件。Operator 建立在 Kubernetes 资源和控制器概念之上,但包含应用领域知识以处理常见任务。它们降低了运行分布式系统的复杂性,并帮助你专注于所需的配置,而不是手动配置和生命周期管理的细节。
etcd 是一个分布式简直存储系统。事实上,etcd 是 Kubernetes 的主要数据存储仓库;存储和备份所有 Kubernetes 的集群状态。作为 Kubernetes 集群的关键组成部分,必然需要拥有可靠的自动化配置和管理方法。
作为一个基于分布式共识的系统,etcd 的集群配置可能很复杂。引导,维护合法的成员,重新配置集群成员资格,创建备份,处理灾难恢复以及监控关键时间是一件枯燥无味的工作,并且需要特定的 etcd 专业知识。
今天我们介绍一下如何使这些应用程序更容易运行在基于 Kubernetes 的 etcd Operator 和 Prometheus Operator。在这篇文章中,我们将概述 Operator 对于 etcd 的重要性。让我们继续深入。
etcd Operator: 管理 etcd 集群的最佳方式(The etcd Operator: The best way to manage etcd clusters)
etcd Operator 使用简单的命令行安装,并且使用户能够使用简单的声明式配置来配置和管理 etcd 的复杂性,这些配置将创建,配置和管理 etcd 集群。
etcd Operator 提供一下功能:
创建/销毁:用户只需最小限度地指定集群的大小,而不是为每个 etcd 成员指定繁琐的设置。
调整大小:用户只需要按规范修改大小,etcd Operator 将负责部署,销毁或重新配置集群成员,例如,从 3 到 5,或从 5 到 3。
备份:etcd Operator 自动并透明地执行备份。用户只需指定备份策略,例如每 30 分钟备份一次,并保留最后 3 次备份。
升级:在不停机地情况下升级 etcd 是一项重要而艰巨地任务。使用 etcd Operator 不仅可以简化操作,还可以避免常见地升级缺陷和错误。
它的工作方式(How it works)
etcd Operator 通过三个步骤模拟人类操作员的行为:观察,分析和行动。
首先,它通过使用 Kubernetes API 观察当前集群状态。其次,它发现期望状态和当前状态之间的差异。最后,它通过 etcd 集群管理 API 或 Kubernetes API 中的一个或两个来修复差异。
etcd Operator 事实上的逻辑循环
例如,假设我们有一个由 3 个成员组成的 etcd 集群。不幸的是,一名成员挂掉了。etcd Operator 观察到当前集群由 2 个正在运行的 pods。它与预期的状态不同,应该由 3 个成员。Operator 通过移除死亡人员并添加新成员来恢复一名成员。现在 etcd 集群恢复到健康状态。
用 “Chaos Monkey” 来测试 etcd Operator(Testing the etcd Operator with)
确保 Operator 的健壮性非常重要。我们开发了一种类似于 Netflix 的 “Chaos Monkey” 的工具,可以随机地杀死 pod。
我们使用这个工具来测试主要地 Operator 功能:即创建,恢复和备份 etcd 集群。启用 “Chaos Monkey”后,我们连续浸泡测试。它强调 Operator 通过杀死随机 etcd pod,以便我们可以实时地看到 Operator 如何反应。
尝试实现(Try it out)
部署 etcd Operator(Deploy the etcd Operator)
在任何 Kubernetes 集群上创建新地 etcd Operator 都很简单。在 etcd Operator 源仓库中有一个部署示例:
$ kubectl create -f https://coreos.com/operators/etcd/latest/deployment.yaml
该命令在 Kubernetes 集群上创建了一个 etcd Operator。etcd Operator 现在就可以管理 etcd 集群了。
用 Operator 创建一个新的 etcd 集群(Create a new etcd cluster with the Operator)
现在,我们将创建一个具有 3 个成员备份的 etcd 集群。(请注意,只有当你的 Kubernetes 集群支持持久卷时,备份才有效)。再次,我们将使用 etcd Operator 源码中的示例:
$ kubectl create -f https://coreos.com/operators/etcd/latest/example-etcd-cluster.yaml $ kubectl get pods NAME READY STATUS RESTARTS AGE etcd-cluster-0000 1/1 Running 0 23s etcd-cluster-0001 1/1 Running 0 16s etcd-cluster-0002 1/1 Running 0 8s etcd-cluster-backup-tool-rhygq 1/1 Running 0 18s
感兴趣吗?要尝试更多示例并探索更多功能,请查看 etcd Operator 文档。
etcd Operator 正在积极开发中。许多令人兴奋的功能正在计划和开发中。我们很乐意看到你的反馈和贡献!
最后
以上就是无辜往事为你收集整理的etcd operator 介绍的全部内容,希望文章能够帮你解决etcd operator 介绍所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复