WasaPupkin microservices repository
- Попробовал контейнер hello world
- Посмотрел на команды для вывода списков контейнеров и образов, а так же их запуска. Работа с консолью в контейнере.
- Создал хост и настроили Docker machine
- Создал образ и контейнер с приложением reddit
- Запушил созданный образ на dockerhub
- travis-ci
- Скачал приложение в каталог src
- Создал Dockerfile для каждой части приложения; Скачал последний образ mongo; Собрал образы для каждой части приложения.
- Создал отдельную сеть и запустил в ней все части приложения.
- "Покурил" вопрос оптимизации размера образа.
- Создал раздел для mongo и перезапустил приложение
- "поиграл" с типами сетевых адаптеров для docker.
- Сделал две отдельные сети для разных частей приложения. Запустил приложение.
- Добавил файл docker-compose.yml и запустил приложение
- Задал разные ести в файле docker-compose.yml
- Вынес переменные в .env файл
Имя проекта можно задать при запуске через опцию:
-p, --project-name NAME Specify an alternate project name
(default: directory name)
- Создал VM через web-интерфейс YC. Попробовал запустить через docker-compose. Удалил.
- Добавил terraform и ansible для создания ВМ и развертывание omnibus версии gitlab
- Достал root пароль от gitlab и настроил gitlab
- Создал проект, добавил тестовые пайплайны из задания.
- Добавил и подключил gitlab-runner.
- Добавил в ansible таску для извлечения root пароля.
- Запустил Prometheus в контейнере
- Изучил интерфейс Prometheus
- Собрал свой образ для Prometheus со своим конфигом внутри
- Подключил Prometheus к сервисам
- "Поиграл" с метриками и доступностью сервисов
- Добавил Node exporter. Пересобрал образ с Prometheus
https://hub.docker.com/u/wasapupkindockerhub
- Обновил src приложения и билды образов
- Запустил контейнеры для Fluentd
- Изучил сырые логи контейнера через консоль
- Добавил отправку логов в fluentd
- Посмотрел интерфейс и возможности kibana, добавил фильтры
- Добавил сбор логов c ui
- Добавил и запустил Zipkin
- Добавил манифесты
-
- post-deployment.yml
-
- ui-deployment.yml
-
- comment-deployment.yml
-
- mongo-deployment.yml
- Создал две VM
- Установил docker и kubernetes на обе VM. Добавил их одну как worker ноду.
- Установил calico. Обновил конфигурацию.
- Применил манифесты.
- Повторно развернул проект в кластере k8s в YC
- Настроил NodePort
- Настроил LoadBalancer
- Установил плагин Ingress. Настроил Ingress
- Сгенерировал пару сертификат+ключ и сохранил в secret
- Обновил конфигурацию ingress на прием соединений только по https
- Настроил Network Policy для mongo
- Создал диск и подключил к mongo
- Установил kubectl и Minikube на рабочую машину. Инициализировал локальный кластер.
- Добавил файл с описанием деплойментов и сервисов.
- Запустил локально приложение. В т.ч. в отдельном namespace
- Вручную развернул кластер Kubernetes в YC
- Подключился и запустил приложение в YC