not yet
This commit is contained in:
parent
dce21d4ad0
commit
ba26ae8fda
119
README.md
119
README.md
@ -1,16 +1,23 @@
|
||||
|
||||
# Table of Contents
|
||||
1. [Логика доступа к контенту ](#Логика-доступа-к-контенту)
|
||||
1. [Логика деплоя в куб по коммиту ](#Логика-деплоя-в-куб-по-коммиту)
|
||||
1. [Логика доступа к контенту ](#логика-доступа-к-контенту)
|
||||
1. [Логика деплоя в куб по коммиту ](#логика-деплоя-в-куб-по-коммиту)
|
||||
1. [Общая схема отдельного приложения](#логика-деплоя-в-куб-по-коммиту)
|
||||
1. [Логика работы мониторинга](#логика-работы-мониторинга)
|
||||
|
||||
|
||||
Вообще суть такова:
|
||||
|
||||
Мы берём фласк, кидаем в контейнер, далее контейнер педалим в кубернетес в деплоймент соответствующий ветке (мастер/дев) с 2-3 подами на деплоймент, всё это должен уметь делать CI/CD
|
||||
|
||||
Далее возможно добавление в схему волта
|
||||
|
||||
----
|
||||
|
||||
## Логика доступа к контенту
|
||||
[наверх](#table-of-contents)
|
||||
|
||||
Попадаем на сервер, nginx отправляет в куб. Там ингресс закидывает на деплоймент соответственно доменному имени. Из деплоймента отвечают свободные поды. Поды ходят в постгрес и минио когда надо.
|
||||
|
||||
|
||||
```mermaid
|
||||
@ -33,12 +40,12 @@ stateDiagram-v2
|
||||
|
||||
|
||||
state DeploymentMaster {
|
||||
state "pod" as p1
|
||||
state "pod" as p2
|
||||
state "app" as p1
|
||||
state "app" as p2
|
||||
}
|
||||
state DeploymentDev {
|
||||
state "pod" as p1d
|
||||
state "pod" as p2d
|
||||
state "app" as p1d
|
||||
state "app" as p2d
|
||||
}
|
||||
}
|
||||
|
||||
@ -63,8 +70,7 @@ stateDiagram-v2
|
||||
p2 --> all_join
|
||||
p1d --> all_join
|
||||
p2d --> all_join
|
||||
|
||||
p1 --> all_join
|
||||
|
||||
|
||||
all_join --> Postgres : данные с БД
|
||||
all_join --> Minio : статика
|
||||
@ -74,17 +80,100 @@ stateDiagram-v2
|
||||
----
|
||||
|
||||
## Логика деплоя в куб по коммиту
|
||||
|
||||
TBA
|
||||
[наверх](#table-of-contents)
|
||||
|
||||
|
||||
```mermaid
|
||||
stateDiagram-v2
|
||||
|
||||
committer --> Git
|
||||
|
||||
Git --> Drone
|
||||
|
||||
state "pipeline-${branch}" as pm {
|
||||
|
||||
Git
|
||||
committer
|
||||
Docker
|
||||
Kube
|
||||
Drone
|
||||
Runner --> Docker : create ${branch} image with new files
|
||||
|
||||
|
||||
Docker --> Kube : ${branch} deploy with new image
|
||||
}
|
||||
|
||||
|
||||
state branch_fork <<fork>>
|
||||
Drone --> branch_fork : ветка репо
|
||||
|
||||
branch_fork --> pm
|
||||
|
||||
```
|
||||
|
||||
----
|
||||
|
||||
## Общая схема отдельного приложения
|
||||
[наверх](#table-of-contents)
|
||||
|
||||
|
||||
```mermaid
|
||||
stateDiagram-v2
|
||||
|
||||
|
||||
User
|
||||
|
||||
state inet <<fork>>
|
||||
|
||||
User --> inet : дайте борду, запишу свои посты, картинки итд
|
||||
|
||||
state Flask {
|
||||
|
||||
hmtx : htmx templates
|
||||
static_files : flask static
|
||||
|
||||
}
|
||||
|
||||
inet --> Flask
|
||||
|
||||
Flask --> Postgres : посты
|
||||
Flask --> Minio : картинки и шебм
|
||||
|
||||
```
|
||||
|
||||
----
|
||||
|
||||
## Логика работы мониторинга
|
||||
[наверх](#table-of-contents)
|
||||
|
||||
```mermaid
|
||||
stateDiagram-v2
|
||||
|
||||
App
|
||||
|
||||
state enter_monitoring <<fork>>
|
||||
|
||||
App --> enter_monitoring
|
||||
enter_monitoring --> Prometheus : metrics
|
||||
|
||||
Prometheus --> Grafana
|
||||
|
||||
enter_monitoring --> Loki : logs
|
||||
Loki --> Grafana
|
||||
|
||||
state admini {
|
||||
User : Наш слон
|
||||
}
|
||||
|
||||
Prometheus --> Alertmanager
|
||||
Loki --> Alertmanager
|
||||
|
||||
|
||||
state alerts_join <<join>>
|
||||
state dash_join <<join>>
|
||||
|
||||
Alertmanager --> alerts_join
|
||||
Grafana --> alerts_join
|
||||
|
||||
alerts_join --> User : алерты
|
||||
|
||||
|
||||
Grafana --> dash_join
|
||||
dash_join --> User : дашборды
|
||||
|
||||
```
|
Loading…
Reference in New Issue
Block a user