5.5. 为 TLS 证书配置持续时间

要配置用于与 Service Telemetry Framework (STF)中的 Elasticsearch 和 AMQ Interconnect 连接的 TLS 证书持续时间,请修改 ServiceTelemetry 对象并配置 证书 参数。

5.5.1. TLS 证书的配置参数

您可以使用 certificate 参数的以下子参数配置 证书 的持续时间:

endpointCertDuration
端点 证书请求的持续时间 或生命周期。最少接受的持续时间为 1 小时。值必须采用 Go time.ParseDuration https://golang.org/pkg/time/#ParseDuration 接受的单位。默认值为 70080h
caCertDuration
CA 证书的请求 持续时间 或生命周期。最少接受的持续时间为 1 小时。值必须采用 Go time.ParseDuration https://golang.org/pkg/time/#ParseDuration 接受的单位。默认值为 70080h
注意
证书的默认持续时间比较长,因为在证书续订时,通常在 Red Hat OpenStack Platform 部署中复制部分证书。有关 QDR CA 证书续订过程的更多信息,请参阅 第 6 章 续订 AMQ Interconnect 证书

Elasticsearch 的 certificate 参数是 backends.events.elasticsearch 定义的一部分,并在 ServiceTelemetry 对象中配置:

apiVersion: infra.watch/v1beta1
kind: ServiceTelemetry
metadata:
  name: default
  namespace: service-telemetry
spec:
...
  backends:
    ...
    events:
      elasticsearch:
        enabled: true
        version: 7.16.1
        certificates:
          endpointCertDuration: 70080h
          caCertDuration: 70080h
...

您可以为 QDR 配置 certificate 参数,它是 ServiceTelemetry 对象中的 transports.qdr 定义的一部分:

apiVersion: infra.watch/v1beta1
kind: ServiceTelemetry
metadata:
  name: default
  namespace: service-telemetry
spec:
...
  transports:
    ...
    qdr:
      enabled: true
      certificates:
        endpointCertDuration: 70080h
        caCertDuration: 70080h
...

5.5.2. 配置 TLS 证书持续时间

要配置与 Service Telemetry Framework (STF)一起使用的 TLS 证书的持续时间,请修改 ServiceTelemetry 对象并配置 certificate 参数。

先决条件

  • 您尚未部署 Service Telemetry Operator 实例。

    注意
    在创建 ServiceTelemetry 对象时,也会为 STF 创建所需的证书及其 secret。有关如何修改证书和 secret 的更多信息,请参阅: 第 6 章 续订 AMQ Interconnect 证书 对于新的 STF 部署有效。

流程

要编辑 TLS 证书的持续时间,您可以设置 Elasticsearch endpointCertDuration,例如 26280h 3 年,并设置 QDR caCertDuration,例如 87600h 为 10 年。您可以将默认值 8 年用于 Elasticsearch 和端点证书的 CA 证书:

+

$ oc apply -f - <<EOF
apiVersion: infra.watch/v1beta1
kind: ServiceTelemetry
metadata:
  name: default
  namespace: service-telemetry
spec:
  backends:
    events:
      elasticsearch:
        enabled: true
        certificates:
          endpointCertDuration: 26280h
  transport:
    qdr:
      enabled: true
      certificates:
        caCertDuration: 87600h
EOF

验证

  1. 验证证书的到期日期是否正确:

    $ oc get secret elasticsearch-es-cert -o jsonpath='{.data.tls\.crt}' | base64 -d  | openssl x509 -in - -text | grep "Not After"
                Not After : Mar  9 21:00:16 2026 GMT
    
    $ oc get secret  default-interconnect-selfsigned -o jsonpath='{.data.tls\.crt}' | base64 -d  | openssl x509 -in - -text | grep "Not After"
                Not After : Mar  9 21:00:16 2033 GMT