Laconty microservices repository
- Познакомился с докер
- Познакомился основными командами докера
- Создал проект в GCP
- Собрал docker image для reddit приложения
- Запустил docker container в облаке
- Использовал gcp провайдер для docker-machine
- Залил собственный docker-image на docker-hub registry
- Собрал reddit app из разных образов
- Запустил разные образы reddit как микросервисы
- Использовал docker bridge-network
- Запустил разные docker images из прошлого урока с помощью docker-compose.yml
- Использовал environment variables для кастомизации docker-compose
- Задал имя(COMPOSE_PROJECT_NAME)
- Поработал с разными docker network Ответ на вопрос дз: Префикс по умолчанию является директория в которой находится файл docker-compose.yml Чтобы изменить префикс необходимо указать env variable COMPOSE_PROJECT_NAME или аргументов -p при вызове docker-compose
- Запустил gcp инстанс,
- На инстансе скачал докер
- Запустил gitlab с помощью docker-compose
- Настроил CI скрипты на каждый коммит в гитлабе
- Создал CI pipeline
Ссылка на мой докер хаб https://hub.docker.com/u/laconty
- Запустил prometheus в docker container
- Собирал логи из запущенных сервисов с помощью Prometheus
Ссылка на мой докер хаб https://hub.docker.com/u/laconty
- Запустил node-exporter для мониторинга host
- Запустил cadvisor для мониторинга запущенных контейнеров на хосте
- Запустил grafana для отображения логов из prometheus
- Создал dashboard grafana для отображения системных логов, состояния сервисов, и метрики бизнес приложений
- Создал несколько panel для dashboard в grafana для отображения нужных метрик
- Запустил alertmanager для prometheus
- Настроил правило для алертов в alertmanager
- Интегрировал оповещения в слаке для alertmanager
Ссылка на мой докер хаб https://hub.docker.com/u/laconty
- Запустил через docker fluentd для агрегации логов
- Запустил через docker kibana и elasticsearch поиска логов
- Использовал zipking для трейсинга
- Развернуть локальное окружение для работы с Kubernetes
- Развернуть Kubernetes в GKE
- Запустить reddit приложение в Kubernetes
- Создал и использовал PersistentVoumes, PersistentVolumeClaims, StorageClass, Ingress kubernetes объекты
- Управлял Ingress сетью, добавил ssl для балансировщика
- Составил Helm Chart'ы для компонентов (ui, post, comment), взял готовый Chart с MongoDB. Успешно протестировал работу Reddit.
- Поднял дополнительную ноду (bigpool) в GCP
- Поднял GitLab используя готовый Chart
- Создал в GitLab группу и отдельный проект для каждого из компонентов.
- Запушил исходники в репы.
- Добавил .gitlab-ci для каждого проекта
- Успешно протестировал работу CI/CD для каждого проекта
- Поднял кластер k8s
- установлен tiller
- установлен ingress контроллер nginx
- установлен prometheus с настройкой алертменеджера
- созданы таргеты
- установлены приложения
- блоки endpoint-ов разделены на три части: test, staging и production
- установлена grafana для мониторинга метрик приложений. Применен templating
- установлены и настроены для логирования и парсинга elasticsearch, fluentd, kibana