Kubernetes 上的 Elasticsearch - 'Elastic Cloud (ECK)' 对比 'Helm charts'
Elasticsearch on Kubernetes - 'Elastic Cloud (ECK)' vs 'Helm charts'
出于日志文件聚合的目的,我希望在本地(vanilla)Kubernetes 集群上设置生产 Elasticsearch 实例。
似乎有两个主要的部署选项:
- 弹性云 (ECK) - https://github.com/elastic/cloud-on-k8s
- Helm 图表 - https://github.com/elastic/helm-charts
我已经成功使用 old (soon to be deprecated) helm charts 但刚刚发现了 ECK。
这两种选择的优缺点是什么?任何可能影响长期使用的约束或限制?
1. 弹性云(ECK):
优点
- 文档导向(JSON)
- 多语言 - ICU 插件用于索引和标记化
多语言内容,这是一个基于 elasticsearch 的插件
unicode 文本分割标准的 lucene 实现
- 管理和监控多个集群
- 轻松升级到新的堆栈版本
- 扩展和缩减集群容量
- 更改集群配置
- 动态扩展本地存储(包括弹性本地卷,一个
本地存储驱动程序)
- 计划备份
- 默认安全 - 启用加密并受保护
创建时的强默认密码
- 免费功能 - Canvas、地图、正常运行时间
- 热-温-冷和自定义拓扑
- 官方 GKE 支持
- 免费套餐
缺点
- 它不像其他一些选项那样擅长作为数据存储
MongoDB、Hadoop 等。对于较小的用例,它会执行得很好。如果
你每天都在传输 TB 的数据,你会发现它
阻塞或丢失数据
- 它的学习曲线很长
更陡峭
- 当您不能或不会创建具有生产价值的设置时,因为
经济学。对于测试和开发,单个节点可以正常工作。当你
转向生产,你应该有不少于 3-node/2-replica
您可以在此处找到更多信息:ECK。
2. Elastic Stack Kubernetes Helm 图表:
优点
- 庞大的社区
- 易于在 Kubernetes 中部署和使用
- 堆栈中的每个组件负责
日志记录管道,它们一起提供了一个全面且
强大的 Kubernetes 日志记录解决方案
- 丰富的分析能力
缺点
- 难以维持规模
您可以在此处找到更多信息:open-source-monitoring-tools-for-kubernetes。
主要区别在于 Helm Charts 相当不固执,而 Operator 固执己见——它内置了许多最佳实践,例如对使用安全性的硬性要求。此外,Operator Framework 建立在协调循环之上,并将持续检查您的集群是否处于所需状态。 Helm Charts 更像是一个包管理器,您可以在其中 运行 特定命令(在版本 X 中安装带有 Y 节点的集群,现在再添加 2 个节点,现在升级到版本 Z,...)。
如果 ECK 是 Cloud-on-Kubernetes,您可以将 Helm 图表视为 Stack-on-Kubernetes。它们是一种在 Kubernetes 环境中定义我们的 Docker 图像的精确规范 运行 的方法。
另一个区别是 Helm Charts 是开源的,而 Operator 是免费的,但使用 Elastic License(你不能使用它 运行 付费 Elasticsearch 服务是主要限制)。
出于日志文件聚合的目的,我希望在本地(vanilla)Kubernetes 集群上设置生产 Elasticsearch 实例。
似乎有两个主要的部署选项:
- 弹性云 (ECK) - https://github.com/elastic/cloud-on-k8s
- Helm 图表 - https://github.com/elastic/helm-charts
我已经成功使用 old (soon to be deprecated) helm charts 但刚刚发现了 ECK。
这两种选择的优缺点是什么?任何可能影响长期使用的约束或限制?
1. 弹性云(ECK):
优点
- 文档导向(JSON)
- 多语言 - ICU 插件用于索引和标记化 多语言内容,这是一个基于 elasticsearch 的插件 unicode 文本分割标准的 lucene 实现
- 管理和监控多个集群
- 轻松升级到新的堆栈版本
- 扩展和缩减集群容量
- 更改集群配置
- 动态扩展本地存储(包括弹性本地卷,一个 本地存储驱动程序)
- 计划备份
- 默认安全 - 启用加密并受保护 创建时的强默认密码
- 免费功能 - Canvas、地图、正常运行时间
- 热-温-冷和自定义拓扑
- 官方 GKE 支持
- 免费套餐
缺点
- 它不像其他一些选项那样擅长作为数据存储 MongoDB、Hadoop 等。对于较小的用例,它会执行得很好。如果 你每天都在传输 TB 的数据,你会发现它 阻塞或丢失数据
- 它的学习曲线很长 更陡峭
- 当您不能或不会创建具有生产价值的设置时,因为 经济学。对于测试和开发,单个节点可以正常工作。当你 转向生产,你应该有不少于 3-node/2-replica
您可以在此处找到更多信息:ECK。
2. Elastic Stack Kubernetes Helm 图表:
优点
- 庞大的社区
- 易于在 Kubernetes 中部署和使用
- 堆栈中的每个组件负责 日志记录管道,它们一起提供了一个全面且 强大的 Kubernetes 日志记录解决方案
- 丰富的分析能力
缺点
- 难以维持规模
您可以在此处找到更多信息:open-source-monitoring-tools-for-kubernetes。
主要区别在于 Helm Charts 相当不固执,而 Operator 固执己见——它内置了许多最佳实践,例如对使用安全性的硬性要求。此外,Operator Framework 建立在协调循环之上,并将持续检查您的集群是否处于所需状态。 Helm Charts 更像是一个包管理器,您可以在其中 运行 特定命令(在版本 X 中安装带有 Y 节点的集群,现在再添加 2 个节点,现在升级到版本 Z,...)。
如果 ECK 是 Cloud-on-Kubernetes,您可以将 Helm 图表视为 Stack-on-Kubernetes。它们是一种在 Kubernetes 环境中定义我们的 Docker 图像的精确规范 运行 的方法。
另一个区别是 Helm Charts 是开源的,而 Operator 是免费的,但使用 Elastic License(你不能使用它 运行 付费 Elasticsearch 服务是主要限制)。