Выпуск распределенной системы хранения конфигурации etcd 2.0

Проект CoreOS, развивающий основанное на идеях контейнерной изоляции серверное окружение, представил первый стабильный релиз проекта etcd, в рамках которого развивается высоконадёжное распределённое хранилище параметров конфигурации, задаваемых в форме ключ/значение. Код etcd написан на языке Go и распространяется под лицензией Apache. Etcd позволяет организовать единое хранилище конфигурации для группы серверов, которое реплицируются на все узлы и поддерживается в синхронизированном состоянии с использованием протокола Raft. Наличие копии данных на всех хостах позволяет исключить потерю конфигурации при выходе из строя отдельного узла. Основным назначением etcd является предоставление унифицированного механизма хранения конфигурации и информации о работающих сервисах для изолированных контейнеров с типовой начинкой. В etcd также могут сохраняться временные данные, для которых предусмотрена возможность определения времени жизни записи. Отдельно развивается надстройка etcd-lock для обеспечения блокировки записей.

Для доступа к конфигурации предоставляется простой интерфейс, основанный на использовании HTTP и JSON. Для доступа к базе можно использовать утилиту etcdctl или любой http-клиент, такой как сurl или wget (например, для запроса ключа можно использовать команду «curl -L http://127.0.0.1:4001/v2/keys/mykey»). Для наглядного управления базой данных и внесения изменений в ручном режиме предусмотрен web-интерфейс etcd-browser. Аутентификация выполняется на основе SSL-ключей. При помощи FUSE-модуля etcd-fs возможен доступ к хранилищу в виде файловой системы.

Основные новшества выпуска etcd 2.0:

Внутренний протокол улучшен в направлении защиты от случайной неправильной настройки; Добавлена команда «etcdctl backup», предназначенная для создания резервной копии хранилища; Добавлены команды «etcdctl member list/add/remove» для упрощения управления кластером etcd; Повышена надёжность хранения данных на диске. Добавлен контроль целостности по контрольным суммам и хранение в форме дополняемого лога. Улучшен алгоритм достижения консенсуса при определении актуального состояния данных после выхода из строя отдельных узлов хранилища; Ускорено проведение тестирования состояния узлов; Задействованы официально закреплённые организацией IANA за etcd номера портов TCP 2379/2380.

© OpenNet