如何对接外部 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 访问地址,多个地址用逗号分隔。