Skip to content

Commit

Permalink
Merge pull request #12 from pvelx/develop
Browse files Browse the repository at this point in the history
improve doc
  • Loading branch information
pvelx authored Feb 4, 2021
2 parents 4e8cb65 + 5c8cfee commit b7b6661
Show file tree
Hide file tree
Showing 6 changed files with 43 additions and 19 deletions.
62 changes: 43 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,88 +2,112 @@

Приложение разворачивается при помощи Kubernetes.

### Общая схема взаимодействия
<br/>



![Общая схема взаимодействия](./schema.png)

Состоит из 5 микросервисов:
- **[Admin Dashboard](https://github.com/pvelx/message-dashboard-demo)** - панель администратора для доступа к API сервиса Message. Интерфейс построен на базе фреймворка Vue.
- **[Message service](https://github.com/pvelx/message-service-demo)** - отвечает за управление сообщениями. Создание, удаление, отложенная отправка. Написан на базе фреймворка Symfony 5 (PHP).
- **Broker** - брокер сообщений RabbitMQ для асинхронного взаимодействия.
- **Monitoring** - мониторинг сервиса Trigger. Отображаемые метрики описаны [тут](https://github.com/pvelx/triggerhook#%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B). Построен на базе InfluxDb + Grafana.
- **[Trigger service](https://github.com/pvelx/trigger-service-demo)** - сервис реализует механизм отложенного выполенения задач. Построен на безе [Trigger Hook](https://github.com/pvelx/triggerhook).

<br/>

### Локальное развертывание
---

#### Прежде всего должны быть установлены следующие приложения:
### Локальное развертывание
#### Предварительные требования
Прежде всего должны быть установлены следующие приложения:
- docker
- kubectl
- minikube
- git

Для MacOs в качесве драйвера лучше дополнительно установить virtualbox или parallels. Docker в качестве драйвера на данной системе может работать медленно.

#### Запустите виртуальную машину для приложения:
<br/>

#### Запуск
Вы можете использовать не стандартный драйвер, например, virtualbox или parallels.
```bash
minikube start
```
Вы можете использовать другой драйвер, например, virtualbox или parallels:
или
```bash
minikube start --vm-driver=parallels
```
#### Клонирование репозиториев проекта:

<br/>

Клонирование репозиториев проекта:
```bash
mkdir trigger-hook-demo && cd trigger-hook-demo

git clone https://github.com/pvelx/k8s-message-demo.git

cd k8s-message-demo && ./download.sh
cd k8s-message-demo && ./download
```

#### Развертывание на виртуальной машине:
<br/>

Развертывание на виртуальной машине:
```bash
./deploy.sh
./deploy
```
Это может занять несколько минут.

#### Добавление в файл /etc/hosts URLs сервисов
Может быть потрачено около 10 мин на скачивание образов контейнеров и их запуск прежде чем, приложение полностью заработает.

<br/>

Для доступа сервисам с локальной машины нужно выполнить:
```bash
./update_hosts.sh
./update_hosts
```
С развернутого хоста стануд доступны сервисы по ссылкам:
С развернутого хоста станут доступны сервисы по ссылкам:
- [dashboard.message.com](http://dashboard.message.com)
- [api.message.com](http://api.message.com)
- [monitoring.message.com](http://monitoring.message.com)
- [rabbitmq.message.com](http://rabbitmq.message.com)
login:rabbitmq
password:secret

#### Открытие приборной панели Kubernetes
<br/>

Открытие приборной панели Kubernetes:
```bash
minikube dashboard
```

<br/>

#### Пересборка сервисов
После изменений кода в одном из сервисов нужно будет его пересобрать:

```bash
./build.sh trigger-service
./build trigger-service
```

```bash
./build.sh message-service
./build message-service
```

```bash
./build.sh message-dashboard
./build message-dashboard
```

<br/>

#### Удаление
Для удаления сервисов из виртуальной машины можно использовать:
```bash
./undeploy.sh
./undeploy
```

<br/>

Для полного удаления:
```bash
minikube stop
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 comments on commit b7b6661

Please sign in to comment.