1.26.4.7. 使用 Elasticsearch 管理证书

您可以使用 Red Hat Elasticsearch Operator 创建和管理证书。使用 Red Hat Elasticsearch Operator 管理证书还可让您使用带有多个 Jaeger Collector 的单个 Elasticsearch 集群。

重要

使用 Elasticsearch 管理证书只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。

这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。有关红帽技术预览功能支持范围的详情,请参考 https://access.redhat.com/support/offerings/techpreview/

从版本 2.4 开始,Red Hat OpenShift distributed tracing 平台 Operator 使用 Elasticsearch 自定义资源中的以下注解将证书创建委派给 Red Hat Elasticsearch Operator:

  • logging.openshift.io/elasticsearch-cert-management: "true"
  • logging.openshift.io/elasticsearch-cert.jaeger-<shared-es-node-name>: "user.jaeger"
  • logging.openshift.io/elasticsearch-cert.curator-<shared-es-node-name>: "system.logging.curator"

其中 <shared-es-node-name> 是 Elasticsearch 节点的名称。例如,如果您创建一个名为 custom-es 的 Elasticsearch 节点,您的自定义资源可能类似以下示例。

显示注解的 Elasticsearch CR 示例

apiVersion: logging.openshift.io/v1
kind: Elasticsearch
metadata:
  annotations:
    logging.openshift.io/elasticsearch-cert-management: "true"
    logging.openshift.io/elasticsearch-cert.jaeger-custom-es: "user.jaeger"
    logging.openshift.io/elasticsearch-cert.curator-custom-es: "system.logging.curator"
  name: custom-es
spec:
  managementState: Managed
  nodeSpec:
    resources:
      limits:
        memory: 16Gi
      requests:
        cpu: 1
        memory: 16Gi
  nodes:
    - nodeCount: 3
      proxyResources: {}
      resources: {}
      roles:
        - master
        - client
        - data
      storage: {}
  redundancyPolicy: ZeroRedundancy

先决条件

  • OpenShift Container Platform 4.7
  • logging subsystem for Red Hat OpenShift 5.2
  • Elasticsearch 节点和 Jaeger 实例必须部署到同一命名空间中。例如,tracing-system

您可以通过在 Jaeger 自定义资源中将 spec.storage.elasticsearch.useCertManagement 设置为 true 来启用证书管理。

示例显示 useCertManagement

apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
  name: jaeger-prod
spec:
  strategy: production
  storage:
    type: elasticsearch
    elasticsearch:
      name: custom-es
      doNotProvision: true
      useCertManagement: true

Red Hat OpenShift distributed tracing platform Operator 会将 Elasticsearch 自定义资源名称设置为 Jaeger 自定义资源的 spec.storage.elasticsearch.namename 值。

证书由 Red Hat Elasticsearch Operator 和 Red Hat OpenShift distributed tracing 平台 Operator 注入证书。

有关在 OpenShift Container Platform 中配置 Elasticsearch 的更多信息,请参阅 配置日志存储配置和部署分布式追踪