5.5. 高可用性

借助高可用性,服务遥测框架(STF)可以从组件服务中的故障快速恢复。虽然 Red Hat OpenShift Container Platform 会在节点可用时重启一个失败的 pod,但这个恢复过程可能需要一分钟以上的时间,其中事件和指标会丢失。高可用性配置包含 STF 组件的多个副本,可将恢复时间缩短为大约 2 秒。为了防止出现 Red Hat OpenShift Container Platform 节点故障,请将 STF 部署到具有三个或更多节点的 Red Hat OpenShift Container Platform 集群。

警告

STF 尚未是一个完全容错的系统。无法保证在恢复期间提供指标和事件。

启用高可用性有以下影响:

  • 三个 ElasticSearch pod 运行而不是默认的 pod。
  • 以下组件运行两个 pod,而不是默认 pod:

    • AMQ Interconnect
    • Alertmanager
    • Prometheus
    • 事件智能网关
    • 指标智能网关
  • 在这些服务中丢失的 pod 恢复时间会减少到大约 2 秒。

5.5.1. 配置高可用性

要配置服务 Telemetry Framework (STF)以实现高可用性,请在 Red Hat OpenShift Container Platform 中的 ServiceTelemetry 对象中添加 highAvailability.enabled: true。您可在安装时设置此参数;或者,如果您已经部署了 STF,请完成以下步骤:

流程

  1. 登录 Red Hat OpenShift Container Platform。
  2. 进入 service-telemetry 命名空间:

    $ oc project service-telemetry
  3. 使用 oc 命令编辑 ServiceTelemetry 对象:

    $ oc edit stf default
  4. spec 部分添加 highAvailability.enabled: true

    apiVersion: infra.watch/v1beta1
    kind: ServiceTelemetry
    ...
    spec:
      ...
      highAvailability:
        enabled: true
  5. 保存您的更改,并关闭对象。