Подборка статей о Docker, Ansible, Terraform и Prometheus

Мы делаем много контента и знаем, как порой сложно найти хороший и понятный материал, а сохранить его — ещё сложнее. Одно из хороших решений — это делать подборки в Confluence, Note, Google Disk и т.д., но это занимает много времени и сил, а ещё подборка должна быть понятной и структурированной, чтобы было понятно с чего начинать и куда двигаться.

Мы сделали подборку популярных статей из нашего блога за последнее время и разделили её на логические группы, чтобы было удобно читать, хранить в закладках и перемещаться по материалам.

В подборку входят следующие категории материалов:

  1. Основы работы в Linux — хоткейсы, команды, утилиты;
  2. Контейнеризация и Docker — введение и продвинутая работа;
  3. IaC, Ansible и Terraform — введение, основы, практика;
  4. Prometheus и Grafana — установка и настройка.

Статьи внутри категорий расположены в порядке шагов изучения материала, а внутри статей есть ссылки на базу знаний, где приведены краткие технические гайды, с решением конкретных задач. Начнём с основ Linux, а затем углубимся в контейнеризацию, DevOps и IaC.

Основы работы в Linux

Большая часть всей мировой ИТ-инфраструктуры работает на Linux: начиная от серверов, заканчивая сетевым оборудованием уровня L3 и разнообразными устройствами автоматизации. Конечно, в последнем случае Linux на борту этих устройств сильно изменился и взаимодействовать с ним через привычный нам терминал не получится, однако знаний, которые содержатся в следующих статьях достаточно, чтобы уверенно работать на Linux-серверах.

10 команд Linux для начинающих пользователей

Наверняка вы видели, как опытные пользователи Linux буквально в несколько команд решают какие-то сложные задачи, пишут конвейеры из команд, автоматизируют задачи. Выглядит круто, но до этого нужно дойти, мы начнём с малого — с 10 основных команд Linux, которые позволят вам решать большинство повседневных задач.

10 горячих клавиш Linux для начинающих пользователей

Без знания команд в Linux никуда, так же как без навыка владения горячими клавишами. Поверьте, они не раз вас выручат и сэкономят уйму времени при выполнении однотипных действий, таких как: повторный ввод команд, прекращение работы программы, перевод программ в фоновый режим и многое другое.

3 утилиты Linux для работы с удаленным сервером

Знание команд и горячих клавиш бесспорно сильно облегчают работу в Linux и делают её приятной. Однако есть такие задачи, которые можно решить только с помощью программ. Например: подключение к удаленному серверу по SSH с сохранением сессии, удобное редактирование текстовых файлов или вывод содержимого директории в виде дерева. В статье мы подробно разбираем 3 утилиты, которые помогают как раз решить перечисленные задачи.

Теперь, когда мы овладели основами Linux можно двигаться дальше и углубляться в конкретные технологии — познакомимся поближе с контейнеризацией и с Docker.

Docker: введение и продвинутая работа

Docker используется повсеместно в DevOps. Однако несмотря на относительно низкий порог вхождения и хорошую документацию с течением времени вопросов у новичков не становится меньше. Это из-за того, что материалов много, а с чего начинать и куда двигаться — непонятно. Поэтому мы написали цикл статей по Docker так, чтобы можно было двигаться по шагам и сразу получать результат.

YAML для начинающих

На YAML пишутся почти все конфигурационные файлы для IaC-систем. По началу этот язык кажется не структурированным и местами сложным для понимания, однако без него в DevOps никуда. Из статьи вы узнаете о синтаксисе YAML и его основных конструкциях: списках, строках, словарях.

Введение в Docker

Docker — одна из фундаментальных основ всего современного DevOps. В этой статье мы расскажем, что такое Docker, образ, контейнер и Dockerfile. После прочтения вы сможете самостоятельно запустить докер и поднять несколько контейнеров на своём сервере.

Продвинутая работа с Docker

Сегодня у всех на слуху Kubernetes. Штука сложная и применяется преимущественно в Enterprise-решениях для управления кластерами контейнеров. Мы же рассмотрим уровень ниже и взглянем на то, как можно управлять группами контейнеров с помощью Docker Compose.

Если вам интересна история контейнеризации и история развития технологий связанных с ними — рекомендуем ознакомиться с ещё одной нашей статьей. Мы не стали включать её в основную подборку, так как она по большей части описательная.

Что ж мы познакомились с YAML — языком написания конфигурационных файлов, Docker — набором инструментов и средств управления контейнерами и его надстройкой для управления группами контейнеров — Docker Compose. Можно двигаться дальше и познакомится с материалами по работе с инфраструктурой как кодом (IaC).

IaC, Ansible и Terraform

Мы любим IaC за то, что эта концепция позволяет сосредоточиться на задачах разработки и снимает вопросы воспроизведения идентичных и нужных условий окружения в инфраструктуре. В этом разделе будем говорить об Ansible и Terraform: раскроем их основы и приведем реальные боевые примеры использования.

Введение в IaC и знакомство с Ansible

Начнем с того, что такое IaC вообще, какие задачи решает этот подход и как его применять. Затем познакомимся с Ansible и его концепциями, узнаем, что такое Hosts-файл, роли и как Ansible работает.

Работа с Ansible: развертка LEMP на VPS

На боевую разворачиваем классический LEMP-стек на VPS, используя Ansible. В статье всё разложено по шагам: начиная от установки и настройки Ansible, заканчивая написанием Playbook и проверкой развернутого стека.

Основы Terraform: работа и задачи

Ansible позволяет легко и быстро разворачивать софт на хостах, а с помощью Terraform можно создавать серверы на облачных площадках и управлять инфраструктурой. В этой статье мы познакомимся с основами Terraform, узнаем как он устроен, работает и какие задачи решает.

Terraform на практике: управляем vDC

Теория без практики мертва, поэтому в этой статье мы напишем с нуля проект по развертыванию инфраструктуры в виртуальном ЦОДе через Terraform: научимся подключать провайдера для управления виртуальным ЦОДом и напишем инфраструктурный код для развертывания 3 серверов связанных сетью.

Мы уже прошли путь от основ Linux через контейнеры до систем управления инфраструктурой как кодом. Теперь нужно научиться держать это всё под контролем. В этом нам помогут системы мониторинга. В следующем разделе будем говорить о Prometheus и Grafana.

Prometheus и Grafana: установка и настройка

Время — деньги, а время простоя инфраструктуры ещё и репутационные риски, особенно если на вашей стороне расположены клиентские сервисы. Оставаться в курсе всего происходящего с инфраструктурой помогают системы мониторинга, в частности, Prometheus.

Prometheus давно уже стал синонимом слова система мониторинга. Почему? Разберемся в этом разделе и, конечно, научимся работать с Prometheus и системой визуализации данных Grafana. В этот раз пойдём немного иным путем — начнем с Grafana, а потом рассмотрим Prometheus. Так будет проще понять, как это всё работает.

Grafana на VPS: установка и настройка

В этой статье мы применим знания команд Linux и умение работать в Docker. Развернем группу контейнеров с Prometheus и Grafana и посмотрим как работает эта связка в Docker.

Prometheus: мониторинг кластера серверов

Теперь настало время углубиться в детали: развернем Prometheus на сервере в ручном режиме, настроим экспортеры и алерты, разберемся в тонкостях их совместной работы.

Grafana и Prometheus: настройка совместной работы

Теперь когда мы знаем достаточно о том, как работает Grafana и Prometheus можно объединять их в единую систему и экспериментировать с готовыми дашбордами.

Конечно, Prometheus и Grafana не единственная классическая связка для реализации системы мониторинга, есть ещё Zabbix, но нам было интересно рассказать о Prometheus в разрезе работы с Linux, показать некоторые процессы работы изнутри, показать как взаимодействуют элементы системы мониторинга между собой. Насколько хорошо это у нас получилось — решать вам.

Какие материалы выйдут в 2023?

Мы стараемся публиковать в нашем блоге только практические материалы, которые можно брать и использовать на боевую. Поэтому в следующем году мы будем следовать выбранному курсу и продолжим публиковать материалы по CI/CD, DevOps, Rest API и другим темам.

Вот примерный список тем, материалы по которым мы планируем выпускать:

Тематический блок Тема
CI/CD Git: что это, зачем нужен, как использовать
GITHUB: основы и практика
GITHUB Actions: автоматизируем деплой
DevOps Введение в bash
Автоматизация Linux-процессов на bash
Управляем Cloud Director с помощью Ansible
REST API REST API: зачем нужен и как работает
Что такое микросервисы и как они работают
Используем 1cloud API по полной

Конечно, он будет расширяться в зависимости от потребностей наших клиентов и читателей блога. Кстати, если вы хотите увидеть материалы по, какой-то конкретной теме или технологии или, возможно, у вас есть обратная связь по материалам нашего блога — вы можете заполнить форму обратной связи. Мы обязательно прочтем все сообщения и выберем топ-5 тем, по которым выпустим материалы. Замечания и пожелания также не останутся без внимания.

В заключение, мы хотим поблагодарить читателей нашего блога и пожелать в Новом 2023 году успехов во всех начинаниях. С наступающим 2023 годом!