Разворачивание сервиса MySQL/MariaDB/Percona в D2C.io

Это руководство поможет вам развернуть сервис MySQL/MariaDB/Percona (StandAlone и MasterSlave конфигурации) в Docker контейнере. Процесс разворачивания этих трех сервисов одинаковый, поэтому мы объединили их в одну статью. Данное руководство может быть полезно как начинающим, так и продвинутым разработчикам.

Denis Zaripov

Product manager

Почему Docker?

Докер — это открытая платформа для разработки, доставки и эксплуатации приложений. Docker разработан для более быстрого выкладывания ваших приложений. С помощью docker вы можете отделить ваше приложение от вашей инфраструктуры и обращаться с инфраструктурой как управляемым приложением. Docker помогает выкладывать ваш код быстрее, быстрее тестировать, быстрее выкладывать приложения и уменьшить время между написанием кода и запуска кода. Docker делает это с помощью легковесной платформы контейнерной виртуализации, используя процессы и утилиты, которые помогают управлять и выкладывать ваши приложения.

 

В своем ядре docker позволяет запускать практически любое приложение, безопасно изолированное в контейнере. Безопасная изоляция позволяет вам запускать на одном хосте много контейнеров одновременно. Легковесная природа контейнера, который запускается без дополнительной нагрузки гипервизора, позволяет вам добиваться больше от вашего железа.

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

Подготовка

Будет проще начать, если у вас уже есть подключенный сервер. 

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

Создание сервиса MySQL/MariaDB/Percona

Для начала, потребуется открыть или создать любой проект и нажать «+Создать сервис». Вы увидите список нативно поддерживаемых сервисов, которые можно развернуть с помощью D2C.

Нажимаем на плитку MySQL/MariaDB/Percona.

Создание сервиса MySQL/MariaDB/Percona. Настройки сервиса

Name

Имя должно начинаться с буквы и содержать не более 16 символов (допускаются латинские символы и цифры).

У каждого сервиса есть своё уникальное имя. Сервисы могут обращаться друг к другу по имени контейнера  (например, kitty-1) или по alias-именам (например, kitty-master или kitty-slave).

Configuration

На этом шаге, вы можете выбрать конфигурацию для создаваемоего сервиса. Для MySQL/MariaDB/Percona в D2C поддерживаются StandAlone и MasterSlave конфигурации. Для MasterSlave конфигурации требуется как минимум два сервера (на каждом разворачивается по одному контейнеру — один master и один slave).

Version

Вы можете выбрать версию из списка:

Root password

В этом поле вы можете указать root пароль к базе данных. Root пароль можно изменять после разворачивания сервиса.

Username

В этом поле вы можете указать имя пользователя базы данных.

User password

Пароль для пользователя базы данных.

Database name

Имя базы данных.

В большинстве случаев этих параметров достаточно, чтобы развернуть базу данных. Теперь вы можете выбрать сервера и создать сервис. В сервисах хранения данных также есть дополнительные настройки. Мы покажем их ниже.

Создание сервиса MySQL/MariaDB/Percona. Выбор серверов

На этом изображении показаны выбранные сервера для MasterSlave конфигурации. Первым кликом выбирается master контейнер, последующими — slave контейнеры. Нажмите ещё раз, чтобы изменить сервера для master и slave контейнеров.

Конфигурацию можно изменять после разворачивания сервиса (с StandAlone на MasterSlave), как и добавлять количество slave контейнеров. 

На этом шаге вы также можете создавать новые сервера и выбирать их пока они создаются (статусы creating/setting up). Контейнеры будут развернуты после того, как сервера будут готовы.

После успешного разворачивания ваш проект будет выглядеть примерно так:

Создание сервиса MySQL/MariaDB/Percona. Дополнительные настройки

Нажмите «Show advanced settings».

Ports

Первый блок — порты.

Доступ в Интернет (Access from the Internet) выключен по умолчанию. Вы можете включить доступ в Интернет во время создания или редактирования сервиса, но это не рекомендуется. Во-первых — по причинам безопасности, во-вторых — все сервисы в D2C запускаются внутри приватной сети и могут обращаться друг к другу по имени контейнера или alias-имени. Не важно на каком сервере сервис запущен – все взаимосвязи внутри приватной сети прозрачны для сервисов.

Persistent data volumes

D2C разделяет приложение от данных приложения. Docker volumes используются для хранения постоянных данных. Данные хранятся локально на серверах. 

Configs

D2C создает стандартный конфиг для MariaDB/MySQL/Percona. Вы можете его изменить нажав на кнопку «Edit»

Нажмите на кнопку “Generate new config”, если требуется вернуться к стандартному значению.

Global dependencies 

В этом поле, вы указать команды для установки глобальных зависимостей в ваш сервис.

Initial commands

Команды, которые выполняются один раз после разворачивания сервиса.

Environment variables
Вы можете указать переменные окружения для вашего приложения. Их можно изменять после создания сервиса.

Что дальше?

В следующей статье мы поговорим о:

  • поддержке сервисов хранения данных: создание бэкапов, масштабирование, проверка логов и метрик контейнеров, обновление версии