如何对接外部 ES 存储集群

您可以通过编写 YAML 配置文件的方式,对接外部的 Elasticsearch 或 Kafka 集群。根据您的业务需求,您可以选择仅对接外部的 Elasticsearch 集群(同时在当前集群安装 Kafka),或同时对接外部的 Elasticsearch 和 Kafka 集群。

TIP

对接外部 Elasticsearch 支持的版本如下:

  • Elasticsearch 6.x 支持版本 6.6 - 6.8;
  • Elasticsearch 7.x 支持版本 7.0 - 7.10.2,推荐使用 7.10.2。

资源准备

在进行对接之前,您需要准备必需的凭证信息。

  1. 在左侧导航栏中,单击 集群管理 > 资源管理,然后切换到需要安装插件的集群。

  2. 单击 创建资源对象,根据代码注释修改参数后填写至代码框中。

  • 对接外部 Elasticsearch 所需的凭据:

    apiVersion: v1
    type: Opaque
    data:
      password: dEdWQVduSX5kUW1mc21acg==  # 必须经过 base64 编码。参考命令:echo -n <password_value>| base64
      username: YWRtaW4=                  # 必须经过 base64 编码。参考命令:echo -n <username_value>| base64
    kind: Secret
    metadata:
      name: elasticsearch-basic-auth      # 凭据名称,确保在日志存储 YAML 中 elasticsearch.basicAuthSecretName 的值与该参数一致。
      namespace: cpaas-system             # Elasticsearch 组件所在的命名空间,一般为 cpaas-system。
    
  • 如果您需要使用外部 Kafka 集群,则还需要创建用于对接外部 Kafka 集群的凭据:

    apiVersion: v1
    type: Opaque
    data:
      password: dEdWQVduSX5kUW1mc21acg==  # 必须经过 base64 编码。参考命令:echo -n <password_value>| base64
      username: YWRtaW4=                  # 必须经过 base64 编码。参考命令:echo -n <username_value>| base64
    kind: Secret
    metadata:
      name: kafka-basic-auth              # 凭据名称,确保在日志存储 YAML 中 kafka.basicAuthSecretName 的值与该参数一致。
      namespace: cpaas-system             # Kafka 组件所在的命名空间,一般为 cpaas-system。
    
  1. 单击 创建

操作步骤

  1. 在左侧导航栏中,单击 应用商店 > 插件管理

  2. 在顶部导航中,选择待安装的 ACP Log Storage with Elasticsearch 插件的 集群名称

  3. 单击 ACP Log Storage with Elasticsearch 右侧的操作按钮 > 安装

  4. 开启 对接外部 Elasticsearch 开关,配置 YAML 文件,配置示例和参数说明如下:

  • 对接外部 Elasticsearch 集群,同时在当前集群安装 Kafka:

    elasticsearch:
      install: false
      address: http://fake:9200                # 外部 ES 访问地址,例如:http://192.168.143.252:11780/es_proxy
      basicAuthSecretName: elasticsearch-basic-auth # 对接外部 Elasticsearch 所需的凭据
    storageClassConfig:
      type: "LocalVolume"   # 默认值为 LocalVolume,选项为 "LocalVolume" 或 "StorageClass"。
    kafka:
      auth: true                               # 是否启用认证。
      k8sNodes:
      - log1                                   # 节点名称,从 kubectl get nodes 获取。
      - log2
      - log3
      storageSize: 10                          # 存储大小,单位 Gi,默认值为 10 Gi。
    
  • 对接外部 Elasticsearch 集群和外部 Kafka 集群:

    elasticsearch:
      install: false
      address: http://fake:9200                # 外部 ES 访问地址,例如:http://192.168.143.252:11780/es_proxy
      basicAuthSecretName: elasticsearch-basic-auth # 对接外部 Elasticsearch 所需的凭据
    kafka:
      auth: true                               # 是否启用认证。
      install: false
      basicAuthSecretName: kafka-basic-auth  # 对接外部 Kafka 集群所需的凭据
      address: 192.168.130.169:9092,192.168.130.187:9092,192.168.130.193:9092     # Kafka 访问地址,用英文逗号分隔。