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验证
验证证书的到期日期是否正确:
$ 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