5.6. 高可用性

借助高可用性,Service Telemetry Framework (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.6.1. 配置高可用性

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

流程

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

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

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

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