搜索

36.12. 手动 Elasticsearch Rollouts

download PDF

自 OpenShift Container Platform 3.7 起,Aggregated Logging 堆栈更新了 Elasticsearch Deployment Config 对象,使其不再有 Config Change Trigger,这意味着对 dc 的任何更改都不会造成自动推出部署。这是为了防止 Elasticsearch 集群中发生意外重启,这可能会在成员重启时造成过量分片重新平衡。

本节将介绍两个重启步骤: rolling-restartfull-restart。如果滚动重启会在没有停机时间的情况下对 Elasticsearch 集群进行适当的更改(配置了三个 master),并完全重启会安全地应用现有数据的主要更改。

36.12.1. 执行 Elasticsearch Rolling 集群重启

当进行了以下任何更改时,建议使用滚动重启:

  • 运行 Elasticsearch Pod 的节点需要重启
  • logging-elasticsearch configmap
  • logging-es-* 部署配置
  • 新镜像部署或升级

这是推荐的重启策略。

注意

如果 openshift_logging_use_ops 配置为 True,则需要对 ops 集群重复执行 Elasticsearch 集群的所有操作。

  1. 防止在有意关闭节点时进行分片平衡:

    $ oc exec -c elasticsearch <any_es_pod_in_the_cluster> -- \
              curl -s \
              --cacert /etc/elasticsearch/secret/admin-ca \
              --cert /etc/elasticsearch/secret/admin-cert \
              --key /etc/elasticsearch/secret/admin-key \
              -XPUT 'https://localhost:9200/_cluster/settings' \
              -d '{ "transient": { "cluster.routing.allocation.enable" : "none" } }'
  2. 完成后,对于 Elasticsearch 集群都有的每个 dc,运行 oc rollout latest 来部署最新版本的 dc 对象:

    $ oc rollout latest <dc_name>

    您将看到部署了新的 pod。当 pod 有两个就绪的容器后,您可以继续到下一个 dc

  3. 推出集群的所有"dc"后,重新启用分片平衡:

    $ oc exec -c elasticsearch <any_es_pod_in_the_cluster> -- \
              curl -s \
              --cacert /etc/elasticsearch/secret/admin-ca \
              --cert /etc/elasticsearch/secret/admin-cert \
              --key /etc/elasticsearch/secret/admin-key \
              -XPUT 'https://localhost:9200/_cluster/settings' \
              -d '{ "transient": { "cluster.routing.allocation.enable" : "all" } }'
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.