Как взаимодействовать с внешними кластерами ES Storage

Вы можете взаимодействовать с внешними кластерами Elasticsearch или Kafka, создавая YAML-конфигурации. В зависимости от ваших бизнес-требований, вы можете выбрать взаимодействие только с внешним кластером 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. В левой навигационной панели нажмите Cluster Management > Resource Management, затем переключитесь на кластер, в котором необходимо установить плагин.

  2. Нажмите Create Resource Object и заполните поле кода, изменив параметры согласно комментариям в коде.

  • Учетные данные, необходимые для взаимодействия с внешним 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      # Имя учетных данных. Убедитесь, что значение elasticsearch.basicAuthSecretName в YAML лог-хранилища совпадает с этим параметром.
      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              # Имя учетных данных. Убедитесь, что значение kafka.basicAuthSecretName в YAML лог-хранилища совпадает с этим параметром.
      namespace: cpaas-system             # Пространство имён, в котором расположен компонент Kafka, обычно cpaas-system.
  1. Нажмите Create.

Порядок действий

  1. В левой навигационной панели нажмите App Store > Plugin Management.

  2. В верхней навигации выберите Cluster Name, в котором хотите установить плагин ACP Log Storage с Elasticsearch.

  3. Нажмите кнопку действий справа от ACP Log Storage with Elasticsearch > Install.

  4. Включите переключатель Interface with External 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, разделённые запятыми.