当前位置: 首页 > 知识库问答 >
问题:

Kubernetes逐出API不能完全解释Elasticsearch集群的健康状况?

红明德
2023-03-14

我希望以一种不知道集群上运行的应用程序细节的方式对Kubernetes集群执行自动滚动更新。原则上,PodDisruptionBudget应该促进这一点。

这里有一个障碍:有一个Elasticsearch集群在这个Kubernetes集群上运行,我找不到一种方法来正确表达“OK to execute an ES Pod”信号。具体来说,在这种情况下,“这个Pod可以接收流量”和“这个Pod可以被逐出”信号不能同时用readinessProbe来表示。

该ES集群的索引具有多个复制副本:1,并且有一个PDB,其中最大不可用:1。ES吊舱每个都指定了一个准备就绪探测,该探测请求集群/健康?等待状态=黄色。

按原样,如果我们驱逐一个ES吊舱,替换吊舱将加入ES集群,启动并返回就绪状态,而ES集群作为一个整体仍然是黄色的,并且正在复制碎片(因此驱逐任何其他ES吊舱仍然是不安全的)。

有人成功地解决了这个问题吗?我是否误解了探测器/PDB的语义?

我们考虑了一些选项:

  • 在就绪探测中使用wait\u for\u status=green,这意味着当ES集群运行状况为黄色时,所有ES吊舱都未就绪

共有1个答案

仇经武
2023-03-14

首先,尽一切可能为自己节省大量时间和麻烦,使用赫尔姆图表:https://github.com/helm/charts/tree/master/incubator/elasticsearch

但万一你做不到,或者它对其他人有帮助,我想你要找的是集群/健康?局部=真,例如:

    readinessProbe:
      httpGet:
        path: /_cluster/health?local=true
        port: 9200

希望这有帮助!

 类似资料:
  • 说到 Elasticsearch 集群监控,首先我们肯定是需要一个从总体意义上的概要。不管是多大规模的集群,告诉我正常还是不正常?没错,集群健康状态接口就是用来回答这个问题的,而且这个接口的信息已经出于意料的丰富了。 命令示例 # curl -XGET 127.0.0.1:9200/_cluster/health?pretty { "cluster_name" : "es1003", "s

  • 我想写一个脚本来检查我们的elasticsearch集群(部署在kubernetes上)的运行状况 我进入运行elasticsearch主容器的pod中,运行以下命令: 如您所见,索引计数和运行状况检查命令都成功。但当我从外部运行这些命令时(我给elasticsearch集群一个公共endpoint) 只有index count命令成功,健康检查命令总是产生403禁止错误。 我已经从elastic

  • 此API用于获取有关集群及其节点的信息,并对其进行更改。 对于调用此API,需要指定节点名称,地址或。 例如, 或者 响应 集群运行状况 此API用于通过追加关键字来获取集群运行状况的状态。 例如, 响应 集群状态 此API用于通过附加’‘关键字URL来获取有关集群的状态信息。状态信息包含:版本,主节点,其他节点,路由表,元数据和块。 例如, 响应 群集统计信息 此API有助于使用’‘关键字检索有

  • 问题内容: 我遵循了负载均衡器教程:https : //cloud.google.com/container- engine/docs/tutorials/http-balancer 在使用Nginx映像时,当尝试使用自己的应用程序映像时,它工作正常后端切换为不正常。 我的应用程序重定向到/(返回302),但在pod定义中添加了一个: 我的入口看起来像: 服务配置为: 后端健康状况如下: 入口的规

  • 我遵循了负载均衡器教程:https://cloud.google.com/container-engine/docs/tutorials/http-balancer当我使用Nginx映像时工作正常,当我尝试使用我自己的应用程序映像时,尽管后端切换到不健康。 我的应用程序重定向到/(返回302),但我在pod定义中添加了一个livenessProbe: 我的入口看起来像: 服务配置为: 入口中的后端

  • 本文向大家介绍coldfusion 健康)状况,包括了coldfusion 健康)状况的使用技巧和注意事项,需要的朋友参考一下 示例 标签语法 参数 属性 需要 类型 默认 描述 健康)状况 真正 串 管理循环的条件。不能包含像数学符号<,>或=。必须使用ColdFusion的文本实现比如less than,lt,greater than,gt,equals或eq。 最终值为x5。 生成的HTML