Etcd#

Etcd — это высоконадежное распределенное хранилище данных. DropApp Plus хранит в нем информацию о состоянии существующих кластеров DropApp Plus, сервисах, сети и т.д.

Доступ к данным осуществляется через REST API. При изменениях записей, вместо поиска и изменения предыдущей копии, все предыдущие записи помечаются как устаревшие, а новые значения записываются в конец. Позже устаревшие значения удаляются специальным процессом. В важных системах, требующих избыточности и высокой доступности, etcd следует создавать в виде кластера, состоящего из нескольких узлов.

API server является основной точкой управления всего кластера DropApp. Он обрабатывает операции REST, проверяет их и обновляет соответствующие объекты в etcd. API server обслуживает DropApp Plus API и задуман как простой сервер, с большей частью бизнес-логики, реализованной в отдельных компонентах или в плагинах. Ниже приведены некоторые примеры API, доступных на сервере API.

# pods
api/v1/pods

# services
api/v1/services

# deployments
api/v1/deployments

Когда происходит работа с кластером DropApp Plus с использованием oc интерфейса командной строки, взаимодействие осуществляется с основным серверным компонентом API. Команды oc преобразуются в HTTP-вызовы REST и вызываются на сервере API. API server также отвечает за механизм аутентификации и авторизации. Все клиенты API должны быть аутентифицированы для взаимодействия с сервером API. Возможно написание клиентских библиотек/приложений DropApp Plus, используя API server.