【问题标题】:Elasticsearch 6.3.0 on KubernetesKubernetes 上的 Elasticsearch 6.3.0
【发布时间】:2018-07-04 23:31:44
【问题描述】:

我正在尝试在 Kubernetes 上部署生产级 Elasticsearch 6.3.0。

看过几篇文章,但仍然不确定最好的方法是什么。

  1. https://github.com/pires/kubernetes-elasticsearch-cluster

它不使用有状态集。

  1. https://anchormen.nl/blog/big-data-services/elastic-search-deployment-kubernetes/

这已经很老了。

使用弹性搜索进行应用搜索。

来自 Elasticsearch 的图片是

docker pull docker.elastic.co/elasticsearch/elasticsearch:6.3.0
docker pull docker.elastic.co/elasticsearch/elasticsearch-oss:6.3.0

我想使用 -oss 映像,它是 Apache 的核心映像。

有没有关于在 Kubernetes 上设置生产级 6.3.0 版本的好文档。

【问题讨论】:

  • 你真的需要StatefulSet吗?我们正在运行一个基于部署的 ElasticSearch 集群,就像 pires 的部署一样。我认为他在 Github 上的文档和他的清单是一个坚实的基础,如果你认为这是更好的选择,你可以将 Deployment 更改为 StatefulSet
  • 正确的生产级设置和配置取决于您的用例:)
  • 如果不是有状态的,当 Pod 重新启动或由于其他原因部署到其他 Pod 时,数据会发生什么。
  • 当 pod 重新启动或由于其他原因部署到其他 pod 时数据会发生什么 将两个彼此不相关的概念混为一谈:pod 重启、和持久数据。 Pod 重启是零戏剧,只要 volumes: 被正确声明,因为这是 kubernetes 的工作,StatefulSetDeployment 将表现相同。两者的区别volume是否绑定到Pod的身份,比如db-0总是需要启动db-0的数据,与“很好,使用 any 数据启动,只要它随着时间的推移持续存在”
  • 我还要说,关于您的“生产级 ES 集群”问题,确保,我的意思是确保您的volume 提供商有足够的 IOPS 来支持 ES 集群,因为这些东西肯定会破坏磁盘。在 AWS 中,您将希望 io1 具有尽可能多的预置 IOPS,因为由于阻塞 I 导致 ES 集群在节点上驱动平均负载较高是坏消息 /O

标签: elasticsearch kubernetes


【解决方案1】:

在 Kubernetes 上运行 Elasticsearch 最有希望的新开发之一是 Elasticsearch Operator

Kubernetes Operators 在处理复杂工具(Elasticsearch 绝对是其中之一)的需求时允许更复杂。尤其是在考虑需要避免丢失 Elasticsearch 数据时,操作符是最佳选择。

【讨论】:

    猜你喜欢
    • 2020-01-15
    • 1970-01-01
    • 2019-10-27
    • 2020-06-13
    • 2017-03-10
    • 1970-01-01
    • 2020-03-28
    • 2020-01-10
    • 2023-02-21
    相关资源
    最近更新 更多