Skip to content

Otus-DevOps-2023-07/dmitriy-kutepow_microservices

Repository files navigation

ДЗ №17 Введение в мониторинг. Модели и принципы работы систем мониторинга

Ссылка на докерхаб https://hub.docker.com/repositories/dimkutep Что сделано:

1.Сконфигурировал, запустил и ознакомился с Prometheus
2.Настроил мониторинг состояния микросервисов
3.Сбрал метрики хоста с использованием node экспортера

Command list:

 1405  export USER_NAME=dimkutep
 1409  sudo docker login -u **** -p ******
 1410  sudo docker build -t $USER_NAME/prometheus .
 1411  cd ..
 1417  for i in ui post-py comment; do cd src/$i; bash docker_build.sh; cd -; done
 1418  cd docker/
 1419  sudo docker-compose up -d
 1420  sudo docker ps -a
 1421  sudo docker push
 1422  sudo docker images
 1423  sudo docker push dimkutep/ui
 1424  sudo docker-compose up -d
 1430  sudo docker-compose stop post
 1431  sudo docker-compose start post
 1436  sudo docker build -t $USER_NAME/prometheus .
 1440  sudo docker-compose up -d
 1442  sudo docker login
 1443  sudo docker push $USER_NAME/ui
 1444  sudo docker push $USER_NAME/commit
 1445  sudo docker push $USER_NAME/comment
 1446  sudo docker push $USER_NAME/post\
 1447  sudo docker push $USER_NAME/post
 1448  sudo docker push $USER_NAME/prometheus
 1449  sudo docker-compose down

ДЗ №16 Устройство Gitlab CI. Построение процесса непрерывной интеграции

Что сделано:

1.Подготовлена инсталляцию Gitlab CI
2.Подготовлен репозиторий с кодом приложения
3.Описаны для приложения этапы пайплайна
4.Определены окружения
5.Настроено динамическое окружение

Command list:

docker_install.sh
#!/bin/bash
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update


    1  sudo vi docker_install.sh
    2  sh docker_install.sh
    3  sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    4  sudo docker run hello-world
    8  mkdir -p /srv/gitlab/config /srv/gitlab/data /srv/gitlab/logs
    9  sudo mkdir -p /srv/gitlab/config /srv/gitlab/data /srv/gitlab/logs
   10  cd /srv/gitlab
   11  touch docker-compose.yml
   12  sudo vi docker-compose.yml
   15  apt install docker-compose
   16  sudo apt install docker-compose
   14  docker-compose up -d
   74  sudo docker exec 8fa5dcac4e94 cat /etc/gitlab/initial_root_password
   75  ls -la
   76  cd ..
   77  cd srv/gitlab/
   78  sudo vi docker-compose.yml
   79  sudo docker-compose up -d
   83  sudo docker run -d --name gitlab-runner --restart always -v /srv/gitlab-runner/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:latest
   84  sudo docker exec -it gitlab-runner gitlab-runner register --url http://158.160.100.126/ --non-interactive --locked=false --name DockerRunner --executor docker --docker-image alpine:latest --registration-token GR1348941sZz9xNGVRYg2Yats8ynu --tag-list "linux,xenial,ubuntu,docker" --run-untagged


ДЗ №15 Сетевое взаимодействие Docker контейнеров. Docker Compose. Тестирование образов

Что сделано:

1.Разобрался с работой сетей в Docker: none, host, bridge.
2.Установил docker-compose на локальную машину
3.Собрал образы приложения reddit с помощью docker-compose
4.Запустил приложение reddit с помощью docker-compose

Command list:

docker run -ti --rm --network none joffotron/docker-net-tools -c ifconfig
docker run -ti --rm --network host joffotron/docker-net-tools -c ifconfig
docker network create reddit --driver bridge
docker run -d --network=reddit --network-alias=post_db --network-
alias=comment_db mongo:latest
docker run -d --network=reddit --network-alias=post <your-login>/post:1.0
docker run -d --network=reddit --network-alias=comment <your-login>/comment:1.0
docker run -d --network=reddit -p 9292:9292 <your-login>/ui:1.0
docker network create back_net --subnet=10.0.2.0/24
docker network create front_net --subnet=10.0.1.0/24
docker run -d --network=front_net -p 9292:9292 --name ui <your-login>/ui:1.0
docker run -d --network=back_net --name comment <your-login>/comment:1.0
docker run -d --network=back_net --name post <your-login>/post:1.0
docker run -d --network=back_net --name mongo_db --network-alias=post_db --network-alias=comment_db mongo:latest
docker network connect front_net post
docker network connect front_net comment

ДЗ №13 Docker контейнеры. Docker под капотом

Что сделано:

1.Установил Docker, Docker-compose, Docker-machine.
2.Успешно проверил работу докер с помошью docker run hello-world
3.Инициализировал консоль яндекс клауд yc init
4.Создал докер-хост
5.Инициализировал окружение докер на докер-хост
6.Написал Докерфайл и конфиги
7.Собрал образ
8.Запустил контейнер
9.Зарегистрировался в докер-хаб
10.Запушил получившийся образ в докер-хаб
11.Проверил работоспособность на локальной машине.

Command list:

 1111  cd dmitriy-kutepow_microservices/
 1112  git branch
 1113  history
 1114  git branch docker-2
 1115  git branch
 1116  git checkot docker-2
 1117  git checkout docker-2
 1118  cd /.ssh/
 1119  cd ~/.ssh/
 1120  ls la
 1121  ls -la
 1122  cd ..
 1123  cd dmitriy-kutepow_microservices/
 1124  yc compute instance create   --name docker-host   --zone ru-central1-a   --network-interface subnet-name=default-ru-central1-a,nat-ip-version=ipv4   --create-boot-disk image-folder-id=standard-images,image-family=ubuntu-1804-lts,size=15   --ssh-key ~/.ssh/ubuntu.pub
 1125  yc compute instance create   --name docker-host   --zone ru-central1-a   --network-interface subnet-name=ru-central1-a,nat-ip-version=ipv4   --create-boot-disk image-folder-id=standard-images,image-family=ubuntu-1804-lts,size=15   --ssh-key ~/.ssh/ubuntu.pub
 1126  yc init
 1127  yc compute instance create   --name docker-host   --zone ru-central1-a   --network-interface subnet-name=default-ru-central1-a,nat-ip-version=ipv4   --create-boot-disk image-folder-id=standard-images,image-family=ubuntu-1804-lts,size=15   --ssh-key ~/.ssh/ubuntu.pub
 1128  docker-machine create   --driver generic   --generic-ip-address=158.160.114.80   --generic-ssh-user ubuntu   --generic-ssh-key ~/.ssh/ubuntu   docker-host
 1129  sudo docker-machine create   --driver generic   --generic-ip-address=158.160.114.80   --generic-ssh-user ubuntu   --generic-ssh-key ~/.ssh/ubuntu   docker-host
 1130  docker-machine -v
 1131  sudo docker-machine -v
 1132  curl -L https://github.com/docker/machine/releases/download/v0.16.1/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine && chmod +x /tmp/docker-machine && sudo cp /tmp/docker-machine /usr/local/bin/docker-machine
 1133  sudo docker-machine -v
 1134  sudo docker-machine create   --driver generic   --generic-ip-address=158.160.114.80   --generic-ssh-user ubuntu   --generic-ssh-key ~/.ssh/ubuntu   docker-host
 1135  sudo docker-machine create   --driver generic   --generic-ip-address=10.128.0.29  --generic-ssh-user ubuntu   --generic-ssh-key ~/.ssh/ubuntu   docker-host
 1136  sudo docker-machine ls
 1137  sudo docker-machine rm docker-host
 1138  sudo docker-machine create   --driver generic   --generic-ip-address=10.128.0.29  --generic-ssh-user ubuntu   --generic-ssh-key ~/.ssh/ubuntu   docker-host
 1139  sudo docker-machine ls
 1140  sudo docker-machine rm docker-host
 1141  sudo docker-machine ls
 1142  yc compute instance create   --name docker-host   --zone ru-central1-a   --network-interface subnet-name=default-ru-central1-a,nat-ip-version=ipv4   --create-boot-disk image-folder-id=standard-images,image-family=ubuntu-1804-lts,size=15   --ssh-key ~/.ssh/ubuntu.pub
 1143  sudo docker-machine create   --driver generic   --generic-ip-address=10.128.0.12  --generic-ssh-user ubuntu   --generic-ssh-key ~/.ssh/ubuntu   docker-host
 1144  sudo docker-machine ls
 1145  sudo docker-machine rm docker-host
 1146  sudo docker-machine create   --driver generic   --generic-ip-address=10.128.0.12  --generic-ssh-user dima   --generic-ssh-key ~/.ssh/ubuntu   docker-host
 1147  sudo docker-machine create   --driver generic   --generic-ip-address=158.160.40.159  --generic-ssh-user ubuntu   --generic-ssh-key ~/.ssh/ubuntu   docker-host
 1148  sudo docker-machine rm docker-host
 1149  sudo docker-machine create   --driver generic   --generic-ip-address=158.160.40.159  --generic-ssh-user ubuntu   --generic-ssh-key ~/.ssh/ubuntu   docker-host
 1150  sudo docker-machine ls
 1151  sudo docker-machine rm docker-host
 1152  yc compute instance create   --name docker-host   --zone ru-central1-a   --network-interface subnet-name=default-ru-central1-a,nat-ip-version=ipv4   --create-boot-disk image-folder-id=standard-images,image-family=ubuntu-1804-lts,size=15   --ssh-key ~/.ssh/ubuntu.pub
 1153  sudo docker-machine create   --driver generic   --generic-ip-address=158.160.108.121  --generic-ssh-user ubuntu   --generic-ssh-key ~/.ssh/ubuntu   docker-host
 1154  sudo docker-machine ls
 1155  sudo docker-machine rm docker-host
 1156  sudo docker-machine create   --driver generic   --generic-ip-address=158.160.108.121  --generic-ssh-user dima   --generic-ssh-key ~/.ssh/ubuntu   docker-host
 1157  sudo docker-machine ls
 1158  sudo docker-machine rm docker-host
 1159  yc compute instance create   --name docker-host   --zone ru-central1-a   --network-interface subnet-name=default-ru-central1-a,nat-ip-version=ipv4   --create-boot-disk image-folder-id=standard-images,image-family=ubuntu-1804-lts,size=15   --ssh-key ~/.ssh/appuser.pub
 1160  sudo docker-machine ls
 1161  sudo docker-machine create   --driver generic   --generic-ip-address=158.160.108.121  --generic-ssh-user appuser   --generic-ssh-key ~/.ssh/appuser   docker-host
 1162  sudo docker-machine ls
 1163  sudo docker-machine rm docker-host
 1164  sudo docker-machine create   --driver generic   --generic-ip-address=158.160.114.208  --generic-ssh-user appuser   --generic-ssh-key ~/.ssh/appuser   docker-host
 1165  sudo docker-machine ls
 1166  sudo docker-machine rm docker-host
 1167  yc compute instance create   --name docker-host   --zone ru-central1-a   --network-interface subnet-name=default-ru-central1-a,nat-ip-version=ipv4   --create-boot-disk image-folder-id=standard-images,image-family=ubuntu-1804-lts,size=15   --ssh-key ~/.ssh/ubuntu.pub
 1168  sudo docker-machine ls
 1169  sudo docker-machine create   --driver generic   --generic-ip-address=158.160.114.208  --generic-ssh-user yc-user  --generic-ssh-key ~/.ssh/ubuntu   docker-host
 1170  sudo docker-machine ls
 1171  sudo docker-machine rm docker-host
 1172  sudo docker-machine create   --driver generic   --generic-ip-address=158.160.118.250 --generic-ssh-user yc-user  --generic-ssh-key ~/.ssh/ubuntu   docker-host
 1173  sudo docker-machine ls
 1174  eval $(docker-machine env docker-host)
 1175  eval $(sudo docker-machine env docker-host)
 1176  sudo docker run --rm -ti tehbilly/htop
 1177  sudo docker run --rm --pid host -ti tehbilly/htop
 1178  cd docker-monolith/
 1179  sudo docker build -t reddit:latest .
 1180  sudo docker images -a
 1181  sudo docker run --name reddit -d --network=host reddit:latest
 1182  sudo docker-machine ls
 1183  sudo docker login
 1184  sudo docker tag reddit:latest dimkutep/otus-reddit:1.0
 1185  sudo docker push dimkutep/otus-reddit:1.0
 1186  sudo docker logs reddit -f
 1187  sudo docker exec -it reddit bash
 1188  sudo docker inspect /otus-reddit:1.0
 1189  sudo docker inspect otus-reddit:1.0
 1190  sudo docker images -a
 1191  sudo docker inspect dimkutep/otus-reddit:1.0
 1192  sudo docker-machine rm docker-host
 1193  sudo yc compute instance delete docker-host
 1194  yc compute instance delete docker-host

About

dmitriy-kutepow microservices repository

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •