Подготовка к развертыванию
Предварительные требования
Выберите топологию для установки
Перед установкой выберите подходящую топологию кластера YDB — от неё зависит количество необходимых серверов и дисков:
Для начала работы с YDB, рекомендуется выбрать топологию mirror-3dc-3-nodes. Для этого потребуется всего 3 сервера и 9 дисков для пользовательских данных — это самый простой и быстрый способ создать пилотный кластер.
Для масштабных развёртываний выберите одну из следующих опций:
mirror-3-dc— для кластеров, размещённых в нескольких дата-центрах. Потребуется не менее 9 серверов и 9 дисков для пользовательских данных.block-4-2— для размещения кластера в одном дата-центре. Потребуется не менее 8 серверов и 8 дисков для пользовательских данных.
В каждом сервере должен быть хотя бы один отдельный диск для пользовательских данных. Рекомендуется также добавить отдельный небольшой диск под операционную систему. Подробнее о различных вариантах топологии и избыточности читайте в этой статье.
В дальнейшем можно при необходимости расширять кластер без остановки его работы и прерывания доступа пользователей к данным.
Настройка серверов
Примечание
Рекомендуемые требования к серверам:
- 16 CPU (рассчитывается исходя из утилизации 8 CPU узлом хранения и 8 CPU динамическим узлом).
- 16 GB RAM (рекомендуемый минимальный объем RAM).
- Дополнительные SSD-диски для данных, не менее 120 GB каждый.
- Доступ по SSH.
- Сетевая связность между машинами в кластере.
- ОС: Ubuntu 18+, Debian 9+.
- Доступ в интернет для обновления репозиториев и скачивания необходимых пакетов.
Подробнее см. Системные требования и рекомендации для YDB.
При использовании виртуальных машин у публичного облачного провайдера рекомендуется следовать Развёртывание инфраструктуры для кластера YDB с помощью Terraform.
Настройка программного обеспечения
Для работы с проектом на локальной (промежуточной или установочной) машине потребуется:
- Python 3 версии 3.10+
- Поддерживаются версии Ansible core начиная с 2.11 и до 2.18
- Рабочая директория на сервере с SSH-доступом ко всем серверам кластера
Совет
Рекомендуется хранить рабочую директорию и все файлы, созданные в ходе этого руководства, в репозитории системы управления версиями, например Git. Если несколько DevOps-инженеров будут работать с развёртываемым кластером, они должны взаимодействовать в общем репозитории.
Если Ansible уже установлен, можно перейти к разделу «Настройка проекта Ansible». Если Ansible ещё не установлен, установите его одним из следующих способов:
Установка Ansible глобально
На примере Ubuntu 22.04 LTS:
- Обновите список пакетов apt командой
sudo apt-get update. - Обновите пакеты командой
sudo apt-get upgrade. - Установите пакет
software-properties-commonдля управления источниками программного обеспечения вашего дистрибутива —sudo apt install software-properties-common. - Добавьте новый PPA в apt —
sudo add-apt-repository --yes --update ppa:ansible/ansible. - Установите Ansible —
sudo apt-get install ansible-core(убедитесь, что устанавливаемая версия не выше 2.18 и не меньше 2.11; установка пакета простоansibleприведёт к устаревшей и неподходящей версии). - Проверьте версию Ansible core —
ansible --version.
Установка Ansible в виртуальное окружение Python
На примере Ubuntu 22.04 LTS:
- Обновите список доступных deb пакетов —
sudo apt-get update. - Установите пакет
python3-venvдля управления Python виртуальными окружениями —sudo apt-get install venv. - Создайте директорию, где будет создано виртуальное окружение. Например,
mkdir venv-ansible. - Создайте виртуальное окружение Python —
python3 -m venv venv-ansible, гдеvenv-ansible- путь к директории созданной на предыдущем шаге. - Активируйте виртуальное окружение —
source venv-ansible/bin/activate. Все дальнейшие действия с Ansible выполняются внутри виртуального окружения. Выйти из него можно командойdeactivate. - Установите рекомендуемую версию Ansible с помощью команды
pip3 install "ansible-core>=2.11,<2.19"(убедитесь, что устанавливаемая версия не выше 2.18 и не меньше 2.11). Проверьте установленную версию Ansible —ansible --version.
Для получения дополнительной информации и других вариантов установки ознакомьтесь с руководством по установке Ansible.
Настройка проекта Ansible
Установка YDB Ansible плейбуков
cat <<EOF > requirements.yaml
roles: []
collections:
- name: git+https://github.com/ydb-platform/ydb-ansible
type: git
version: latest
EOF
ansible-galaxy install -r requirements.yaml
ansible-galaxy collection install git+https://github.com/ydb-platform/ydb-ansible.git,latest
После выполнения подготовительных мероприятий можно переходить к развёртыванию системы. Выберите инструкцию в соответствии с вашей конфигурацией: