mirror of
https://github.com/Dannecron/netology-devops.git
synced 2025-12-26 07:42:36 +03:00
homework 5.5: add task 2-3
This commit is contained in:
@@ -29,4 +29,82 @@
|
||||
> - Что такое Overlay Network?
|
||||
|
||||
`Overlay Network` - это особый тип docker-сети, который позволяет связать контейнеры, запущенные на разных нодах.
|
||||
То есть, данная сеть позволяет направить трафик на определённый контейнер на определённой ноде только по имени контейнера.
|
||||
То есть, данная сеть позволяет направить трафик на определённый контейнер на определённой ноде только по имени контейнера.
|
||||
|
||||
### Задача 2
|
||||
|
||||
> Создать ваш первый Docker Swarm кластер в Яндекс.Облаке
|
||||
>
|
||||
> Для получения зачета, вам необходимо предоставить скриншот из терминала (консоли), с выводом команды:
|
||||
>
|
||||
> ```shell
|
||||
> docker node ls
|
||||
> ```
|
||||
|
||||
Для начала необходимо выполнить шаги создания образа ОС в облаке, следуя инструкции из домашней работы [5.4](/src/homework/05-virtualization/5.4/readme.md#Задача 1).
|
||||
|
||||
После того как образ будет создан:
|
||||
1. Скопировать секреты для `terraform` из [variables.tf.example](./terraform/variables.tf.example) в `variables.tf`
|
||||
2. Затем нужно изменить поля в конфигурации.
|
||||
3. Инициализировать конфигурацию: `terraform init` (не работает без vpn, при получении данных отдаётся 403 статус код)
|
||||
4. Просмотреть конфигурацию `terraform plan`
|
||||
5. Применить конфигурацию к облаку `terraform apply -auto-approve`
|
||||
6. Подключится по ssh к машине, чей ip-адрес будет выведен в строке с переменной `external_ip_address_node01` и выполнить необходимую команду:
|
||||
```shell
|
||||
ssh centos@51.250.64.218
|
||||
sudo docker node ls
|
||||
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
|
||||
ttj5yee26pppcezlys0g0pzum * node01.netology.yc Ready Active Leader 20.10.16
|
||||
a717bja2genbm7c6prdxailfy node02.netology.yc Ready Active Reachable 20.10.16
|
||||
qijk98huwd1y1omhsphc28rjr node03.netology.yc Ready Active Reachable 20.10.16
|
||||
pbmbmjeawqf7sst6yia40llwp node04.netology.yc Ready Active 20.10.16
|
||||
y6g2mtvdcitnmyzxwnipklk82 node05.netology.yc Ready Active 20.10.16
|
||||
s7f1f34ef238lvd7qltftb6jt node06.netology.yc Ready Active 20.10.16
|
||||
```
|
||||
|
||||
### Задача 3
|
||||
|
||||
> Создать ваш первый, готовый к боевой эксплуатации кластер мониторинга, состоящий из стека микросервисов.
|
||||
>
|
||||
> Для получения зачета, вам необходимо предоставить скриншот из терминала (консоли), с выводом команды:
|
||||
>
|
||||
> ```shell
|
||||
> docker service ls
|
||||
> ```
|
||||
|
||||
Стэк сервисов был развёрнут в рамках [второго задания](#Задача 2) при запуске `terraform`.
|
||||
|
||||
```shell
|
||||
sudo docker service ls
|
||||
ID NAME MODE REPLICAS IMAGE PORTS
|
||||
4iot28xmyl3w swarm_monitoring_alertmanager replicated 1/1 stefanprodan/swarmprom-alertmanager:v0.14.0
|
||||
5akoz6vjp9a3 swarm_monitoring_caddy replicated 1/1 stefanprodan/caddy:latest *:3000->3000/tcp, *:9090->9090/tcp, *:9093-9094->9093-9094/tcp
|
||||
mf0c8h4vyuue swarm_monitoring_cadvisor global 6/6 google/cadvisor:latest
|
||||
vbgaltbn2t17 swarm_monitoring_dockerd-exporter global 6/6 stefanprodan/caddy:latest
|
||||
ihmlsx3bmxs0 swarm_monitoring_grafana replicated 1/1 stefanprodan/swarmprom-grafana:5.3.4
|
||||
uju9p0ws4vwm swarm_monitoring_node-exporter global 6/6 stefanprodan/swarmprom-node-exporter:v0.16.0
|
||||
8ipjzv0vax7m swarm_monitoring_prometheus replicated 1/1 stefanprodan/swarmprom-prometheus:v2.5.0
|
||||
96xidxmifhco swarm_monitoring_unsee replicated 1/1 cloudflare/unsee:v0.8.0
|
||||
```
|
||||
|
||||
Для того, чтобы зайти на web-панель `grafana`, необходимо:
|
||||
1. Выяснить, на какой ноде был развёрнут данный сервис
|
||||
```shell
|
||||
sudo docker service ps swarm_monitoring_grafana
|
||||
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
|
||||
t97g9zhyggja swarm_monitoring_grafana.1 stefanprodan/swarmprom-grafana:5.3.4 node02.netology.yc Running Running 7 minutes ago
|
||||
```
|
||||
2. Выяснить внешний ip-адрес искомой ноды. Для этого можно посмотреть в [`ansible/inventory`](./ansible/inventory) файл.
|
||||
Либо выполнить команду:
|
||||
```shell
|
||||
sudo docker inspect node02.netology.yc --format '{{ .Status.Addr }}'
|
||||
192.168.101.12
|
||||
```
|
||||
3. Зайти по полученному адресу на порт `:3000`: `http://192.168.101.12:3000`.
|
||||
|
||||
### Clean up
|
||||
|
||||
Удаление всей инфраструктуры:
|
||||
|
||||
1. Удаление ВМ, сетей: `terraform destroy -auto-approve`
|
||||
2. Удаление образа ОС: `yc compute image delete --id {{ image_id }}`
|
||||
Reference in New Issue
Block a user