Kubernetes为什么不使用其他数据库(如mongodb),而使用etcd?

问题描述 投票:0回答:1

[当使用api聚合扩展kubernetes时,我发现扩展api服务器需要实例etcd进行存储,因此Kubernetes本身也需要。

为什么不能用其他数据库替换etcd,例如nosql数据库mongodb?

为什么Kubernetes架构设计不允许人们选择其他存储选项?

kubernetes etcd
1个回答
0
投票

来自here

自从2014年成为Kubernetes的一部分以来,Etcd社区呈指数增长。有许多贡献成员,包括CoreOS,Google,Redhat,IBM,Cisco,华为等。 Etcd在生产环境中已被AWS,Google Cloud Platform和Azure等大型云提供商成功使用。

Etcd在Kubernetes中的工作是为分布式系统安全地存储关键数据。最著名的是Kubernetes的主要数据存储区,用于存储其配置数据,状态和元数据。由于Kubernetes通常在多台机器的集群上运行,因此它是一个分布式系统,需要像Etcd这样的分布式数据存储。

Etcd使跨集群存储数据和监视更改变得容易,从而允许Kubernetes集群中的任何节点读取和写入数据。 Kubernetes使用Etcd的watch功能来监视对其系统的actualdesired状态的更改。如果它们不同,Kubernetes会进行更改以调和这两个状态。从存储在Etcd中的数据检索kubectl命令的每次读取,所做的任何更改(适用kubectl)都会在Etcd中创建或更新条目,每次崩溃都会触发etcd中的值更改。

© www.soinside.com 2019 - 2024. All rights reserved.