diff options
author | Vadim Zudin <zudinvadim@gmail.com> | 2025-04-21 17:15:51 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-21 17:15:51 +0300 |
commit | 2b67deea69d11a3d788b31e58d2efb7c3fcaa0eb (patch) | |
tree | 750783be33a1584e55516b77ae20e69857b2d918 | |
parent | bdd86bd5a51616198d95d056dae0a8effb148317 (diff) | |
download | ydb-2b67deea69d11a3d788b31e58d2efb7c3fcaa0eb.tar.gz |
Add ansible fq-connetctor-go documentation (#17269)
-rw-r--r-- | ydb/docs/en/core/devops/ansible/initial-deployment.md | 24 | ||||
-rw-r--r-- | ydb/docs/ru/core/devops/ansible/initial-deployment.md | 15 |
2 files changed, 35 insertions, 4 deletions
diff --git a/ydb/docs/en/core/devops/ansible/initial-deployment.md b/ydb/docs/en/core/devops/ansible/initial-deployment.md index e5818fb4d0d..af912a6b4a3 100644 --- a/ydb/docs/en/core/devops/ansible/initial-deployment.md +++ b/ydb/docs/en/core/devops/ansible/initial-deployment.md @@ -84,6 +84,17 @@ Next, you need to make the following changes in the `vars` section of the invent * `ydb_archive`: a local filesystem path for a {{ ydb-short-name }} distribution archive [downloaded](../../downloads/index.md#ydb-server) or otherwise prepared in advance. * `ydbd_binary` and `ydb_cli_binary`: local filesystem paths for {{ ydb-short-name }} server and client executables, [downloaded](../../downloads/index.md#ydb-server) or otherwise prepared in advance. +#### Installing fq-connector-go + +Installing a [connector](../../concepts/federated_query/architecture.md#connectors) may be necessary for using [federated queries](../../concepts/federated_query/index.md). The playbook can deploy the [fq-connector-go](../manual/federated-queries/connector-deployment.md#fq-connector-go) to the hosts with dynamic nodes. Use the following settings: + +* `ydb_install_fq_connector` - set `true` for installing the the connector. +* Choose one of the available options for deploying fq-connector-go executables: + * `ydb_fq_connector_version`: automatically download one of the [fq-connector-go official releases](https://github.com/ydb-platform/fq-connector-go/releases) by version number. For example, `v0.7.1`. + * `ydb_fq_connector_git_version`: automatically compile the fq-connector-go executable from the source code, downloaded from [the official GitHub repository](https://github.com/ydb-platform/fq-connector-go). The setting's value is a branch, tag, or commit name. For example, `main`. + * `ydb_fq_connector_archive`: a local filesystem path for a fq-connector-go distribution archive [downloaded](https://github.com/ydb-platform/fq-connector-go/releases) or otherwise prepared in advance. + * `ydb_fq_connector_binary`: local filesystem paths for fq-connector-go executable, [downloaded](https://github.com/ydb-platform/fq-connector-go/releases) or otherwise prepared in advance. + #### Optional changes in the inventory files Feel free to change these settings if needed, but it is not necessary in straightforward cases: @@ -183,6 +194,10 @@ The default {{ ydb-short-name }} configuration file already includes almost all The rest of the sections and settings in the configuration file can remain unchanged. +### fq-connector-go configuration file + +Configuration file for fq-connector-go located in the `/files/fq-connector-go/config.yaml`. In straightforward cases, it can remain unchanged. + ## Deploying the {{ ydb-short-name }} cluster {#erasure-setup} {% note info %} @@ -208,10 +223,11 @@ To prepare your template, you can follow the instructions below: The sequence of role executions and their brief descriptions: 1. The `packages` role configures repositories, manages APT preferences and configurations, fixes unconfigured packages, and installs necessary software packages depending on the distribution version. -2. The `system` role sets up system settings, including clock and timezone configuration, time synchronization via NTP with `systemd-timesyncd`, configuring `systemd-journald` for log management, kernel module loading configuration, kernel parameter optimization through `sysctl`, and CPU performance tuning using `cpufrequtils`. -3. The `ydb` role performs tasks related to checking necessary variables, installing base components and dependencies, setting up system users and groups, deploying and configuring {{ ydb-short-name }}, including managing TLS certificates and updating configuration files. -4. The `ydb-static` role prepares and launches static nodes of {{ ydb-short-name }}, including checking necessary variables and secrets, formatting and preparing disks, creating and launching `systemd unit` for the storage node, as well as initializing the storage and managing database access. -5. The `ydb-dynamic` role configures and manages dynamic nodes of {{ ydb-short-name }}, including checking necessary variables, creating configuration and `systemd unit` files for each dynamic node, launching these nodes, obtaining a token for {{ ydb-short-name }} access, and creating a database in {{ ydb-short-name }}. +1. The `system` role sets up system settings, including clock and timezone configuration, time synchronization via NTP with `systemd-timesyncd`, configuring `systemd-journald` for log management, kernel module loading configuration, kernel parameter optimization through `sysctl`, and CPU performance tuning using `cpufrequtils`. +1. The `ydb` role performs tasks related to checking necessary variables, installing base components and dependencies, setting up system users and groups, deploying and configuring {{ ydb-short-name }}, including managing TLS certificates and updating configuration files. +1. The `ydb_fq_connector` role (optional) performs tasks related to deploying and configuring fq-connector-go, including checking necessary variables, installing binaries, configuration files, creating and launching `systemd unit`. +1. The `ydb-static` role prepares and launches static nodes of {{ ydb-short-name }}, including checking necessary variables and secrets, formatting and preparing disks, creating and launching `systemd unit` for the storage node, as well as initializing the storage and managing database access. +1. The `ydb-dynamic` role configures and manages dynamic nodes of {{ ydb-short-name }}, including checking necessary variables, creating configuration and `systemd unit` files for each dynamic node, launching these nodes, obtaining a token for {{ ydb-short-name }} access, and creating a database in {{ ydb-short-name }}. {% cut "Detailed step-by-step installation process description" %} diff --git a/ydb/docs/ru/core/devops/ansible/initial-deployment.md b/ydb/docs/ru/core/devops/ansible/initial-deployment.md index df8ad03b736..66b28c05840 100644 --- a/ydb/docs/ru/core/devops/ansible/initial-deployment.md +++ b/ydb/docs/ru/core/devops/ansible/initial-deployment.md @@ -84,6 +84,17 @@ all: * `ydb_archive`: локальный путь к архиву с дистрибутивом {{ ydb-short-name }}, [загруженного](../../downloads/index.md#ydb-server) или подготовленного заранее. * `ydbd_binary` и `ydb_cli_binary`: локальные пути к исполняемым файлам сервера и клиента {{ ydb-short-name }}, [загруженным](../../downloads/index.md#ydb-server) или подготовленным заранее. +#### Установка fq-connector-go + +Для запуска [федеративных запросов](../../concepts/federated_query/index.md) может потребоваться установка [коннектора](../../concepts/federated_query/architecture.md#connectors). Плейбук поддерживает развертывание коннектора [fq-connector-go](../manual/federated-queries/connector-deployment.md#fq-connector-go) на хостах с динамическими нодами. Используйте следующие настройки: + +* `ydb_install_fq_connector` - установите в `true`, если необходимо установить коннектор. +* Выберите один из доступных вариантов развёртывания исполняемых файлов fq-connector-go: + * `ydb_fq_connector_version`: автоматически загрузить один из [официальных релизов fq-connector-go](https://github.com/ydb-platform/fq-connector-go/releases) по номеру версии. Например, `v0.7.1`. + * `ydb_fq_connector_git_version`: автоматически скомпилировать исполняемый файл fq-connector-go из исходного кода, загруженного из [официального репозитория GitHub](https://github.com/ydb-platform/fq-connector-go). Значение настройки – это имя ветки, тега или коммита. Например, `main`. + * `ydb_fq_connector_archive`: локальный путь к архиву с дистрибутивом fq-connector-go, [загруженному](https://github.com/ydb-platform/fq-connector-go/releases) или подготовленному заранее. + * `ydb_fq_connector_binary`: локальный путь к исполняемому файлу fq-connector-go, [загруженному](https://github.com/ydb-platform/fq-connector-go/releases) или подготовленному заранее. + #### Дополнительные изменения в инвентори-файлах При необходимости можно изменить эти настройки, но это не обязательно в простых случаях: @@ -183,6 +194,9 @@ all: Остальные секции и настройки конфигурационного файла остаются без изменений. +### Конфигурационный файл fq-connector-go + +Конфигурационный файл fq-connector-go располагается в `/files/fq-connector-go/config.yaml` и в простых случаях не требует никаких изменений. ## Развёртывание кластера {{ ydb-short-name }} { #erasure-setup } @@ -209,6 +223,7 @@ all: 1. Роль `packages` настраивает репозитории, управляет предпочтениями и конфигурациями APT, а также исправляет неконфигурированные пакеты и устанавливает необходимые программные пакеты в зависимости от версии дистрибутива. 1. Роль `system` устанавливает системные настройки, включая конфигурацию часов и временной зоны, синхронизацию времени через NTP с помощью `systemd-timesyncd`, настройку `systemd-journald` для управления журналами, конфигурацию загрузки модулей ядра и оптимизацию параметров ядра через `sysctl`, а также настройку производительности процессора с использованием `cpufrequtils`. 1. Роль `ydb` выполняет задачи по проверке необходимых переменных, установке базовых компонентов и зависимостей, настройке системных пользователей и групп, развертыванию и конфигурированию {{ ydb-short-name }}, включая управление сертификатами TLS и обновление конфигурационных файлов. +1. Роль `ydb_fq_connector` (опционально) отвечает за подготовку и запуск процессов fq-connector-go, включая проверку необходимых переменных, установку необходимых бинарных файлов, файлов конфигурации, создание и запуск `systemd unit`. Ознакомиться с `systemd unit` fq-connector-go можно по [ссылке](https://github.com/ydb-platform/ydb-ansible/blob/main/roles/ydb_fq_connector/templates/ydb-fq-connector.service). 1. Роль `ydb-static` отвечает за подготовку и запуск статических нод {{ ydb-short-name }}, включая проверку необходимых переменных и секретов, форматирование и подготовку дисков, создание и запуск `systemd unit` для узла хранения, а также инициализацию хранилища и управление доступом к базе данных. Ознакомиться с `systemd unit` сторадж ноды можно по [ссылке](https://github.com/ydb-platform/ydb-ansible/blob/3b61d8c947d94ad4b89e8460f26391041a47b00e/roles/ydbd_static/templates/ydbd-storage.service). 1. Роль `ydb-dynamic` настраивает и управляет динамическими узлами {{ ydb-short-name }}, включая проверку необходимых переменных, создание конфигурационных файлов и `systemd unit` файлов для каждого динамического узла, запуск этих узлов, получение токена для доступа к {{ ydb-short-name }}, создание базы данных в {{ ydb-short-name }}. Шаблон файла `systemd unit` динамической ноды находится по [ссылке](https://github.com/ydb-platform/ydb-ansible/blob/3b61d8c947d94ad4b89e8460f26391041a47b00e/roles/ydbd_static/templates/ydbd-storage.service). |