#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 это под. Как правило в под помещают один основной контейнер и если необходимо вспомогательный. Это удобно с точки зрения масштабирования и помогает при дебаггинге. Контейнеры в поде запускаются одновременно. Полезная команда Важно отметить, что … Читать далее

#3 DevOps. Установка Kubernetes и deploy nginx

Kubernetes — это open-source платформа контейнерной оркестрации. Преимущества:High Availability (HA) — высокая доступность приложения,запущенного в нескольких экземплярахScalability — масштабируемость за счёт быстроты развёртыванияконтейнеров при увеличении нагрузкиDisaster Recovery (DR) — отказоустойчивость за счёт распределённогоколичества серверов кластера В файле config стоит обратить внимание на: Кластер состоит минимум из одной ноды, но для отказоустойчивости, как правило из нескольких. … Читать далее

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, остальное … Читать далее