HTML Diff
1 added 1 removed
Original 2026-01-01
Modified 2026-02-19
1 <ul><li>/</li>
1 <ul><li>/</li>
2 <li>/</li>
2 <li>/</li>
3 </ul><p>Ansible<strong></strong> • 10 мая 2025 • 10 мин чтения</p>
3 </ul><p>Ansible<strong></strong> • 10 мая 2025 • 10 мин чтения</p>
4 <p>Terraform и Ansible - два мощных инструмента в арсенале DevOps-инженера. Они часто соседствуют в одном проекте, но выполняют разные задачи. Terraform отвечает за создание и изменение инфраструктуры - от облачных машин до сетевых настроек. Ansible - за конфигурацию, установку ПО и оркестрацию. Многие путают эти инструменты, считая их взаимозаменяемыми, но это не так.</p>
4 <p>Terraform и Ansible - два мощных инструмента в арсенале DevOps-инженера. Они часто соседствуют в одном проекте, но выполняют разные задачи. Terraform отвечает за создание и изменение инфраструктуры - от облачных машин до сетевых настроек. Ansible - за конфигурацию, установку ПО и оркестрацию. Многие путают эти инструменты, считая их взаимозаменяемыми, но это не так.</p>
5 <p>В статье разберёмся, в чём разница между Terraform и Ansible, как они могут дополнять друг друга и как их совместное использование ускоряет и упрощает управление инфраструктурой. Кстати научиться создавать, использовать плейбуки и роли, освоить деплой приложений, получить навыки автоматизации процессов управления IT-инфраструктурой можно на курсе<a>"Ansible: Infrastructure as Code"</a>.</p>
5 <p>В статье разберёмся, в чём разница между Terraform и Ansible, как они могут дополнять друг друга и как их совместное использование ускоряет и упрощает управление инфраструктурой. Кстати научиться создавать, использовать плейбуки и роли, освоить деплой приложений, получить навыки автоматизации процессов управления IT-инфраструктурой можно на курсе<a>"Ansible: Infrastructure as Code"</a>.</p>
6 <h2>Terraform vs Ansible: в чем разница</h2>
6 <h2>Terraform vs Ansible: в чем разница</h2>
7 <p>Terraform и Ansible - это инструменты автоматизации, но цели у них разные. Чтобы понять разницу между ними, представьте, что вы строите дом. Terraform управляет инфраструктурой, - это архитектор и строитель, который закладывает фундамент, возводит стены и проводит коммуникации. Ansible отвечает за конфигурации - это тот, кто приходит после и расставляет мебель, подключает технику и настраивает бытовую технику.</p>
7 <p>Terraform и Ansible - это инструменты автоматизации, но цели у них разные. Чтобы понять разницу между ними, представьте, что вы строите дом. Terraform управляет инфраструктурой, - это архитектор и строитель, который закладывает фундамент, возводит стены и проводит коммуникации. Ansible отвечает за конфигурации - это тот, кто приходит после и расставляет мебель, подключает технику и настраивает бытовую технику.</p>
8 <h3><strong>Terraform - декларативная модель и управление инфраструктурой</strong></h3>
8 <h3><strong>Terraform - декларативная модель и управление инфраструктурой</strong></h3>
9 - <p>Terraform работает по декларативному принципу: вы описываете, что должно быть, а не как это сделать. Сценарии здесь называются манифестами, написанными на HashiCorp Configuration Language (HCL). Основная задача - создать и поддерживать инфраструктуру в нужном состоянии. Пример: вы указываете, что нужен сервер в AWS с определёнными параметрами - Terraform сам создаёт его с помощью провайдера (например, AWS, Azure, GCP и др.).</p>
9 + <p>Terraform работает по декларативному принципу: в описываете, что должно быть, а не как это сделать. Сценарии здесь называются манифестами, написанными на HashiCorp Configuration Language (HCL). Основная задача - создать и поддерживать инфраструктуру в нужном состоянии. Пример: вы указываете, что нужен сервер в AWS с определёнными параметрами - Terraform сам создаёт его с помощью провайдера (например, AWS, Azure, GCP и др.).</p>
10 <p><strong>Ключевая особенность</strong><strong>- идемпотентность:</strong>повторный запуск terraform apply не приводит к повторному созданию ресурсов, если они уже соответствуют описанию. Это повышает надёжность и предсказуемость процесса.</p>
10 <p><strong>Ключевая особенность</strong><strong>- идемпотентность:</strong>повторный запуск terraform apply не приводит к повторному созданию ресурсов, если они уже соответствуют описанию. Это повышает надёжность и предсказуемость процесса.</p>
11 <p><strong>На курсе от Слёрма<a>"</a><a>Terraform База</a><a>"</a>вы научитесь пользоваться Terraform и поддерживать код.</strong></p>
11 <p><strong>На курсе от Слёрма<a>"</a><a>Terraform База</a><a>"</a>вы научитесь пользоваться Terraform и поддерживать код.</strong></p>
12 <h3><strong>Ansible - императивная модель и управление конфигурацией</strong></h3>
12 <h3><strong>Ansible - императивная модель и управление конфигурацией</strong></h3>
13 <p>Ansible - это инструмент управления конфигурациями. Он использует императивный подход: вы указываете пошагово, что нужно сделать. Для этого применяются playbooks, которые содержат инструкции: установить пакеты, запустить сервис, изменить конфигурационный файл. Ansible подключается к целевым серверам по SSH, использует YAML-файлы и не требует установки агентов.</p>
13 <p>Ansible - это инструмент управления конфигурациями. Он использует императивный подход: вы указываете пошагово, что нужно сделать. Для этого применяются playbooks, которые содержат инструкции: установить пакеты, запустить сервис, изменить конфигурационный файл. Ansible подключается к целевым серверам по SSH, использует YAML-файлы и не требует установки агентов.</p>
14 <p>В отличие от Terraform, Ansible отлично работает с уже существующими машинами. Его сценарии гибче, но могут быть менее предсказуемыми, особенно если не настроены корректно проверки текущего состояния.</p>
14 <p>В отличие от Terraform, Ansible отлично работает с уже существующими машинами. Его сценарии гибче, но могут быть менее предсказуемыми, особенно если не настроены корректно проверки текущего состояния.</p>
15 <h3>Сравнение подходов</h3>
15 <h3>Сравнение подходов</h3>
16 <p><strong>Характеристика</strong></p>
16 <p><strong>Характеристика</strong></p>
17 <p><strong>Terraform</strong></p>
17 <p><strong>Terraform</strong></p>
18 <p><strong>Ansible</strong></p>
18 <p><strong>Ansible</strong></p>
19 <p>Подход</p>
19 <p>Подход</p>
20 <p>Декларативный</p>
20 <p>Декларативный</p>
21 <p>Императивный</p>
21 <p>Императивный</p>
22 <p>Язык</p>
22 <p>Язык</p>
23 <p>HCL</p>
23 <p>HCL</p>
24 <p>YAML</p>
24 <p>YAML</p>
25 <p>Область применения</p>
25 <p>Область применения</p>
26 <p>Инфраструктура (IaaS, PaaS)</p>
26 <p>Инфраструктура (IaaS, PaaS)</p>
27 <p>Конфигурация ПО, оркестрация</p>
27 <p>Конфигурация ПО, оркестрация</p>
28 <p>Идемпотентность</p>
28 <p>Идемпотентность</p>
29 <p>Встроена</p>
29 <p>Встроена</p>
30 <p>Требует ручной настройки</p>
30 <p>Требует ручной настройки</p>
31 <p>Подключение к хостам</p>
31 <p>Подключение к хостам</p>
32 <p>Нет (работает с API облаков)</p>
32 <p>Нет (работает с API облаков)</p>
33 <p>Через SSH</p>
33 <p>Через SSH</p>
34 <p>Состояние системы</p>
34 <p>Состояние системы</p>
35 <p>Отслеживает (terraform state)</p>
35 <p>Отслеживает (terraform state)</p>
36 <p>Не сохраняет (если не настроено)</p>
36 <p>Не сохраняет (если не настроено)</p>
37 <p>Провайдеры (terraform ansible provider)</p>
37 <p>Провайдеры (terraform ansible provider)</p>
38 <p>Поддерживаются из коробки</p>
38 <p>Поддерживаются из коробки</p>
39 <p>Требует плагинов и скриптов</p>
39 <p>Требует плагинов и скриптов</p>
40 <h3>Зачем понимать различие?</h3>
40 <h3>Зачем понимать различие?</h3>
41 <p>Если вы планируете автоматизировать развертывание серверов в облаке, Terraform будет первым инструментом в цепочке. А если вам нужно накатить настройки и приложения - Ansible. Инструменты решают разные задачи, и понимание их различий позволяет выстраивать более стабильные и предсказуемые CI/CD-пайплайны.</p>
41 <p>Если вы планируете автоматизировать развертывание серверов в облаке, Terraform будет первым инструментом в цепочке. А если вам нужно накатить настройки и приложения - Ansible. Инструменты решают разные задачи, и понимание их различий позволяет выстраивать более стабильные и предсказуемые CI/CD-пайплайны.</p>
42 <p>Они не конкурируют, а дополняют друг друга. Вместо спора "Terraform vs Ansible", лучше спросить: как их грамотно объединить, чтобы ускорить рабочие процессы?</p>
42 <p>Они не конкурируют, а дополняют друг друга. Вместо спора "Terraform vs Ansible", лучше спросить: как их грамотно объединить, чтобы ускорить рабочие процессы?</p>
43 <p>Приглашаем в наше телеграм-сообщество, где делимся лучшими статьями с Хабра по рекомендациям и практикам работы с Ansible.</p>
43 <p>Приглашаем в наше телеграм-сообщество, где делимся лучшими статьями с Хабра по рекомендациям и практикам работы с Ansible.</p>
44 <p><strong>Все полезные материалы по Ansible в одном месте</strong></p>
44 <p><strong>Все полезные материалы по Ansible в одном месте</strong></p>
45 <h2>Интеграция Terraform и Ansible</h2>
45 <h2>Интеграция Terraform и Ansible</h2>
46 <p>Чтобы получить максимум от автоматизации, эти инструменты стоит использовать совместно. Один создаёт ресурсы, второй настраивает их. Вместе они позволяют выстроить полный CI/CD-конвейер - от развёртывания до конфигурации. Рассмотрим, как связать их на практике.</p>
46 <p>Чтобы получить максимум от автоматизации, эти инструменты стоит использовать совместно. Один создаёт ресурсы, второй настраивает их. Вместе они позволяют выстроить полный CI/CD-конвейер - от развёртывания до конфигурации. Рассмотрим, как связать их на практике.</p>
47 <h3>Сценарий взаимодействия</h3>
47 <h3>Сценарий взаимодействия</h3>
48 <p>Один из распространённых кейсов - Terraform разворачивает виртуальные машины, а Ansible подключается к ним по SSH для настройки окружения. Для этого Terraform должен передать Ansible информацию о созданных хостах: IP-адреса, ключи доступа и т. д.В Terraform можно использовать провиженеры. Один из них - local-exec, который запускает локальные команды после применения изменений:</p>
48 <p>Один из распространённых кейсов - Terraform разворачивает виртуальные машины, а Ansible подключается к ним по SSH для настройки окружения. Для этого Terraform должен передать Ansible информацию о созданных хостах: IP-адреса, ключи доступа и т. д.В Terraform можно использовать провиженеры. Один из них - local-exec, который запускает локальные команды после применения изменений:</p>
49 <p>provisioner "local-exec" { command = "ansible-playbook -i ${self.public_ip}, playbook.yml --private-key ~/.ssh/id_rsa"}</p>
49 <p>provisioner "local-exec" { command = "ansible-playbook -i ${self.public_ip}, playbook.yml --private-key ~/.ssh/id_rsa"}</p>
50 <p>Здесь ${self.public_ip} - это IP-адрес созданной машины. После завершения terraform apply запускается ansible-playbook, который подключается к новому серверу и разворачивает нужные компоненты.</p>
50 <p>Здесь ${self.public_ip} - это IP-адрес созданной машины. После завершения terraform apply запускается ansible-playbook, который подключается к новому серверу и разворачивает нужные компоненты.</p>
51 <h3>Пример рабочей схемы</h3>
51 <h3>Пример рабочей схемы</h3>
52 <ol><li><strong>Terraform</strong>создаёт виртуальные машины в облаке (например, AWS, Yandex Cloud или DigitalOcean).</li>
52 <ol><li><strong>Terraform</strong>создаёт виртуальные машины в облаке (например, AWS, Yandex Cloud или DigitalOcean).</li>
53 <li>Через terraform output извлекаются нужные переменные (IP-адреса, пути к ключам).</li>
53 <li>Через terraform output извлекаются нужные переменные (IP-адреса, пути к ключам).</li>
54 </ol><p>Эти данные передаются в<strong>Ansible inventory:</strong></p>
54 </ol><p>Эти данные передаются в<strong>Ansible inventory:</strong></p>
55 <p>terraform output -json &gt; tf_output.json./generate_inventory.py tf_output.json &gt; inventory.ini</p>
55 <p>terraform output -json &gt; tf_output.json./generate_inventory.py tf_output.json &gt; inventory.ini</p>
56 <ol><li><strong>Ansible</strong>с этим inventory.ini запускает ansible-playbook и настраивает серверы.</li>
56 <ol><li><strong>Ansible</strong>с этим inventory.ini запускает ansible-playbook и настраивает серверы.</li>
57 </ol><p>Это можно автоматизировать в одном пайплайне, добавив local-exec в Terraform или написав обёртку-скрипт.</p>
57 </ol><p>Это можно автоматизировать в одном пайплайне, добавив local-exec в Terraform или написав обёртку-скрипт.</p>
58 <h3>Передача переменных и ключей</h3>
58 <h3>Передача переменных и ключей</h3>
59 <p>Чтобы Ansible получил доступ, нужно передать private key и задать пользователя. Это делается через параметры команды:</p>
59 <p>Чтобы Ansible получил доступ, нужно передать private key и задать пользователя. Это делается через параметры команды:</p>
60 <p>ansible-playbook -i inventory.ini playbook.yml \--private-key ~/.ssh/id_rsa \-u ubuntu</p>
60 <p>ansible-playbook -i inventory.ini playbook.yml \--private-key ~/.ssh/id_rsa \-u ubuntu</p>
61 <p>Или прописывается в ansible.cfg.</p>
61 <p>Или прописывается в ansible.cfg.</p>
62 <h3>Пример из практики</h3>
62 <h3>Пример из практики</h3>
63 <p>В проектах с Kubernetes часто используют Terraform для развёртывания кластеров, а Ansible - для установки компонентов: kubelet, контейнерных рантаймов, ingress-контроллеров. Такой подход упрощает поддержку: инфраструктура создаётся один раз, а плейбуки можно переиспользовать и дорабатывать без пересоздания хостов.</p>
63 <p>В проектах с Kubernetes часто используют Terraform для развёртывания кластеров, а Ansible - для установки компонентов: kubelet, контейнерных рантаймов, ingress-контроллеров. Такой подход упрощает поддержку: инфраструктура создаётся один раз, а плейбуки можно переиспользовать и дорабатывать без пересоздания хостов.</p>
64 <p>Совместное применение Terraform и Ansible делает инфраструктуру управляемой, масштабируемой и более надёжной. И что важно - такой подход легко автоматизируется, что снижает вероятность ошибок и повышает скорость поставки. Узнайте, как грамотно использовать этот тандем - на курсе<a>"Ansible: Infrastructure as Code"</a>.</p>
64 <p>Совместное применение Terraform и Ansible делает инфраструктуру управляемой, масштабируемой и более надёжной. И что важно - такой подход легко автоматизируется, что снижает вероятность ошибок и повышает скорость поставки. Узнайте, как грамотно использовать этот тандем - на курсе<a>"Ansible: Infrastructure as Code"</a>.</p>
65 <h2>Преимущества совместного использования + примеры</h2>
65 <h2>Преимущества совместного использования + примеры</h2>
66 <p>Когда Terraform и Ansible работают в связке, DevOps-команды получают мощный инструмент управления: от создания серверов до их полной настройки. Это не просто удобство - это ускорение процессов, сокращение числа ошибок и упрощение масштабирования.</p>
66 <p>Когда Terraform и Ansible работают в связке, DevOps-команды получают мощный инструмент управления: от создания серверов до их полной настройки. Это не просто удобство - это ускорение процессов, сокращение числа ошибок и упрощение масштабирования.</p>
67 <h3>Преимущества интеграции</h3>
67 <h3>Преимущества интеграции</h3>
68 <ol><li><strong>Автоматизация от начала до конца.</strong>Terraform создаёт инфраструктуру, Ansible настраивает её. Всё в одном пайплайне, без ручного вмешательства.</li>
68 <ol><li><strong>Автоматизация от начала до конца.</strong>Terraform создаёт инфраструктуру, Ansible настраивает её. Всё в одном пайплайне, без ручного вмешательства.</li>
69 <li><strong>Гибкость и масштабируемость.</strong>Нужно добавить 10 серверов? Обновить nginx на всех? Пара команд - и всё готово.</li>
69 <li><strong>Гибкость и масштабируемость.</strong>Нужно добавить 10 серверов? Обновить nginx на всех? Пара команд - и всё готово.</li>
70 <li><strong>Повышение надёжности.</strong>Меньше ручных действий - меньше человеческих ошибок.</li>
70 <li><strong>Повышение надёжности.</strong>Меньше ручных действий - меньше человеческих ошибок.</li>
71 <li><strong>Чёткое разделение обязанностей.</strong>Один инструмент - одна задача. Это делает код чище, а поддержку - проще.</li>
71 <li><strong>Чёткое разделение обязанностей.</strong>Один инструмент - одна задача. Это делает код чище, а поддержку - проще.</li>
72 <li><strong>Универсальность</strong>. Можно комбинировать любые облака и платформы, от AWS до Proxmox.</li>
72 <li><strong>Универсальность</strong>. Можно комбинировать любые облака и платформы, от AWS до Proxmox.</li>
73 </ol><h3>Практический кейс: развёртывание веб-сервиса</h3>
73 </ol><h3>Практический кейс: развёртывание веб-сервиса</h3>
74 <p><strong>Сценарий</strong>: необходимо развернуть веб-приложение на базе Ubuntu, с Nginx, Docker и PostgreSQL.</p>
74 <p><strong>Сценарий</strong>: необходимо развернуть веб-приложение на базе Ubuntu, с Nginx, Docker и PostgreSQL.</p>
75 <p><strong>Решение</strong>:</p>
75 <p><strong>Решение</strong>:</p>
76 <ol><li><strong>Terraform</strong>:</li>
76 <ol><li><strong>Terraform</strong>:</li>
77 </ol><ul><li>создаёт виртуальную машину,</li>
77 </ol><ul><li>создаёт виртуальную машину,</li>
78 <li>настраивает сеть и фаервол,</li>
78 <li>настраивает сеть и фаервол,</li>
79 <li>отдаёт публичный IP и ключи.</li>
79 <li>отдаёт публичный IP и ключи.</li>
80 </ul><p>output "web_ip" { value = aws_instance.web.public_ip}</p>
80 </ul><p>output "web_ip" { value = aws_instance.web.public_ip}</p>
81 <ol><li><strong>Ansible</strong>:</li>
81 <ol><li><strong>Ansible</strong>:</li>
82 </ol><ul><li>подключается к машине,</li>
82 </ol><ul><li>подключается к машине,</li>
83 <li>устанавливает Docker, Nginx, PostgreSQL,</li>
83 <li>устанавливает Docker, Nginx, PostgreSQL,</li>
84 <li>разворачивает контейнер с приложением.</li>
84 <li>разворачивает контейнер с приложением.</li>
85 </ul><p>- hosts: all become: true tasks: - name: Install Docker apt: name: docker.io state: present - name: Deploy app container docker_container: name: myapp image: myrepo/app:latest ports: - "80:80"</p>
85 </ul><p>- hosts: all become: true tasks: - name: Install Docker apt: name: docker.io state: present - name: Deploy app container docker_container: name: myapp image: myrepo/app:latest ports: - "80:80"</p>
86 <p>В результате - рабочее приложение, развёрнутое полностью автоматически.</p>
86 <p>В результате - рабочее приложение, развёрнутое полностью автоматически.</p>
87 <p><strong>Получите ключевые знания и навыки по Ansible!</strong>Дарим демодоступ к обучению на 3 дня, чтобы вы познакомились с материалами и спикерами курса.</p>
87 <p><strong>Получите ключевые знания и навыки по Ansible!</strong>Дарим демодоступ к обучению на 3 дня, чтобы вы познакомились с материалами и спикерами курса.</p>
88 <h3><strong>Пример для Kubernetes</strong></h3>
88 <h3><strong>Пример для Kubernetes</strong></h3>
89 <p>Многие компании используют связку Terraform + Ansible при построении кластеров Kubernetes:</p>
89 <p>Многие компании используют связку Terraform + Ansible при построении кластеров Kubernetes:</p>
90 <ul><li><strong>Terraform</strong>разворачивает хосты и задаёт параметры виртуализации.</li>
90 <ul><li><strong>Terraform</strong>разворачивает хосты и задаёт параметры виртуализации.</li>
91 <li><strong>Ansible</strong>устанавливает kubeadm, Docker и конфигурирует кластер с помощью ansible playbook.</li>
91 <li><strong>Ansible</strong>устанавливает kubeadm, Docker и конфигурирует кластер с помощью ansible playbook.</li>
92 </ul><p>Такой подход масштабируется, легко воспроизводим и понятен другим специалистам.</p>
92 </ul><p>Такой подход масштабируется, легко воспроизводим и понятен другим специалистам.</p>
93 <h3><strong>Переход от экспериментов к продакшену</strong></h3>
93 <h3><strong>Переход от экспериментов к продакшену</strong></h3>
94 <p>Совместное использование Terraform и Ansible позволяет превратить "игрушечные" инфраструктуры в надёжные продакшн-окружения. Вместо "крутил руками - всё сломалось", появляется стабильная автоматизация: изменил один YAML или HCL - получил предсказуемый результат.</p>
94 <p>Совместное использование Terraform и Ansible позволяет превратить "игрушечные" инфраструктуры в надёжные продакшн-окружения. Вместо "крутил руками - всё сломалось", появляется стабильная автоматизация: изменил один YAML или HCL - получил предсказуемый результат.</p>
95 <p>В середине этого пути - обучение.</p>
95 <p>В середине этого пути - обучение.</p>
96 <h2>Вывод</h2>
96 <h2>Вывод</h2>
97 <p>Terraform и Ansible - не конкуренты, а союзники. Вместе они закрывают все задачи DevOps: от создания инфраструктуры до детальной настройки приложений. Terraform даёт предсказуемость, Ansible - гибкость. Их интеграция помогает минимизировать ручной труд, ускорить релизы и снизить количество ошибок.</p>
97 <p>Terraform и Ansible - не конкуренты, а союзники. Вместе они закрывают все задачи DevOps: от создания инфраструктуры до детальной настройки приложений. Terraform даёт предсказуемость, Ansible - гибкость. Их интеграция помогает минимизировать ручной труд, ускорить релизы и снизить количество ошибок.</p>
98 <p>Если вы только начинаете автоматизировать инфраструктуру, начните с понимания ключевой разницы между Terraform и Ansible, а затем объедините их.</p>
98 <p>Если вы только начинаете автоматизировать инфраструктуру, начните с понимания ключевой разницы между Terraform и Ansible, а затем объедините их.</p>
99 <p>Для этого не нужно быть архитектором облаков. Достаточно освоить базовые принципы и потренироваться на небольших проектах. Дальше всё пойдёт быстрее.</p>
99 <p>Для этого не нужно быть архитектором облаков. Достаточно освоить базовые принципы и потренироваться на небольших проектах. Дальше всё пойдёт быстрее.</p>
100 <p><strong>Если вы хотите перейти от ручного администрирования к полноценной IaC-практике, начните с курса<a>"Ansible: Infrastructure as Code"</a>, а затем прокачайте навыки на практике.</strong></p>
100 <p><strong>Если вы хотите перейти от ручного администрирования к полноценной IaC-практике, начните с курса<a>"Ansible: Infrastructure as Code"</a>, а затем прокачайте навыки на практике.</strong></p>
101 <p>Это инвестиция, которая окупается быстро. Даже одна автоматизированная задача экономит часы. А в масштабе проекта - дни и недели. Терраформируйте инфраструктуру и настраивайте её Ansible - просто, логично, эффективно.</p>
101 <p>Это инвестиция, которая окупается быстро. Даже одна автоматизированная задача экономит часы. А в масштабе проекта - дни и недели. Терраформируйте инфраструктуру и настраивайте её Ansible - просто, логично, эффективно.</p>
102 <h3><strong>Статью подготовили</strong></h3>
102 <h3><strong>Статью подготовили</strong></h3>
103 <p>Понравилась статья? Будем рады вашему лайку и репосту - вдруг кому-то тоже пригодится:)</p>
103 <p>Понравилась статья? Будем рады вашему лайку и репосту - вдруг кому-то тоже пригодится:)</p>
104 <h3><strong>Читайте также:</strong></h3>
104 <h3><strong>Читайте также:</strong></h3>
105  
105