> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Варианты развертывания с Helm

> Расширенные варианты развертывания ClickStack с помощью Helm

<Warning>
  **Версия чарта 2.x**

  На этой странице описан Helm-чарт **v2.x** на основе субчартов. Если вы по-прежнему используете чарт v1.x с inline-template, см. [Варианты развертывания с Helm (v1.x)](/ru/clickstack/deployment/helm-deployment-options-v1). Сведения о шагах миграции см. в [руководстве по обновлению](/ru/clickstack/deployment/helm-upgrade).
</Warning>

В этом руководстве рассматриваются расширенные варианты развертывания ClickStack с помощью Helm. Инструкции по базовой установке см. в [основном руководстве по развертыванию с Helm](/ru/clickstack/deployment/helm).

<div id="overview">
  ## Обзор
</div>

Helm-чарт ClickStack поддерживает несколько вариантов развертывания:

* **Полный стек** (по умолчанию) — включены все компоненты, управление осуществляется операторами
* **Внешний ClickHouse** — используется существующий кластер ClickHouse
* **Внешний OTel collector** — используется существующая инфраструктура OTel
* **Минимальное развертывание** — только HyperDX, внешние зависимости

<div id="external-clickhouse">
  ## Внешний ClickHouse
</div>

Если у вас уже есть кластер ClickHouse (в том числе ClickHouse Cloud), вы можете отключить встроенный ClickHouse и подключиться к внешнему экземпляру.

<div id="external-clickhouse-inline">
  ### Вариант 1: Встроенная конфигурация (для разработки/тестирования)
</div>

Используйте этот подход для быстрого тестирования или в непродакшн-средах. Укажите сведения о подключении через `hyperdx.config` и `hyperdx.secrets`:

```yaml theme={null}
# values-external-clickhouse.yaml
clickhouse:
  enabled: false  # Отключить ClickHouse, управляемый оператором

hyperdx:
  secrets:
    CLICKHOUSE_PASSWORD: "your-password"
    CLICKHOUSE_APP_PASSWORD: "your-password"

  defaultConnections: |
    [
      {
        "name": "External ClickHouse",
        "host": "http://your-clickhouse-server:8123",
        "port": 8123,
        "username": "your-username",
        "password": "your-password"
      }
    ]
```

Выполните установку, используя эту конфигурацию:

```shell theme={null}
helm install my-clickstack clickstack/clickstack -f values-external-clickhouse.yaml
```

<div id="external-clickhouse-secret">
  ### Вариант 2: Внешний секрет (рекомендуется для продакшна)
</div>

Для развертываний в продакшне, где учетные данные нужно хранить отдельно от конфигурации Helm:

<div id="create-configuration">
  #### Создайте файлы конфигурации
</div>

```bash theme={null}
# Создать connections.json
cat <<EOF > connections.json
[
  {
    "name": "Production ClickHouse",
    "host": "https://your-production-clickhouse.com",
    "port": 8123,
    "username": "hyperdx_user",
    "password": "your-secure-password"
  }
]
EOF

# Создать sources.json
cat <<EOF > sources.json
[
  {
    "from": {
      "databaseName": "default",
      "tableName": "otel_logs"
    },
    "kind": "log",
    "name": "Logs",
    "connection": "Production ClickHouse",
    "timestampValueExpression": "TimestampTime",
    "displayedTimestampValueExpression": "Timestamp",
    "implicitColumnExpression": "Body",
    "serviceNameExpression": "ServiceName",
    "bodyExpression": "Body",
    "eventAttributesExpression": "LogAttributes",
    "resourceAttributesExpression": "ResourceAttributes",
    "severityTextExpression": "SeverityText",
    "traceIdExpression": "TraceId",
    "spanIdExpression": "SpanId"
  },
  {
    "from": {
      "databaseName": "default",
      "tableName": "otel_traces"
    },
    "kind": "trace",
    "name": "Traces",
    "connection": "Production ClickHouse",
    "timestampValueExpression": "Timestamp",
    "displayedTimestampValueExpression": "Timestamp",
    "implicitColumnExpression": "SpanName",
    "serviceNameExpression": "ServiceName",
    "traceIdExpression": "TraceId",
    "spanIdExpression": "SpanId",
    "durationExpression": "Duration"
  }
]
EOF
```

<div id="create-kubernetes-secret">
  #### Создайте секрет в Kubernetes
</div>

```bash theme={null}
kubectl create secret generic hyperdx-external-config \
  --from-file=connections.json=connections.json \
  --from-file=sources.json=sources.json

# Удалить локальные файлы
rm connections.json sources.json
```

<div id="configure-helm-secret">
  #### Настройте Helm для использования секрета
</div>

```yaml theme={null}
# values-external-clickhouse-secret.yaml
clickhouse:
  enabled: false

hyperdx:
  useExistingConfigSecret: true
  existingConfigSecret: "hyperdx-external-config"
  existingConfigConnectionsKey: "connections.json"
  existingConfigSourcesKey: "sources.json"
```

```shell theme={null}
helm install my-clickstack clickstack/clickstack -f values-external-clickhouse-secret.yaml
```

<div id="using-clickhouse-cloud">
  ### Использование ClickHouse Cloud
</div>

Если вы используете ClickHouse Cloud:

```yaml theme={null}
# values-clickhouse-cloud.yaml
clickhouse:
  enabled: false

hyperdx:
  secrets:
    CLICKHOUSE_PASSWORD: "your-cloud-password"
    CLICKHOUSE_APP_PASSWORD: "your-cloud-password"

  useExistingConfigSecret: true
  existingConfigSecret: "clickhouse-cloud-config"
  existingConfigConnectionsKey: "connections.json"
  existingConfigSourcesKey: "sources.json"
```

<div id="external-otel-collector">
  ## Внешний OTel collector
</div>

Если у вас уже есть инфраструктура с OTel collector, отключите субчарт:

```yaml theme={null}
# values-external-otel.yaml
otel-collector:
  enabled: false  # Отключить субчарт OTel collector

hyperdx:
  otelExporterEndpoint: "http://your-otel-collector:4318"
```

```shell theme={null}
helm install my-clickstack clickstack/clickstack -f values-external-otel.yaml
```

Инструкции по публикации конечных точек OTel collector через входной шлюз см. в разделе [Настройка входного шлюза](/ru/clickstack/deployment/helm-configuration#otel-collector-ingress).

<div id="minimal-deployment">
  ## Минимальное развертывание
</div>

Для организаций с уже существующей инфраструктурой разверните только HyperDX:

```yaml theme={null}
# values-minimal.yaml
clickhouse:
  enabled: false

otel-collector:
  enabled: false

hyperdx:
  otelExporterEndpoint: "http://your-otel-collector:4318"

  # Вариант 1: Встроенный (для тестирования)
  defaultConnections: |
    [
      {
        "name": "External ClickHouse",
        "host": "http://your-clickhouse-server:8123",
        "port": 8123,
        "username": "your-username",
        "password": "your-password"
      }
    ]

  # Вариант 2: Внешний секрет (продакшн)
  # useExistingConfigSecret: true
  # existingConfigSecret: "my-external-config"
  # existingConfigConnectionsKey: "connections.json"
  # existingConfigSourcesKey: "sources.json"
```

```shell theme={null}
helm install my-clickstack clickstack/clickstack -f values-minimal.yaml
```

<div id="next-steps">
  ## Следующие шаги
</div>

* [Руководство по настройке](/ru/clickstack/deployment/helm-configuration) - ключи API, секреты и настройка входного шлюза
* [Развертывания в Cloud](/ru/clickstack/deployment/helm-cloud) - конфигурации для GKE, EKS и AKS
* [Руководство по обновлению](/ru/clickstack/deployment/helm-upgrade) - миграция с v1.x на v2.x
* [Дополнительные манифесты](/ru/clickstack/deployment/helm-additional-manifests) - пользовательские объекты Kubernetes
* [Основное руководство по Helm](/ru/clickstack/deployment/helm) - базовая установка
* [Варианты развертывания (v1.x)](/ru/clickstack/deployment/helm-deployment-options-v1) - варианты развертывания v1.x
