not yet
This commit is contained in:
parent
dce21d4ad0
commit
ba26ae8fda
117
README.md
117
README.md
@ -1,16 +1,23 @@
|
|||||||
|
|
||||||
# Table of Contents
|
# Table of Contents
|
||||||
1. [Логика доступа к контенту ](#Логика-доступа-к-контенту)
|
1. [Логика доступа к контенту ](#логика-доступа-к-контенту)
|
||||||
1. [Логика деплоя в куб по коммиту ](#Логика-деплоя-в-куб-по-коммиту)
|
1. [Логика деплоя в куб по коммиту ](#логика-деплоя-в-куб-по-коммиту)
|
||||||
|
1. [Общая схема отдельного приложения](#логика-деплоя-в-куб-по-коммиту)
|
||||||
|
1. [Логика работы мониторинга](#логика-работы-мониторинга)
|
||||||
|
|
||||||
|
|
||||||
Вообще суть такова:
|
Вообще суть такова:
|
||||||
|
|
||||||
Мы берём фласк, кидаем в контейнер, далее контейнер педалим в кубернетес в деплоймент соответствующий ветке (мастер/дев) с 2-3 подами на деплоймент, всё это должен уметь делать CI/CD
|
Мы берём фласк, кидаем в контейнер, далее контейнер педалим в кубернетес в деплоймент соответствующий ветке (мастер/дев) с 2-3 подами на деплоймент, всё это должен уметь делать CI/CD
|
||||||
|
|
||||||
|
Далее возможно добавление в схему волта
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
## Логика доступа к контенту
|
## Логика доступа к контенту
|
||||||
|
[наверх](#table-of-contents)
|
||||||
|
|
||||||
|
Попадаем на сервер, nginx отправляет в куб. Там ингресс закидывает на деплоймент соответственно доменному имени. Из деплоймента отвечают свободные поды. Поды ходят в постгрес и минио когда надо.
|
||||||
|
|
||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
@ -33,12 +40,12 @@ stateDiagram-v2
|
|||||||
|
|
||||||
|
|
||||||
state DeploymentMaster {
|
state DeploymentMaster {
|
||||||
state "pod" as p1
|
state "app" as p1
|
||||||
state "pod" as p2
|
state "app" as p2
|
||||||
}
|
}
|
||||||
state DeploymentDev {
|
state DeploymentDev {
|
||||||
state "pod" as p1d
|
state "app" as p1d
|
||||||
state "pod" as p2d
|
state "app" as p2d
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -64,7 +71,6 @@ stateDiagram-v2
|
|||||||
p1d --> all_join
|
p1d --> all_join
|
||||||
p2d --> all_join
|
p2d --> all_join
|
||||||
|
|
||||||
p1 --> all_join
|
|
||||||
|
|
||||||
all_join --> Postgres : данные с БД
|
all_join --> Postgres : данные с БД
|
||||||
all_join --> Minio : статика
|
all_join --> Minio : статика
|
||||||
@ -74,17 +80,100 @@ stateDiagram-v2
|
|||||||
----
|
----
|
||||||
|
|
||||||
## Логика деплоя в куб по коммиту
|
## Логика деплоя в куб по коммиту
|
||||||
|
[наверх](#table-of-contents)
|
||||||
TBA
|
|
||||||
|
|
||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
stateDiagram-v2
|
stateDiagram-v2
|
||||||
|
|
||||||
Git
|
committer --> Git
|
||||||
committer
|
|
||||||
Docker
|
Git --> Drone
|
||||||
Kube
|
|
||||||
Drone
|
state "pipeline-${branch}" as pm {
|
||||||
|
|
||||||
|
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