#12 DevOps. Docker. Как сделать свой DockerHub

Пример простого аналога DockerHub для тестовой среды Откроем браузер ip-address:8081 Узнаем наш пароль Жмем Sign In (правый верхний угол) и логинимся — admin и ваш пароль Далее выполним то, что нам предлагает Setup wizard Создадим свой локальный репозиторий В Веб-интерфейсе нажимаем на значок шестеренки и выбираем слева Repositories -> Create repository -> docker (hosted) Задаем … Читать далее

#8 DevOps. Docker. Docker Compose и другие tips & tricks

Рассмотрим как запустить и соединить 2 контейнера на примере MySQL и Adminer Проверим ip_address:8080 Логинимся Нажимаем Войти Для удобства и автоматизации работы с контейнерами в Docker есть удобный инструмент — Docker Compose. Посмотрим как он работает на примере выше Проверим ip_address:8080 Логинимся как в примере выше Как видим запуск через Docker Compose намного удобнее и … Читать далее

#7 DevOps. Как написать свой Dockerfile

Dockerfile можно описать как набор инструкций, которые применяются при сборке образа и запуске контейнера. Рассмотрим пример Dockerfile для запуска простого веб-приложения на Flask Проверим ip_address:5000 Видим приветственное сообщение

#6 DevOps. Docker. Как создать свой образ и закачать на Docker Hub

Чтобы каждый раз не вводить sudo можно добавить нужного пользователя в группу docker. Делая это помните о ИБ Разберем команду Загружаемый образ после проверки отправляется в контейнер. Теперь он доступен при создании нового контейнера Если выйти из командной оболочки, контейнер прекращает свою работу. Пока существует основной процесс — контейнер работает Откроем еще один терминал Создадим … Читать далее

#5 DevOps. Устанавливаем Kubernetes с нуля

Подготовим 4 виртуальные машины на Ubuntu Server 22 На роутере в DNS пропишем доменные имена, чтобы не редактировать все hosts Изменим hostname kube-02 kube-03 kube-04 На всех ВМ Только на master (control) ноде Выполняем на worker нодах Подождем и выполним на master ноде

#4 DevOps. Базовые объекты Kubernetes 

Pod — минимальный объект в K8s с помощью которого мы запускаем приложения. Как пример, в Docker — это контейнер, в K8s это под. Как правило в под помещают один основной контейнер и если необходимо вспомогательный. Это удобно с точки зрения масштабирования и помогает при дебаггинге. Контейнеры в поде запускаются одновременно. Полезная команда Важно отметить, что … Читать далее

SonarQube

SonarQube — это платформа с открытым исходным кодом, предназначенная для непрерывного анализа и измерения качества кода Запустим все через docker Проверим ip_address:9000 Логинимся admin admin, изменим пароль на devops123 (напоминаю о сложных паролях на проде) Так выглядит интерфейс Создадим тестовый проект Create a local project -> Зададим в Project key и Display name — devopsstart … Читать далее

Kestra

Kestra — платформа управления данными (оркестратор) с открытым исходным кодом. Если вас интересует автоматизация — этот инструмент для вас. Установим Зайдем на веб-интерфейс ip_address:8080 Так выглядит главный экран Рассмотрим небольшой пример и создадим наш первый Flow Flows -> Create  Нажимаем Save, затем Execute Важно на что стоит обратить внимание на примере выше Отмечу, что внутри … Читать далее

#2 DevOps. Мониторинг

Рассмотрим установку и работу Prometheus и Grafana Prometheus Проверим ip_address::9090 Grafana Проверим ip_address:3000 Логинимся admin/admin и меняем пароль (мы поставим простой devops123) Home -> Connections -> Data sources -> Add data source -> prometheus В Connection добавляем ip_address:9090 Нажимаем Save & test Node exporter Проверим ip_address:9100/targets Создадим Dashboard для Grafana Home -> Dashboards -> Create … Читать далее

#1 DevOps. Основы

Начнем с установки рабочего окружения. Что будет в нашей инфраструктуре? После установки ОС сразу делаем snapshot, чтобы если что-то пошло не так, не пришлось переустанавливать (иногда вместо snapshot делают clone, но это дольше и скорее как вариант масштабирования). Далее в Gitlab создадим репозиторий. Create new project -> Create blank project Задаем имя, например devopsstart, остальное … Читать далее