在 Kubernetes 上运行 Elasticsearch:开启新篇章
我们激动地宣布推出 Elastic Cloud on Kubernetes (ECK),这是一款基于 Kubernetes Operator 模式的新型编排产品,用户可使用该产品在 Kubernetes 上配置、管理和运行 Elasticsearch 集群。
在过去几年中,Kubernetes 已经一跃成为容器及容器内所运行应用程序的实际编排标准。这一趋势在 Elasticsearch 社区亦无例外。Elastic Cloud on Kubernetes 很好地诠释了我们的承诺:用户在哪里,我们就到哪里;致力于提供最好的解决方案以帮助用户在自己所选的平台上部署和运行 Elastic 产品。
从发布适用于 Elasticsearch 和 Kibana 的官方 Docker 镜像,到修改 Beats 以从暂时性的 pod 和 daemonset 中收集日志和指标,我们使用 Kubernetes 的历程可以回溯到很久很久之前。去年 12 月,我们加入了 CNCF(云原生计算基金会),并且推出了 Helm Charts,进一步加大了在这一方面的投入力度。我们承诺让用户更加轻松地在 Kubernetes 环境中部署和运行我们的产品和解决方案,ECK 是我们践行此承诺过程中很自然的一项新举措(尽管手笔很大)。
是一个 Elasticsearch Operator,但远不止于此
ECK 使用 Kubernetes Operator 模式构建而成,需要安装在您的 Kubernetes 集群内,其功能绝不仅限于简化 Kubernetes 上 Elasticsearch 和 Kibana 的部署工作这一项任务。ECK 专注于简化所有后期运行工作,例如:
- 管理和监测多个集群
- 轻松升级至新的堆栈版本
- 扩大或缩小集群容量
- 更改集群配置
- 动态调整本地存储的规模(包括 Elastic Local Volume(一款本地存储驱动器))
- 备份安排
但 ECK 的功能却绝不仅限于 Kubernetes Operator。ECK 不仅能自动完成所有运行和集群管理任务,还专注于简化在 Kubernetes 上使用 Elasticsearch的完整体验。ECK 的愿景是为 Kubernetes 上的 Elastic 产品和解决方案提供 SaaS 般的体验。
默认提供保护
在 ECK 上启动的所有 Elasticsearch 集群都默认受到保护,这意味着在最初创建的那一刻便已启用加密并受到默认强密码的保护。这一体验与用户使用 Elasticsearch Service on Elastic Cloud 的体验相一致。
以无缝方式提供这一默认安全体验可不是一件轻松的事。阅读我们为实现这一目标而对 Elastic Stack 进行的最新安全更改。总结一下:从 6.8 和 7.1 版本开始,Elasticsearch 核心安全功能(TLS 加密、基于角色的访问控制,以及文件和原生身份验证)会免费提供。
Canvas、Maps、Uptime,太不可思议啦
通过 ECK 部署的所有集群都包括强大的基础(免费)级功能,例如可实现密集存储的冻结索引、Kibana Spaces、Canvas、Elastic Maps,等等。您甚至可以使用 Elastic Logs 和 Elastic Infrastructure 应用监测 Kubernetes 日志和基础设施。您可以获得在 Kubernetes 上使用 Elastic Stack 完整功能的体验,只有 Elastic 才能提供这一支持。
部署热温冷和自定义拓扑架构
热温冷是一个强大的 Elasticsearch 集群拓扑架构,适用于日志、指标以及其他时序型用例。这是一个十分常见的架构模型,能够在控制成本的同时,在长期存储和性能需求之间实现平衡。通过 ECK,用户可以在 Kubernetes 上部署热温冷集群,然后通过“索引生命周期管理”(ILM) 轻松配置数据生命周期政策,从而随着时间推移在不同节点级别之间转移数据。
无需再使用压缩算法
说到软件部署,初期工作很轻松,但后期工作可就没那么简单了。如要在动态编排框架(例如 Kubernetes)中简化“有状态”系统(例如 Elasticsearch)的运行工作,需要付出很多努力。您如何提供可动态缩放的持久型本地存储?我们直接在 ECK 内构建了 Elastic Local Volume,这是一个适用于 Kubernetes 的集成式存储驱动器。ECK 中还融入了很多最佳实践,例如在缩小规模之前对节点进行 drain(排空)操作,在扩大规模的时候对分片进行再平衡,等等。
作为 Elasticsearch 和 Elastic Cloud Enterprise 的创建者,同时作为 Elasticsearch Service 的运营者,我们基于多年的运行经验开发出了 Elastic Cloud on Kubernetes。我们在编码过程中充分利用自身在运行方面的全部经验,最终确定了如何在 Kubernetes 内编排和运行 Elasticsearch 及 Kibana 部署。
从确保在配置变动过程中不会丢失数据,到确保在规模调整过程中实现零中断,在开发 ECK 的过程中我们竭尽全力处理好运行中的每个问题。
永远免费级别
从 Elasticsearch 创立伊始,我们的目标从未改变:通过在免费默认分发包中加入大量强大功能,为新用户提供丰富的入门体验。ECK 当然也不例外。
ECK 的默认分发包将永远免费提供。本着开放和透明的精神,我们还在 Elastic cloud-on-k8s GitHub 存储库中将 ECK 的全部源代码向公众公开,并按照 Elastic License(Elastic 许可证)授予许可。
通过 Enterprise(付费)订阅服务,用户可以享受更多功能,例如通过高级功能(诸如字段和文档级访问控制)部署集群的能力、Machine Learning、图表分析,等等。未来,Enterprise 订阅服务还会提供更多高级编排功能。
官方 GKE 支持,更多精彩功能,敬请期待
在这一最初发布的 ECK 内部测试版本中,我们支持 Google Kubernetes Engine (GKE) 以及 vanilla Kubernetes 1.11 及更高版本。未来版本将会继续扩大支持范围,以将其他类型的 Kubernetes 也包括在内。
即刻开始使用
立即试用,只需在您的 Kubernetes 集群上运行下列内容即可,您还可以访问快速入门页面了解更多信息。