Установка

Содержание

Overview

Компонент мониторинга служит инфраструктурой для функций мониторинга, оповещений, инспекции и проверки состояния в модуле наблюдаемости. В этом документе описывается, как установить ACP Monitoring с плагином Prometheus или ACP Monitoring с плагином VictoriaMetrics в кластере.

Installation Preparation

Перед установкой компонентов мониторинга убедитесь, что выполнены следующие условия:

  • Выбран соответствующий компонент мониторинга, руководствуясь Руководством по выбору компонента мониторинга.
  • При установке в рабочем кластере убедитесь, что кластер global может получить доступ к порту 11780 рабочего кластера.
  • Если необходимо использовать классы хранилищ или постоянные тома для данных мониторинга, создайте соответствующие ресурсы в разделе Storage заранее.

Install the ACP Monitoring with Prometheus Plugin via console

Installation Procedures

  1. Перейдите в App Store Management > Cluster Plugins и выберите целевой кластер.

  2. Найдите плагин ACP Monitoring with Prometheus и нажмите Install.

  3. Настройте следующие параметры:

    ParameterDescription
    Scale ConfigurationПоддерживает три конфигурации: Small Scale, Medium Scale и Large Scale:
    - Значения по умолчанию установлены на основе рекомендуемых значений нагрузочного тестирования платформы
    - Можно выбрать или настроить квоты в зависимости от фактического масштаба кластера
    - Значения по умолчанию будут обновляться с версиями платформы; для фиксированных конфигураций рекомендуется использовать пользовательские настройки
    Storage Type- LocalVolume: Локальное хранилище с данными, сохранёнными на указанных узлах
    - StorageClass: Автоматически создаёт постоянные тома с помощью класса хранилища
    - PV: Использует существующие постоянные тома
    Примечание: Конфигурация хранилища не может быть изменена после установки
    Replica CountУстанавливает количество подов компонента мониторинга
    Примечание: Prometheus поддерживает только установку на одном узле
    Parameter ConfigurationПараметры данных для компонента мониторинга могут быть отрегулированы по необходимости
  4. Нажмите Install для завершения установки.

Access Method

После завершения установки компоненты доступны по следующим адресам (замените <> на актуальные значения):

ComponentAccess Address
Thanos<platform_access_address>/clusters/<cluster>/prometheus
Prometheus<platform_access_address>/clusters/<cluster>/prometheus-0
Alertmanager<platform_access_address>/clusters/<cluster>/alertmanager

Install the ACP Monitoring with Prometheus Plugin via YAML

1. Check available versions

Убедитесь, что плагин опубликован, проверив наличие ресурсов ModulePlugin и ModuleConfig в кластере global:


# kubectl get moduleplugin | grep prometheus 
prometheus                       30h
# kubectl get moduleconfig | grep prometheus
prometheus-v4.1.0                30h

Это означает, что ModulePlugin prometheus существует в кластере и версия v4.1.0 опубликована.

2. Create a ModuleInfo

Создайте ресурс ModuleInfo для установки плагина без параметров конфигурации:

kind: ModuleInfo
apiVersion: cluster.alauda.io/v1alpha1
metadata:
  name: global-prometheus
  labels:
    cpaas.io/cluster-name: global
    cpaas.io/module-name: prometheus
    cpaas.io/module-type: plugin
spec:
  version: v4.1.0
  config:
    storage:
      type: LocalVolume
      capacity: 40
      nodes:
        - xxx.xxx.xxx.xx
      path: /cpaas/monitoring
      storageClass: ""
      pvSelectorK: ""
      pvSelectorV: ""
    replicas: 1
    components:
      prometheus:
        retention: 7
        scrapeInterval: 60
        scrapeTimeout: 45
        resources: null
      nodeExporter:
        port: 9100
        resources: null
      alertmanager:
        resources: null
      kubeStateExporter:
        resources: null
      prometheusAdapter:
        resources: null
      thanosQuery:
        resources: null
    size: Small

Пример настройки ресурсов, например для prometheus:

spec:
  config:
    components:
      prometheus:
        resources:
          limits:
            cpu: 2000m
            memory: 2000Mi
          requests:
            cpu: 1000m
            memory: 1000Mi

Для подробностей см. Планирование ёмкости компонентов мониторинга

Справка по полям YAML (VictoriaMetrics):

Field pathDescription
metadata.labels.cpaas.io/cluster-nameИмя целевого кластера, в котором установлен плагин.
metadata.labels.cpaas.io/module-nameДолжно быть victoriametrics.
metadata.labels.cpaas.io/module-typeДолжно быть plugin.
metadata.nameИмя ModuleInfo (например, <cluster>-victoriametrics).
spec.versionВерсия плагина для установки.
spec.config.storage.typeТип хранилища: LocalVolume, StorageClass или PV.
spec.config.storage.capacityРазмер хранилища для VictoriaMetrics (Gi). Рекомендуется минимум 30 Gi.
spec.config.storage.nodesСписок узлов при storage.type=LocalVolume. Поддерживается до 1 узла.
spec.config.storage.pathПуть LocalVolume при storage.type=LocalVolume.
spec.config.storage.storageClassИмя StorageClass при storage.type=StorageClass.
spec.config.storage.pvSelectorKКлюч селектора PV при storage.type=PV.
spec.config.storage.pvSelectorVЗначение селектора PV при storage.type=PV.
spec.replicasКоличество реплик; LV не поддерживает множественные реплики.
spec.config.components.vmstorage.retentionКоличество дней хранения данных для vmstorage.
spec.config.components.vmagent.scrapeIntervalИнтервал сбора в секундах; применяется к ServiceMonitors без interval.
spec.config.components.vmagent.scrapeTimeoutТаймаут сбора в секундах; должен быть меньше scrapeInterval.
spec.config.components.vmstorage.resourcesНастройки ресурсов для vmstorage.
spec.config.components.nodeExporter.portПорт Node Exporter (по умолчанию 9100).
spec.config.components.nodeExporter.resourcesНастройки ресурсов для Node Exporter.
spec.config.components.alertmanager.resourcesНастройки ресурсов для Alertmanager.
spec.config.components.kubeStateExporter.resourcesНастройки ресурсов для Kube State Exporter.
spec.config.components.prometheusAdapter.resourcesНастройки ресурсов для Prometheus Adapter (используется для HPA/кастомных метрик).
spec.config.components.vmagent.resourcesНастройки ресурсов для vmagent.
spec.config.sizeМасштаб мониторинга: Small, Medium или Large.

3. Verify installation

Так как имя ModuleInfo изменяется при создании, найдите ресурс по метке для проверки статуса плагина и версии:

kubectl get moduleinfo -l cpaas.io/module-name=victoriametrics
NAME                                             CLUSTER         MODULE            DISPLAY_NAME     STATUS    TARGET_VERSION   CURRENT_VERSION   NEW_VERSION
global-e671599464a5b1717732c5ba36079795          global          victoriametrics   victoriametrics  Running   v4.1.0           v4.1.0            v4.1.0

Объяснение полей:

  • NAME: имя ресурса ModuleInfo
  • CLUSTER: кластер, в котором установлен плагин
  • MODULE: имя плагина
  • DISPLAY_NAME: отображаемое имя плагина
  • STATUS: статус установки; Running означает успешную установку и работу
  • TARGET_VERSION: версия, предназначенная для установки
  • CURRENT_VERSION: версия до установки
  • NEW_VERSION: последняя доступная версия для установки

Install the ACP Monitoring with VictoriaMetrics Plugin via console

Prerequisites

  • Если устанавливается только агент VictoriaMetrics, убедитесь, что VictoriaMetrics Center установлен в другом кластере.

Installation Procedures

  1. Перейдите в App Store Management > Cluster Plugins и выберите целевой кластер.

  2. Найдите плагин ACP Monitoring with VictoriaMetrics и нажмите Install.

  3. Настройте следующие параметры:

    ParameterDescription
    Scale ConfigurationПоддерживает три конфигурации: Small Scale, Medium Scale и Large Scale:
    - Значения по умолчанию установлены на основе рекомендуемых значений нагрузочного тестирования платформы
    - Можно выбрать или настроить квоты в зависимости от фактического масштаба кластера
    - Значения по умолчанию будут обновляться с версиями платформы; для фиксированных конфигураций рекомендуется использовать пользовательские настройки
    Install Agent Only- Off: Устанавливает полный набор компонентов VictoriaMetrics
    - On: Устанавливает только компонент сбора VMAgent, который зависит от VictoriaMetrics Center
    VictoriaMetrics CenterВыберите кластер, в котором установлен полный набор компонентов VictoriaMetrics
    Storage Type- LocalVolume: Локальное хранилище с данными, сохранёнными на указанных узлах
    - StorageClass: Автоматически создаёт постоянные тома с помощью класса хранилища
    - PV: Использует существующие постоянные тома
    Replica CountУстанавливает количество подов компонента мониторинга:
    - Тип хранилища LocalVolume не поддерживает множественные реплики
    - Для других типов хранилища следуйте подсказкам на экране для настройки
    Parameter ConfigurationПараметры данных для компонента мониторинга могут быть отрегулированы
    Примечание: Данные могут временно превышать период хранения перед удалением
  4. Нажмите Install для завершения установки.

Install the ACP Monitoring with VictoriaMetrics Plugin via YAML

1. Check available versions

Убедитесь, что плагин опубликован, проверив наличие ресурсов ModulePlugin и ModuleConfig в кластере global:


# kubectl get moduleplugin | grep victoriametrics    
victoriametrics                       30h
# kubectl get moduleconfig | grep victoriametrics
victoriametrics-v4.1.0                30h

Это означает, что ModulePlugin victoriametrics существует в кластере и версия v4.1.0 опубликована.

2. Create a ModuleInfo

Создайте ресурс ModuleInfo для установки плагина без параметров конфигурации:

kind: ModuleInfo
apiVersion: cluster.alauda.io/v1alpha1
metadata:
  name: business-1-victoriametrics
  labels:
    cpaas.io/cluster-name: business-1
    cpaas.io/module-name: victoriametrics
    cpaas.io/module-type: plugin
spec:
  version: v4.1.0
  config:
    storage:
      type: LocalVolume
      capacity: 40
      nodes:
        - xxx.xxx.xxx.xx
      path: /cpaas/monitoring
      storageClass: ""
      pvSelectorK: ""
      pvSelectorV: ""
    replicas: 1
    agentOnly: false
    agentReplicas: 1
    crossClusterDependency:
      victoriametrics: ""
    components:
      nodeExporter:
        port: 9100
        resources: null
      vmstorage:
        retention: 7
        resources: null
      kubeStateExporter:
        resources: null
      vmalert:
        resources: null
      prometheusAdapter:
        resources: null
      vmagent:
        scrapeInterval: 60
        scrapeTimeout: 45
        resources: null
      vminsert:
        resources: null
      alertmanager:
        resources: null
      vmselect:
        resources: null
    size: Small

Пример настройки ресурсов, например для prometheus:

spec:
  config:
    components:
      vmagent:
        resources:
          limits:
            cpu: 2000m
            memory: 2000Mi
          requests:
            cpu: 1000m
            memory: 1000Mi

Для подробностей см. Планирование ёмкости компонентов мониторинга

Справка по полям YAML (Prometheus):

Field pathDescription
metadata.labels.cpaas.io/cluster-nameИмя целевого кластера, в котором установлен плагин.
metadata.labels.cpaas.io/module-nameДолжно быть prometheus.
metadata.labels.cpaas.io/module-typeДолжно быть plugin.
metadata.nameИмя ModuleInfo (например, <cluster>-prometheus).
spec.versionВерсия плагина для установки.
spec.config.storage.typeТип хранилища: LocalVolume, StorageClass или PV.
spec.config.storage.capacityРазмер хранилища для Prometheus (Gi). Рекомендуется минимум 30 Gi.
spec.config.storage.nodesСписок узлов при storage.type=LocalVolume. Поддерживается до 1 узла.
spec.config.storage.pathПуть LocalVolume при storage.type=LocalVolume.
spec.config.storage.storageClassИмя StorageClass при storage.type=StorageClass.
spec.config.storage.pvSelectorKКлюч селектора PV при storage.type=PV.
spec.config.storage.pvSelectorVЗначение селектора PV при storage.type=PV.
spec.replicasКоличество реплик; применимо только для типов StorageClass/PV.
spec.config.components.prometheus.retentionКоличество дней хранения данных.
spec.config.components.prometheus.scrapeIntervalИнтервал сбора в секундах; применяется к ServiceMonitors без interval.
spec.config.components.prometheus.scrapeTimeoutТаймаут сбора в секундах; должен быть меньше scrapeInterval.
spec.config.components.prometheus.resourcesНастройки ресурсов для Prometheus.
spec.config.components.nodeExporter.portПорт Node Exporter (по умолчанию 9100).
spec.config.components.nodeExporter.resourcesНастройки ресурсов для Node Exporter.
spec.config.components.alertmanager.resourcesНастройки ресурсов для Alertmanager.
spec.config.components.kubeStateExporter.resourcesНастройки ресурсов для Kube State Exporter.
spec.config.components.prometheusAdapter.resourcesНастройки ресурсов для Prometheus Adapter.
spec.config.components.thanosQuery.resourcesНастройки ресурсов для Thanos Query.
spec.config.sizeМасштаб мониторинга: Small, Medium или Large.

3. Verify installation

Так как имя ModuleInfo изменяется при создании, найдите ресурс по метке для проверки статуса плагина и версии:

kubectl get moduleinfo -l cpaas.io/module-name=prometheus
NAME                                             CLUSTER         MODULE        DISPLAY_NAME   STATUS    TARGET_VERSION   CURRENT_VERSION   NEW_VERSION
global-e671599464a5b1717732c5ba36079795          global          prometheus    prometheus     Running   v4.1.0           v4.1.0            v4.1.0

Объяснение полей:

  • NAME: имя ресурса ModuleInfo
  • CLUSTER: кластер, в котором установлен плагин
  • MODULE: имя плагина
  • DISPLAY_NAME: отображаемое имя плагина
  • STATUS: статус установки; Running означает успешную установку и работу
  • TARGET_VERSION: версия, предназначенная для установки
  • CURRENT_VERSION: версия до установки
  • NEW_VERSION: последняя доступная версия для установки