---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://ydb.tech/docs/en/devops/configuration-management/configuration-v1/static-config.md?version=v25.3
  - https://ydb.tech/docs/ru/devops/configuration-management/configuration-v1/static-config.md?version=v25.3
  - href: ru/devops/configuration-management/configuration-v1/static-config.md
    type: text/markdown
    title: Markdown version
  - href: ../../../llms.txt
    type: text/markdown
    title: llms.txt
sourcePath: ru/core/devops/configuration-management/configuration-v1/static-config.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ydb.tech/docs/ru/llms.txt

<!-- source: ru/reference/configuration/index.md -->
# Параметры конфигурации кластера

Конфигурация кластера задается в YAML-файле, который передается в параметре `--yaml-config` при запуске узлов кластера. В данной статье приведено описание основных разделов конфигурации и ссылки на подробную документацию по каждому разделу.

Каждый раздел конфигурации служит определенной цели в настройке работы кластера YDB, от распределения аппаратных ресурсов до настроек безопасности и функциональных флагов. Конфигурация организована в логические группы, соответствующие различным аспектам управления кластером и его работы.

## Разделы конфигурации

### Синтаксис

```yaml
host_configs:
- host_config_id: 1
  drive:
  - path: <path_to_device>
    type: <type>
  - path: ...
- host_config_id: 2
  ...
```

Атрибут `host_config_id` задает числовой идентификатор конфигурации. В атрибуте `drive` содержится коллекция описаний подключенных дисков. Каждое описание состоит из двух атрибутов:

- `path` : Путь к смонтированному блочному устройству, например `/dev/disk/by-partlabel/ydb_disk_ssd_01`
- `type` : Тип физического носителя устройства: `ssd`, `nvme` или `rot` (rotational - HDD)

### Примеры

Одна конфигурация с идентификатором 1, с одним диском типа SSD, доступным по пути `/dev/disk/by-partlabel/ydb_disk_ssd_01`:

``` yaml
host_configs:
- host_config_id: 1
  drive:
  - path: /dev/disk/by-partlabel/ydb_disk_ssd_01
    type: SSD
```

Две конфигурации с идентификаторами 1 (два SSD диска) и 2 (три SSD диска):

``` yaml
host_configs:
- host_config_id: 1
  drive:
  - path: /dev/disk/by-partlabel/ydb_disk_ssd_01
    type: SSD
  - path: /dev/disk/by-partlabel/ydb_disk_ssd_02
    type: SSD
- host_config_id: 2
  drive:
  - path: /dev/disk/by-partlabel/ydb_disk_ssd_01
    type: SSD
  - path: /dev/disk/by-partlabel/ydb_disk_ssd_02
    type: SSD
  - path: /dev/disk/by-partlabel/ydb_disk_ssd_03
    type: SSD
```

### Особенности Kubernetes {#host-configs-k8s}

YDB Kubernetes operator монтирует NBS диски для Storage узлов на путь `/dev/kikimr_ssd_00`. Для их использования должна быть указана следующая конфигурация `host_configs`:

``` yaml
host_configs:
- host_config_id: 1
  drive:
  - path: /dev/kikimr_ssd_00
    type: SSD
```

Файлы с примерами конфигурации, поставляемые в составе YDB Kubernetes operator, уже содержат такую секцию, и её не нужно менять.

## hosts — статические узлы кластера {#hosts}

В данной группе перечисляются статические узлы кластера, на которых запускаются процессы работы со Storage, и задаются их основные характеристики:

- Числовой идентификатор узла
- DNS-имя хоста и порт, по которым может быть установлено соединение с узлом в IP network
- Идентификатор [типовой конфигурации хоста](https://ydb.tech/docs/ru/reference/configuration/host_configs.md?version=v25.3)
- Размещение в определенной зоне доступности, стойке
- Инвентарный номер сервера (опционально)

### Синтаксис

``` yaml
hosts:
- host: <DNS-имя хоста>
  host_config_id: <числовой идентификатор типовой конфигурации хоста>
  port: <порт> # 19001 по умолчанию
  location:
    unit: <строка с инвентарным номером сервера>
    data_center: <строка с идентификатором зоны доступности>
    rack: <строка с идентификатором стойки>
- host: <DNS-имя хоста>
  # ...
```

### Примеры

``` yaml
hosts:
- host: hostname1
  host_config_id: 1
  node_id: 1
  port: 19001
  location:
    unit: '1'
    data_center: '1'
    rack: '1'
- host: hostname2
  host_config_id: 1
  node_id: 2
  port: 19001
  location:
    unit: '1'
    data_center: '1'
    rack: '1'
```

### Особенности Kubernetes {#hosts-k8s}

При развертывании YDB с помощью оператора Kubernetes секция `hosts` полностью генерируется автоматически, заменяя любой указанный пользователем контент в передаваемой оператору конфигурации. Все Storage узлы используют `host_config_id` = `1`, для которого должна быть задана [корректная конфигурация](#host-configs-k8s).


## Конфигурация безопасности {#security}

В разделе `security_config` задаются режимы [аутентификации](https://ydb.tech/docs/ru/security/authentication.md?version=v25.3), первичная конфигурация локальных [пользователей](https://ydb.tech/docs/ru/concepts/glossary.md?version=v25.3#access-user) и [групп](https://ydb.tech/docs/ru/concepts/glossary.md?version=v25.3#access-group) и их [права](https://ydb.tech/docs/ru/concepts/glossary.md?version=v25.3#access-right).

```yaml
security_config:
  # настройка режима аутентификации
  enforce_user_token_requirement: false
  enforce_user_token_check_requirement: false
  default_user_sids: <аутентификационный токен для анонимных запросов>
  all_authenticated_users: <имя группы всех аутентифицированных пользователей>
  all_users_group: <имя группы всех пользователей>

  # первичные настройки безопасности
  default_users: <список пользователей по умолчанию>
  default_groups: <список групп по умолчанию>
  default_access: <список прав по умолчанию на корне кластера>

  # настройки привилегий
  viewer_allowed_sids: <список SID'ов с правами просмотра состояния кластера>
  monitoring_allowed_sids: <список SID'ов с правами просмотра и изменения состояния кластера>
  administration_allowed_sids: <список SID'ов с доступом администратора кластера>
  register_dynamic_node_allowed_sids: <список SID'ов с правами регистрации узлов баз данных в кластере>
```

Каждый клиент State Storage (например, таблетка DataShard) использует `nto_select` узлов для записи копий его данных в State Storage. Если State Storage состоит из большего количества узлов чем `nto_select`, то разные узлы могут быть использованы для разных клиентов, поэтому необходимо обеспечить, чтобы любое подмножество из `nto_select` узлов в пределах State Storage отвечало критериям отказоустойчивости.

Для `nto_select` должны использоваться нечетные числа, так как использование четных чисел не улучшает отказоустойчивость по сравнению с ближайшим меньшим нечетным числом.

### Конфигурация безопасности {#security}

В разделе `domains_config.security_config` задаются режимы [аутентификации](https://ydb.tech/docs/ru/security/authentication.md?version=v25.3), первичная конфигурация локальных [пользователей](https://ydb.tech/docs/ru/concepts/glossary.md?version=v25.3#access-user) и [групп](https://ydb.tech/docs/ru/concepts/glossary.md?version=v25.3#access-group) и их [права](https://ydb.tech/docs/ru/concepts/glossary.md?version=v25.3#access-right).

```yaml
domains_config:
  ...
  security_config:
    # настройка режима аутентификации
    enforce_user_token_requirement: false
    enforce_user_token_check_requirement: false
    default_user_sids: <аутентификационный токен для анонимных запросов>
    all_authenticated_users: <имя группы всех аутентифицированных пользователей>
    all_users_group: <имя группы всех пользователей>

    # первичные настройки безопасности
    default_users: <список пользователей по умолчанию>
    default_groups: <список групп по умолчанию>
    default_access: <список прав по умолчанию на корне кластера>

    # настройки привилегий
    viewer_allowed_sids: <список SID'ов с правами просмотра состояния кластера>
    monitoring_allowed_sids: <список SID'ов с правами просмотра и изменения состояния кластера>
    administration_allowed_sids: <список SID'ов с доступом администратора кластера>
```

[//]: # (TODO: wait for pull/9387, dynamic_node_registration to add info about "register_dynamic_node_allowed_sids: <список SID'ов с правами подключения динамических нод в кластер>")

#### Настройки режима аутентификации {#security-auth}

#|
|| **Раздел** | **Обязателен** | **Описание** ||
|| [actor_system_config](https://ydb.tech/docs/ru/reference/configuration/actor_system_config.md?version=v25.3) | Да | Распределение CPU-ресурсов по пулам акторной системы ||
|| [auth_config](https://ydb.tech/docs/ru/reference/configuration/auth_config.md?version=v25.3) | Нет | Настройки аутентификации и авторизации ||
|| [blob_storage_config](https://ydb.tech/docs/ru/reference/configuration/blob_storage_config.md?version=v25.3) | Нет | Конфигурация статической группы кластера для системных таблеток ||
|| [bridge_config](https://ydb.tech/docs/ru/reference/configuration/bridge_config.md?version=v25.3) | Нет | Конфигурация [режима bridge](https://ydb.tech/docs/ru/concepts/bridge.md?version=v25.3) ||
|| [client_certificate_authorization](https://ydb.tech/docs/ru/reference/configuration/client_certificate_authorization.md?version=v25.3) | Нет | Аутентификация с помощью клиентских сертификатов ||
|| [domains_config](https://ydb.tech/docs/ru/reference/configuration/domains_config.md?version=v25.3) | Нет | Конфигурация домена кластера, включая Blob Storage и State Storage ||
|| [feature_flags](https://ydb.tech/docs/ru/reference/configuration/feature_flags.md?version=v25.3) | Нет | Функциональные флаги для включения или отключения определённых возможностей YDB ||
|| [health_check_config](https://ydb.tech/docs/ru/reference/configuration/healthcheck_config.md?version=v25.3) | Нет | Пороговые значения и таймауты сервиса Health Check ||
|| [hive_config](https://ydb.tech/docs/ru/reference/configuration/hive_config.md?version=v25.3) | Нет | Конфигурация запуска таблеток ||
|| [host_configs](https://ydb.tech/docs/ru/reference/configuration/host_configs.md?version=v25.3) | Нет | Типовые конфигурации хостов для узлов кластера ||
|| [hosts](https://ydb.tech/docs/ru/reference/configuration/hosts.md?version=v25.3) | Да | Конфигурация статических узлов кластера ||
|| [kafka_proxy_config](https://ydb.tech/docs/ru/reference/configuration/kafka_proxy_config.md?version=v25.3) | Нет | Конфигурация [Kafka Proxy](https://ydb.tech/docs/ru/reference/kafka-api/index.md?version=v25.3) ||
|| [log_config](https://ydb.tech/docs/ru/reference/configuration/log_config.md?version=v25.3) | Нет | Конфигурация и параметры логирования ||
|| [memory_controller_config](https://ydb.tech/docs/ru/reference/configuration/memory_controller_config.md?version=v25.3) | Нет | Распределение памяти и лимиты для компонентов базы данных ||
|| [node_broker_config](https://ydb.tech/docs/ru/reference/configuration/node_broker_config.md?version=v25.3) | Нет | Конфигурация стабильных имен узлов ||
|| [query_service_config](https://ydb.tech/docs/ru/reference/configuration/query_service_config.md?version=v25.3) | Нет | Конфигурация внешних источников для федеративных запросов ||
|| [resource_broker_config](https://ydb.tech/docs/ru/reference/configuration/resource_broker_config.md?version=v25.3) | Нет | Брокер ресурсов для контроля потребления CPU и памяти ||
|| [security_config](https://ydb.tech/docs/ru/reference/configuration/security_config.md?version=v25.3) | Нет | Настройки конфигурации безопасности ||
|| [table_service_config](https://ydb.tech/docs/ru/reference/configuration/table_service_config.md?version=v25.3) | Нет | Настройки конфигурации выполнения запросов||
|| [tls](https://ydb.tech/docs/ru/reference/configuration/tls.md?version=v25.3) | Нет | Конфигурация TLS для безопасных соединений ||
|#

## Практические рекомендации

Этот раздел документации посвящён полному описанию доступных настроек, а практические рекомендации по тому, что и когда настраивать, можно найти в следующих местах:

- В рамках первоначального развёртывания кластера YDB:

- [Ansible](https://ydb.tech/docs/ru/devops/deployment-options/ansible/initial-deployment/index.md?version=v25.3)
- [Kubernetes](https://ydb.tech/docs/ru/devops/deployment-options/kubernetes/initial-deployment.md?version=v25.3)
- [Вручную](https://ydb.tech/docs/ru/devops/deployment-options/manual/initial-deployment/index.md?version=v25.3)

- В рамках [поиска и устранения неисправностей](https://ydb.tech/docs/ru/troubleshooting/index.md?version=v25.3)
- В рамках [усиления безопасности](https://ydb.tech/docs/ru/security/index.md?version=v25.3)

## Примеры конфигураций кластеров

Модельные конфигурации кластера для развертывания можно найти в [репозитории](https://github.com/ydb-platform/ydb/tree/main/ydb/deploy/yaml_config_examples/). Изучите их перед развертыванием кластера.
<!-- endsource: ru/reference/configuration/index.md -->
