Skip to main content

Инфраструктура

На данной странице сейчас описана инфраструктура в которой разрабатывается платформа.

При развороте платформы под конкретное внедрение страница должна быть актуализирована под новые вводные.

Общая схема#

Окружение, в котором разрабатывается ensi состоит из следующих частей:

  • Кластер k8s
  • Сервер администрирования и воркер ci/cd
  • Кластер Ceph
  • Сервер с СУБД Postgres

В общих чертах схема развёртывания выглядит как показано на рис. 1. Docusaurus logo

Кластер k8s#

Кластер состоит из 6 машин. На них развёрнуты микросервисы ensi и различные инфраструктурные сервисы, необходимые как для непосредственно работы ensi, так и для мониториринга её работы.

МашинаIPCPURAMDISK
master110.1.0.214420
master210.1.0.224420
master310.1.0.234420
worker110.1.0.24163264
worker110.1.0.24163264
worker110.1.0.24163264

Сервер администрирования / Jenkins agent#

Сервер используется в основном как агент Jenkins, на котором выполняется сборка docke образов. Кроме того на машине установлены kubectl и helm, и настроен доступ в кластер k8s.

МашинаIPCPURAMDISK
kube-adm10.1.0.241620

Кластер ceph#

Кластер состоит из трёх машин. Используются как отказоусточивое сетевое файловое хранилище, доступное с любой из машин кластера k8s. В нём хранятся файлы всех приложений, развёрнутых в k8s, как микросервисов ensi, так и инфраструктурных сервисов.

МашинаIPCPURAMDISK
ceph110.1.0.3148120
ceph210.1.0.3248120
ceph210.1.0.3348120

Сервер postgres#

Используется как основная БД самим ensi.

МашинаIPCPURAMDISK
database10.1.0.102024120

Системы управления#

K8s dashboard#

Веб-интерфейс к кубернетису, который позволяет выполнять практически любые манипуляции с кластером и наблюдать за его состоянием.

https://dash.infra.ensi.tech/

Ceph dashboard#

Веб-интерфейс для управления кластером ceph.

https://ceph.infra.ensi.tech/

Системы CI/CD#

Jenkins#

Система автоматизации задач. Используется для сборки и отгрузки микросервисов ensi. https://jenkins-infra.ensi.tech/

Nexus#

Хранилище артефактов, таких как docker образы и composer пакеты. https://nexus-infra.ensi.tech/

Системы мониторинга#

Prometheus#

Собирает метрики со всего, что ими обладает - с железа, платформы, отдельных сервисов. Для просмотра метрик используется Grafana.

https://grafana-infra.ensi.tech/

ELK#

Связка из Elasticsearch, Logstash и Kibana используется для сбора логов с микросервисов ensi и с некоторых компонентов платформы, таких как, например, ingress controller.

https://logs-infra.ensi.tech/

Инфраструктурные сервисы ensi, развёрнутые в кластере#

Elasticsearch#

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

https://kibana-infra.ensi.tech/

Kafka#

Система обмена сообщениями между микросервисами ensi.

https://kafka-infra.ensi.tech/