ktvGIT microservices repository
Установлен докер Собран образ Создан и запущен контейнер на удаленном хосте Образ сохранен в DockerHub. Объясните чем отличается контейнер от образа добавлено в dockermonolith/docker-1.log
Реализовано Поднятие инстансов с помощью Terraform Создано несколько плейбуков Ansible с использованием динамического инвентори для установки докера и запуска там образа приложения
Создан шаблон пакера, который делает образ с уже установленным Docker
Собраны Docker-образы для сервисного приложения Оптимизирована работа с Docker-образами () Изучен запуск с различными прраметрами -v -е --env () run_all.sh Запуск и работа приложения на основе Docker-образов, оценка удобства запуска контейнеров при помощи
Правильный requirements.txt prometheus_client==0.0.21
pymongo==3.5.1 structlog==17.2.0
py-zipkin==0.13.0 requests==2.18.4
Работа с сетями в Docker Использование docker-compose Разобраться с работой сети в Docker none host bridge
yc-user@docker-host:$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
yc-user@docker-host:$ sudo ip netns
Error: Peer netns reference is invalid.
Error: Peer netns reference is invalid.
d275e5085838
default
yc-user@docker-host:$ sudo ip netns exec default sudo docker run --network none -d nginx
9a9f3f44e9f621861b4f9315b018cf94479814aa6b966b5a1d2489dd7c55bd6d
yc-user@docker-host:$ sudo ip netns
c61209334579
default
yc-user@docker-host:$ sudo ip netns exec default sudo docker run --network host -d nginx
e67a8e3b90519f7d50fae49c77094877ab82554edbe9f38b2756976457378fe0
yc-user@docker-host:$ sudo ip netns
c61209334579
default
yc-user@docker-host:~$
docker network ls NETWORK ID NAME DRIVER SCOPE 5f8bbd0dcb15 back_net bridge local 2bc2c60a2d19 bridge bridge local c2e05d86ad4a front_net bridge local acaeee20a7a9 host host local d7cd12a79c48 none null local f3e608fd624b reddit bridge local
yc-user@docker-host:~$ ifconfig | grep br br-5f8bbd0dcb15: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.0.2.1 netmask 255.255.255.0 broadcast 10.0.2.255 br-c2e05d86ad4a: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255 br-f3e608fd624b: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 172.18.0.1 netmask 255.255.0.0 broadcast 172.18.255.255 inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255 inet 10.128.0.16 netmask 255.255.255.0 broadcast 10.128.0.255
Установить docker-compose на локальную машину Собрать образы приложения reddit с помощью docker-compose Запустить приложение reddit с помощью dockercompose
берется из имени рабочнго каталога docker-compose up -d -p
Подготовить инсталляцию Gitlab CI Подготовить репозиторий с кодом приложения Описать для приложения этапы пайплайна Определить окружения
- Ansible-плейбук (или небольшую роль) по поднятию GitLab в контейнере.
- Запуск reddit в контейнере (по желанию)
- Автоматизация развёртывания GitLab Runner (по желанию)
- Настройка оповещений в Slack (по желанию)
в Project, который мы создали, в Settings -> Integrations -> Slack notifications добавляем Webhook из предварительно добавленного в нужный канал Slack приложения Incoming WebHooks
http://51.250.11.17/help/user/project/integrations/slack Slack notifications service (FREE) The Slack notifications service enables your GitLab project to send events
https://docs.gitlab.com/ee/ci/docker/using_docker_build.html Use Docker to build Docker images
https://hub.docker.com/_/docker/ docker Official Image
Prometheus: запуск, конфигурация, знакомство с Web UI Мониторинг состояния микросервисов Сбор метрик хоста с использованием экспортера
https://hub.docker.com/u/ktv2020
Подготовка окружения Логирование Docker-контейнеров Сбор неструктурированных логов Визуализация логов Сбор структурированных логов Распределенный трейсинг
- Разбор ещё одного формата логов (по желанию) Траблшутинг UI-экспириенса (по желанию) Failed to open TCP connection to post:5000 (getaddrinfo: Temporary failure in name resolution)
Развернуто локальное окружение для работы с Kubernetes в Minikube Развернут Kubernetes в Yandex Cloud Запустить reddit в Kubernetes
- Развернут Kubernetes-кластер в GKE с помощью Terraform модуля -Добавлено для презапуска аввтотеста
Ingress Controller Ingress Secret TLS
- Опишите создаваемый объект Secret в виде Kubernetes-манифеста. https://kubernetes.io/docs/concepts/configuration/secret/ https://shocksolution.com/2018/12/14/creating-kubernetes-secrets-using-tls-ssl-as-an-example/
cat tls.crt | base64 cat tls.key | base64 kubectl create -f sectet-tls.yml
LoadBalancer Service Network Policies PersistentVolumes PersistentVolumeClaims