, Ansible для практической автоматизации

Ansible для практической автоматизации

Гиниш Мэйдаппэйрамбат

 

Первая публикация на английском языке: Сентябрь 2022

Ссылка на продукт: 1020922

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

При подготовке этой книги были предприняты все усилия чтобы гарантировать точность представленной информации. Тем не менее, информация, содержащаяся в этой книге, продаётся без гарантии в явном или неявном виде. Ни авторы, ни Packt Publishing, ни их дилеры и дистрибьюторы не будут нести ответственность за любые убытки, вызванные или предположительно вызванные прямо или косвенно этой книгой.

Packt Publishing пыталась предоставить информацию о товарных знаках обо всех компаниях и продуктов, упомянутых в данной книге для надлежащего использования капиталов. Тем не менее, Packt Publishing не может гарантировать точность этой информации.

Опубликовано Packt Publishing Ltd.

Livery Place

35 Livery Street

Birmingham B3 2PB, UK

ISBN 978-1-80323-541-7

www.packtpub.com

2022-10-15

 Состав исполнителей

Автор
Гиниш Мэйдаппэйрамбат
Управляющий группой продуктов
Райль Найр
Управляющий издания продукта
Миита Рэйджэйни
Старший редактор разработки содержимого
Саяли Пингале
Технический редактор
Шрутхи Шетти
Литературный редактор
Safis Editing
Координатор проекта
Нейл Дмелло
Корректор
Safis Editing
Составитель указателя
Химанджини Бейри
Координатор по маркетингу
Нимиша Дуа
Старший координатор по маркетингу
Санджана Гупта

Как всегда, моей жене Дипти за поддержку и мотивацию. Моему сыну Абхаю за то, что он позволил мне не уделять время игре с ним, чтобы написать эту книгу. Моим родителям и всегда поддерживающим друзьям за их мотивацию и помощь.

Гиниш Мэйдаппэйрамбат

 Об авторе

Гиниш Мэйдаппэйрамбат обладает более чем 15-летним опытом управления ИТ-услугами и консультирования, а также навыками планирования, развёртывания и поддержки проектов на базе Linux.

Он проектировал, разрабатывал и внедрял решения по автоматизации на основе Ansible и Ansible Automation Platform (ранее Ansible Tower) для построения "голых" и виртуальных серверов, установки исправлений, управления контейнерами, работы с сетевой средой и персонального мониторинга. Гиниш координирует, проектирует и развёртывает серверы в центрах обработки данных по всему миру и имеет межэтнический опыт работы в классическом, частном облаке (OpenStack и VMware) и в общедоступных облачных средах (AWS, Azure и Google Cloud Platform).

Гиниш выполнял множество ролей, таких как системный инженер, специалист по автоматизации, дизайнер инфраструктуры и автор содержимого. Основное внимание он уделяет автоматизации ИТ и приложений с применением Ansible, контейнеризации с использованием OpenShift (и Kubernetes) и автоматизации инфраструктуры при помощи Terraform.

 О рецензенте

Виджай Джадхав — архитектор решений из Мумбаи, Индия, с более чем двадцатилетним опытом работы на различных должностях в ИТ-индустрии. Последние 10 лет он работал в качестве малого и среднего бизнеса в сфере облачных вычислений, разрабатывая облачные приложения с применением архитектуры на основе микрослужб, а также автоматизируя предоставление и отмену предоставления облачных ресурсов при помощи инструментов IaaC, таких как Ansible и Terraform. В настоящее время он работает облачным архитектором в Cisco, продвигая инновации и внедряя технологии нового поколения.

Виджай — муж и отец 8-летнего сына. Свободное время (если такое вообще существует) он проводит за просмотром популярных фильмов и веб-сериалов на платформах OTT.

Шон Кавано — старший главный управляющий по техническому маркетингу Red Hat Ansible Automation Platform, где он обладает более чем 12-летним опытом построения и автоматизации компьютерных сетей. Ранее Шон работал как в Cumulus Networks (приобретённой Nvidia), так и в Cisco Systems, где помогал клиентам развёртывать, управлять и автоматизировать их сетевые инфраструктуры. Он проживает в Чапел-Хилл, Северная Каролина, со своей женой и детьми и твитами от @IpvSean.

Я бы хотел поблагодарить свою жену, которая действительно является моим партнёром. У неё есть собственные карьера и объём работы вне ИТ-индустрии, но она всегда стремится помочь мне добиться успеха во всех моих начинаниях. У меня была действительно захватывающая карьера, я работал с очень умными людьми, которые постоянно бросают мне вызов и делают меня лучше. Спасибо всем моим бывшим и настоящим коллегам, которые помогали мне на моем пути.

Шриджит Анужан — специалист по облачным технологиям с более чем 15-летним опытом работы с решениями для локальных центров обработки данных и 10-летним опытом работы с поставщиками общедоступных облачных служб. Ему нравится работать с клиентами над их планами поддержки, чтобы повысить квалификацию технической команды по контейнерам и инструментам автоматизации. В своей нынешней роли главного инструктора в Red Hat Шриджит отвечает за разработку и проведение индивидуальных и специализированных технологических курсов и семинаров для стратегических клиентов в Азиатско-Тихоокеанском регионе.

Я хотел бы выразить свою благодарность общественным волонтёрам свободно распространяемого программного обеспечения и открытого исходного кода, которые до сих пор помогали мне в моём путешествии. Чувство сотрудничества и свободный вклад — две ценности, которые заставляют меня дорожить тем, что я являюсь частью этих сообществ. Огромное спасибо моей семье, особенно моей жене за то, что она поддерживала наших детей, пока я путешествовал по Азиатско-Тихоокеанскому региону в связи со своими профессиональными обязанностями!

 www.PacktPub.com

 Предисловие

Автоматизация выполняет ключевую роль в модернизации ИТ, а применение верного инструмента автоматизации для организаций является важным шагом на пути к самой автоматизации. Ansible — это программное обеспечение для автоматизации с открытым исходным кодом, которое можно применять для автоматизации большинства операций с компонентами ИТ-инфраструктуры и приложений, включая серверы, хранилища, сетевые среды и платформы приложений. На данный момент Ansible является одним из самых известных инструментов автоматизации с открытым исходным кодом в мире ИТ и обладает сильной поддержкой сообщества с более чем 5000 активных участников по всему миру.

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

Вы изучите реальные примеры применения автоматизации ИТ на практических образцах, таких как простые системные отчёты, сканирование системы безопасности и еженедельная перезагрузка компьютеров Linux. После этого книга научит вас, как реализовать совместную работу в автоматизации Ansible и как автоматизировать прочие устройства и платформы, такие как Microsoft Windows, сетевые устройства, VMware, AWS и GCP. Вы также ознакомитесь с тем, как использовать Ansible в рабочем процессе DevOps с интеграцией Jenkins и управлением контейнерами и приложениями в Kubernetes. Чтобы ещё больше расширить ваши знания об автоматизации предприятия, книга также расскажет вам о Red Hat Ansible Automation Platform, управлении секретами и интеграцией Ansible с прочими инструментами, такими как Jira и ServiceNow. В этой книге имеются главы, посвящённые автоматизации не поддерживаемых устройств и платформ с помощью необработанных команд и вызовов API через Ansible. Прежде чем книга достигнет своего конца, вы также изучите наилучшие практические приёмы Ansible для хранения сведений об управляемых узлах, переменных, учётных данных и сборников сценариев для производственных сред.

По завершению Ansible для практической автоматизации вы получите навыки поиска сценариев применения автоматизации в вашей рабочей среде, а также для разработки и развёртывания решений автоматизации при помощи Ansible.

 Для кого эта книга

Данная книга предназначена для системных инженеров и инженеров DevOps, которые хотят пользоваться Ansible в качестве инструмента автоматизации. Книга содержит ссылки и практические примеры для начала автоматизации ИТ в вашей рабочей среде.

 Что охватывает эта книга

Глава 1. Автоматизация Ansible - введение снабжает вас введением в Ansible и обучает вас как устанавливать и настраивать Ansible, а также конфигурировать управляемые узлы.

Глава 2. Начинаем с простой автоматизации обучает вас тому как выявлять выполняемые вручную задачи под автоматизацию, находить подходящие модули Ansible и применять текстовый редактор для Ansible.

Глава 3. Автоматизация ваших ежедневных заданий это глава, в которой вы начнёте разрабатывать плейбуки Ansible для вариантов реального применения, например, сбор системных сведений, перезапуск систем, а также сканирование безопасности. Вы также обучитесь тому что такое подборки Ansible, секреты Ansible и уведомления автоматизации.

Глава 4. Изучение сотрудничества в области автоматизации научит вас важности контроля версии в автоматизации ИТ и наилучшим практическим приёмам использования управления контроля исходного кода для хранения артефактов Ansible.

Глава 5. Расширение вашего ландшафта автоматизации охватывает методы поиска вариантов применения автоматизации в вашем рабочем пространстве а также проверки осуществимости автоматизации. Эта глава также обучит вас тому как применять в Ansible динамическую инвентаризацию.

Глава 6. Автоматизация Microsoft Windows и сетевых устройств в которой вы обнаружите возможности автоматизации Microsoft Windows и сетевых устройств с применением Ansible. Данная глава охватывает практические примеры автоматизации Windows, сбор фактов VyOS и создание списка контроля доступом (ACL) в устройствах ASA Cisco.

Глава 7. Управление вашими виртуализацией и облачными платформами обучит вас IaC ( Infrastructure as Code, Инфраструктуре в качестве кода) и методам применения Ansible в качестве инструментария IaC на практических примерах управления платформами VMware, AWS и GCP.

Глава 8. Помогаем с автоматизацией команде баз данных охватывает введение в операции баз данных, такие как установка сервера баз данных и создание баз данных, таблиц и пользователей баз данных.

Глава 9. Реализация автоматизации в рабочем потоке DevOps в которой вы получите введение в DevOps и использование Ansible в рабочем потоке DevOps, причём с практическими примерами для снижения времени разработки и управления балансировкой нагрузки приложения, а также накатом обновлений. Данная глава также охватывает то как интегрировать Ansible с Terraform.

Глава 10. Управление контейнерами с применением Ansible продолжит рассмотрение Ansible и DevOps охватывая методы управления контейнерными приложениями при помощи Ansible. Данная глава охватывает такие практические варианты применения как развёртывание хостов контейнеров с применением конвейеров CI/CD в Ansible, сборки контейнеров и управления приложениями со множеством контейнеров.

Глава 11. Управление Kubernetes при помощи Ansible переходит к большему числу вариантов использования на основе контейнеров с неким введением в Kubernetes и сам метод управления кластерами и приложениями Kubernetes пр помощи Ansible. Данная глава обучит вас тому как развёртывать, управлять и масштабировать контейнерные приложения в вашей платформе Kubernetes.

Глава 12. Интегрируем Ansible с вашими инструментами охватывает введение в инструментарий корпоративной автоматизации AAP (Ansible Automation Platform, Платформу автоматизации Ansible) Red Hat. Данная глава обучит вас методам применения AAP для автоматизации на практических примерах, таких как управление базами данных, интеграция с Jenkins, а также уведомлениями Slack.

Глава 13. Применяем Ansible для управления секретами поясняет методы обработки чувствительных данных при автоматизации с использованием Vault Ansible и то, как использовать зашифрованные данные в плейбуках Ansible.

Глава 14. Придерживаемся простой и действенной автоматизации обучит вас опросным формам в контроллере автоматизации и шаблонах заданий рабочего потока Ansible. Данная глава также охватывает автоматизацию безопасности и интеграцию Ansible с инструментами мониторинга.

Глава 15. Автоматизация нестандартных платформ и операций обучит вас автоматизации обращения с не поддерживаемыми платформами пр помощи сырых команд и команд API. Данная глава также обучит вас тому как разрабатывать персональные модули Ansible когда не существует никаких подходящих модулей.

Глава 16. Наилучшие практические приёмы автоматизации Ansible для промышленного применения где вы изучите наилучшие промышленные практические приёмы для Ansible, такие как организация артефактов, описей и переменных Ansible. Эта глава также охватывает наилучшие практические приёмы управления полномочиями и разработкой плейбуков.

 Как получить максимальную выгоду от этой книги

В этой книге я вначале научу поруковожу вами в установке и разработке инструментами автоматизации Ansible, а после этого поясню некоторые варианты применения и методы реального ИТ применения Ansible для автоматизации подобных операций. Поскольку основная направленность данной книги состоит в различных вариантах применения автоматизации, некоторые из имеющихся глав обладают дополнительными техническими требованиями, например, базовыми знаниями конкретной технологии или доступом к лабораторной среде (скажем, к кластеру Kubernetes). Для этого я также рассматриваю те методы, которые подгонят соответствующую среду разработки если вы пожелает попрактиковаться. Всегда обращайтесь к документации Ansible и прочим предоставляемым в последующих главах ссылкам для последующего обучения.

Таблица 0-1. Требования книги
Рассматриваемое в этой книге программное/аппаратное обеспечение Требования к операционной системе

Ansible 2.9

Red Hat Enterprise Linux 8 (RHEL8)

ansible-core 2.11 и последующие

Microsoft Windows 2019 (для вариантом использования Windows)

Red Hat Ansible Autumation Platform 2.1

VyOS (для вариантов применения сетевой автоматизации

Для тестирования и разработки вы можете получать бесплатные подписки RHEL. Также можно заменять RHEL8 прочими операционными системами , такими как Fedora, CentOS или Ubuntu, однако вам может потребоваться некая регулировка части команд и модулей в своём плейбуке.

Если вы применяете цифровую версию данной книги, мы предлагаем вам набирать любой код этой книги или параметры настройки самостоятельно или получать доступ к такому коду через репозиторий GitHub (ссылка на него доступна в нашем следующем разделе). Следование этому поможет вам избежать любых потенциальных ошибок, связанных с копированием и вставкой для читающих PDF или электронную книгу {Прим. пер.: в своём переводе мы постарались проверять и это.}

 Выгрузка примеров кода

Вы можете выгрузит все файлы примеров кода для данной книги с GitHub. По мере появления новых обновлений кода он будет изменяться в имеющемся репозитории GitHub. Вы можете указывать на любые проблемы или спорные вопросы в имеющихся образцах кода и представлять на рассмотрение любые относящиеся к данной книге вопросы поднимая билеты проблем в данном репозитории GitHub.

У нас также имеются и прочие пакеты кодов из нашего богатого каталога книг и видео доступных по этому адресу. Проверьте и его!

 Выгрузка цветных изображений

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

 Соглашения

На протяжении этой книги имеется ряд соглашений о применении текста в книге.

CodeInText: указывают на кодовые слова в тексте, имена таблиц базы данных, имена папок, имена файлов, модели URL-адресов, ввод пользователя, и обработчики Twitter. Вот некий образец: "Настройка переменной среды KUBECONFIG в качестве нашего имени файла kubeconfig отличается (home/ansible/.kube/minikube-config) от имени файла по умолчанию (/home/ansible/.kube/config)".

Блок кода установлен так:


[ansible@ansible Chapter-11]$ export KUBECONFIG=$KUBECONFIG:/home/ansible/.kube/minikube-config
 	   

Жирно: выделяются новые термины и важные слова или слова, которые вы видите на экране. Например, слова в меню или блоках диалогов появляются в тексте Жирно. Вот некий образец: "ЭОбновите свой шаблон задания и добавьте новые полномочия vault пройдя в Job Template | Edit и затем кликнув по кнопке рядом с Credential".

[Замечание]Замечание

Предостережения или важные замечания появляются в блоках подобных этому.

[Совет]Совет

Советы и ловкие приёмы возникают таким образом.

 Обратная связь с читателями

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

Для отправки обычного отклика просто пошлите электронное письмо на адрес feedback@packtpub.com с упоминанием заголовка книги в теме вашего сообщения.

Если у вас существует тема, в которой у вас имеется опыт и вы заинтересованы либо в написании, либо во вкладе в книгу, обратитесь к руководству по адресу www.packtpub.com/authors.

 Поддержка пользователей

Теперь, когда вы являетесь гордым владельцем книги Packt, у нас есть целый ряд моментов для помощи вам в получении максимальной выгоды от вашей покупки.

 Опечатки

Хотя мы и предприняли все меры чтобы обеспечить точность нашего содержимого, ошибки всё- таки возможны. Если вы обнаружили ошибку в нашей книге - возможно, ошибку в тексте или в коде - мы будем признательны если вы сообщите об этом нам. Сделав это, вы можете предостеречь остальных читателей от разочарования и помочь нам улучшить последующие версии данной книги. Если вы обнаружили ошибку, пожалуйста, сообщите о ней посетив www.packtpub.com/submit-errata, выбрав вашу книгу, кликнув на ссылку Errata Submission Form, и заполнив подробности найденной вами ошибки. Когда ваша ошибка будет проверена, вы получите уведомление и ошибка будет выложена на наш веб- сайт или добавлена в какой- нибудь перечень существующих ошибок с заголовком раздела Errata.

Для просмотра ранее выявленных ошибок посетите www.packtpub.com/books/content/support и введите название нужной книги в поле поиска. Необходимая информация появится в разделе Errata.

 Незаконное тиражирование

Пиратство, защищённых авторским правом материалов в Интернете является постоянной проблемой во всех средствах массовой информации. В Packt мы подходим к защите наших авторских прав и лицензий очень серьёзно. Если вы столкнётесь с какой-либо незаконной копией наших работ в любой форме в Интернете, пожалуйста, предоставьте нам сразу адрес местонахождения или имя веб-сайта, чтобы мы могли принять меры. {Прим. пер.: Согласно закону об авторском праве РФ, авторские права на перевод принадлежат авторам этого перевода. Данным переводом, по нашему мнению, мы служим популяризации основных стратегических направлений развития тем Packt. В случае наличия конструктивных предложений, готовы к тесному сотрудничеству.}

Пожалуйста, обратитесь по адресу copyright@packtpub.com со ссылкой на материалы содержащие признаки нарушения авторских прав.

Мы выражаем вам признательность в защите наших авторов и нашей возможности доносить до вас имеющего ценность содержимого.

 Вопросы

Если у вас есть проблемы по любым сторонам данной книги, вы можете контактировать с нами по адресу questions@packtpub.com и мы предпримем все меры в отношении ваших проблем.

 Содержание

Предисловие
Что охватывает эта книга
Как получить максимальную выгоду от этой книги
Для кого эта книга
Соглашения
Обратная связь с читателями
Поддержка пользователей
Опечатки
Незаконное тиражирование
Вопросы
Раздел 1. Применение Ansible в качестве вашего инструментария автоматизации
Глава 1. Автоматизация Ansible - введение
Технические требования
Привет инженерам!
Что представляет собой Ansible? Где мне следует применять этот инструмент?
Предварительные требования
Требования к узлу управления Ansible
Требования к управляемым узлам Ansible
Ansible не обладает агентами
Архитектура Ansible
Описи Ansible
Подключаемые модули Ansible
Модули Ansible
Наборы содержимого Ansible
Плейбуки Ansible
Варианты применения Ansible
Установка Ansible
Проверка зависимостей
Установка Ansible при помощи диспетчера пакетов
Установка Ansible с применением pip Python
Развёртывание Ansible
Создание описи Ansible
Настройка ваших управляемых узлов
Настройка аутентификации с применением SSH
Множество пользователей и полномочий
Специальные команды Ansible
Установка пакетов при помощи Ansible
Выводы
Дальнейшее чтение
Глава 2. Начинаем с простой автоматизации
Технические требования
Выявляем подлежащие автоматизации выполняемые вручную задачи
Отыскиваем модули Ansible для использования
Настройка вашего текстового редактора для Ansible
Подключаемся к удалённым узлам
Выводы
Дальнейшее чтение
Глава 3. Автоматизация ваших ежедневных заданий
Технические требования
Применение Ansible для сбора сведений о серверах
Роли Ansible
Шаблоны Jinja2 Ansible
Сбор сведений о системе
Сканирование и исправление системы с применением Ansible
Ansible --extra-vars
Автоматизация еженедельного перезапуска систем при помощи Ansible
Автоматизация уведомлений
Шифрование чувствительных данных при помощи Vault Ansible
Выводы
Дальнейшее чтение
Глава 4. Изучение сотрудничества в области автоматизации
Технические требования
Важность контроля версий в автоматизации ИТ
Выбор сервера Git
Где хранить артефакты автоматизации?
Практические приёмы - репозитории Ansible и Git
Управление автоматизацией содержимого в сервере Git
Настройка учётной записи GitHub
Создание вашего первого репозитория GitHub
Установка Git в локальной машине
Настройка ключей SSH в GitHub
Добавление содержимого а репозиторий GitHub
Содружество это основной ключ в автоматизации
Применение ветвлений Git
Реализация ветвлений Git
Выводы
Дальнейшее чтение
Раздел 2. Поиск вариантов применения и интеграции
Глава 5. Расширение вашего ландшафта автоматизации
Технические требования
Поиск ваших вариантов автоматизации в ваших повседневных делах
Оценка стоящих задач
Ansible и ITSM
Автоматизация и подходящая Библиотека инфраструктуры ИТ
Возможность автоматизации и удобство применения
Насколько сложен вариант применения?
Могу ли я снизить человеческие ошибки?
Могу ли я снизить время развёртывания и раскрутки своих задач?
Насколько часто я выполняю эту задачу?
Сколько времени можно сберечь автоматизацией этой задачи?
Могу ли я сберечь какие- то деньги?
Вовлечение команд в путешествие автоматизации по динамическому учёту Ansible
Динамический учёту Ansible
Применение динамической описи Ansible в AWS
Выводы
Дальнейшее чтение
Глава 6. Автоматизация Microsoft Windows и сетевых устройств
Технические требования
Методы удалённого подключения Ansible
Переменные соединений Ansible
Параметры соединений SSH
Автоматизация серверов Microsoft Windows при помощи Ansible
Поддерживаемые операционные системы Microsoft Windows
Автоматизация Microsoft Windows - предварительные требования к узлу управления Ansible
Автоматизация Microsoft Windows - предварительные требования к управляемым узлам Ansible
Настройка учётной записи пользователя и WinRM в машине Microsoft Windows
Настройка Ansible для доступа к машине Microsoft Windows
Автоматизация Microsoft Windows - применение Ansible для создания пользователя Windows
Введение а автоматизацию сетевой среды
Выполнение задачи в узле управления Ansible
Различные методы соединений
Получаемые с применением Ansible сведения VyOS
Создание записей ACL в ASA устройстве Cisco
Выводы
Дальнейшее чтение
Глава 7. Управление вашими виртуализацией и облачными платформами
Технические требования
Введение в Infrastructure as Code
Управление облачными платформами при помощи Ansible
Автоматизация ресурсов vSphere VMware с применением Ansible
Предварительные требования автоматизации VMware Ansible
Предоставление виртуальных машин VMware в Ansible
Использование Ansible в качестве инструмента IaC для AWS
Установка подборки AWS Ansible
Создание содержимого IaC Ansible для инфраструктуры AWS
Завершение жизненного цикла IaC с применением плейбука уничтожения
Создание ресурсов в GCP при помощи Ansible
Предварительные требования для автоматизации GCP Ansible
Свободно распространяемый пробный GCP
Настройка полномочий GCP
Создание экземпляра GCP с применением Ansible
Ответы
Дальнейшее чтение
Глава 8. Помогаем с автоматизацией команде баз данных
Технические требования
Ansible для работы с базами данных
Установка серверов баз данных
Установка PostgreSQL при помощи Ansible
Установка сервера Microsoft SQL с применением Ansible
Создание баз данных и управление ими посредством Ansible
Предварительные требования community.postgresql Ansible
Управление жизненным циклом базы данных
Автоматизация операций PostgreSQL
Управление удалённым доступом PostgreSQL
Резервное копирование базы данных и её восстановление
Автоматизация сброса пароля с применением ITSM и Ansible
Плейбук Ansible для сброса паролей
Выводы
Дальнейшее чтение
Глава 9. Реализация автоматизации в рабочем потоке DevOps
Технические требования
Быстрое введение в DevOps
Сопоставление непрерывной доставки и непрерывного развёртывания
Ansible внутри задач CI/CD
Применение Ansible внутри конвейера Jenkins
Обслуживание приложений с использованием балансировщика нагрузки
Раскрутка обновлений посредством Ansible
Вовлекаемые в обновление приложения этапы
Развёртывание обновлений в пакете управляемых узлов
Развёртывание обновлений в большом числе серверов без простоя службы
Применение Ansible в качестве инструмента предоставления в Terraform
Использование поставщика local-exec Terraform через Ansible
Применение поставщика remote-exec Terraform через Ansible
Выводы
Дальнейшее чтение
Глава 10. Управление контейнерами с применением Ansible
Технические требования
Управление хостом контейнеров
Предварительные требования Docker Ansible
Установка Docker в его хосте при помощи Ansible
Ansible, контейнеры и CI/CD
Запуск контейнера Docker с применением Ansible
Останов контейнеров Docker при помощи Ansible
Управление образами контейнеров с применением Ansible
Настройка доступа к Реестру Docker
Сборка образов контейнеров Docker при помощи Ansible
Управление приложениями со множеством контейнеров с применением Ansible
Выводы
Дальнейшее чтение
Глава 11. Управление Kubernetes при помощи Ansible
Технические требования
Введение в Kubernetes
Управляющая панель Kubernetes
Компоненты в соответствующих узлах
Управление кластерами Kubernetes с применением Ansible
Настройка Ansible под Kubernetes
Требования Python
Установка подборки Ansible Kubernetes
Подключение Ansible к Kubernetes
Установка инструментария CLI kubectl
Проверка подробностей кластера Kubernetes с применением Ansible
Развёртывание приложений в Kubernetes при помощи Ansible
Масштабирование приложений Kubernetes
Масштабирование приложений Kubernetes с использованием Ansible
Компоненты в соответствующих узлах
Выполнение команд внутри подов Kubernetes
Выводы
Дальнейшее чтение
Глава 12. Интегрируем Ansible с вашими инструментами
Технические требования
Введение в AAP Red Hat
Функциональные возможности AAP Red Hat
Компоненты AAP Red Hat
Контроллер автоматизации Ansible
Автоматизация сред исполнения
Сетка автоматизации
Хаб автоматизации
Управление базой данных с использованием AAP Red Hat
Доступ к контроллеру автоматизации Ansible
Создание проекта в контроллере автоматизации
Создание описи и узлов управления
Создание полномочий в контроллере автоматизации
Выполнение задания автоматизации из контроллера автоматизации
Интеграция Jenkins с AAP
Подключаемый модуль Ansible Tower для Jenkins
Разветвлённые конвейеры в Jenkins
Создание Jenkinsfile
Переключение сборки в конвейере Jenkins
Дальнейшие расширения для конвейера Jenkins
Интеграция контроллера автоматизации со Slack и службами уведомлений
Создание уведомлений электронной почтой в контроллере автоматизации
Отправка уведомлений Slack из контроллера автоматизации
Выводы
Дальнейшее чтение
Глава 13. Применяем Ansible для управления секретами
Технические требования
Обработка чувствительных данных в Ansible
Интеграция со службами Vault
Интерактивный ввод с применением приглашений на ввод
Шифрование данных при помощи Vault Ansible
Управление секретами с применением Vault Ansible
Создание файлов Vault
Шифрование имеющихся файлов
Добавление идентификатора Vault в шифрование
Просмотр содержимого файла Vault
Редактирование содержимого файла Vault
Расшифровка файла Vault
Оборот пароля Vault через повторное применение ключей
Шифрование определённых переменных
Применение секретов в плейбуках Ansible
Сокрытие секретов из журналов при помощи no_log
Vault Ansible для group_vars и host_vars
Применение полномочий Vault в Ansible Automation Platform
Создание полномочий Vault
Выводы
Дальнейшее чтение
Раздел 3. Управление процессом разработки автоматизации с применением наилучших практик
Глава 14. Придерживаемся простой и действенной автоматизации
Технические требования
Применение опросов и автоматических входных данных
Интеграция Ansible с инструментами мониторинга
Роль Ansible в мониторинге
ServiceNow, Ansible и фиксация инцидентов без прикосновений
Ansible для автоматизации безопасности
Шаблоны рабочего потока Ansible
Выводы
Дальнейшее чтение
Глава 15. Автоматизация нестандартных платформ и операций
Технические требования
Выполнение необработанных команд нижнего уровня
Установка Python при помощи модуля raw
Применение сырых команд для сетевых операций
Резервное копирование конфигураций FortiOS
Обновление программного обеспечения FortiOS
Сырые команды в устройствах Cisco
Применение вызовов API для автоматизации
Автоматизация прикладных приложений ToDo с применением Ansible
Взаимодействие с API Akamai
Создание персональных модулей для Ansible
Подлежащие проверке факты перед созданием персонального модуля Ansible
Разработка модулей Ansible с применением сценариев bash
Разработка модулей Ansible с применением Python
Применение коллекций Ansible обратный вклад
Выводы
Дальнейшее чтение
Глава 16. Наилучшие практические приёмы автоматизации Ansible для промышленного применения
Технические требования
Организация содержимого автоматизации Ansible
Сохранение сведений удалённого хоста - наилучшие практики описей
Применение имеющих смысловую нагрузку имён хостов
Хранение хостов производства, испытания и разработки по отдельности
Переменные и групповые переменные Ansible
Ansible group_vars
Ansible host_vars
Удерживаем ваши переменные секретов в безопасном месте
Управление group_vars и host_vars в Ansible
Практические приёмы полномочий Ansible
Избегаем использования учётных записей администратора по умолчанию
Расщепляем полномочия регистрации для сред и узлов
Избегаем паролей обычным текстом
Практические приёмы плейбуков Ansible
Всегда именуйте свои задачи
Пользуйтесь надлежащими комментариями
Дополнительные строки и пробелы
Добавляйте теги в задачи
Пользуйтесь объявлениями в явном виде
Применяйте для плейбуков естественный YAML
Избегайте жёстко кодированных переменных и подробностей
В плейбуках Ansible пользуйтесь блоками
Применяйте роли и подзадачи
Применяйте для переменных несущие смысловую нагрузку имена
Изучайте оптимизацию плейбуков
Выводы
Дальнейшее чтение
Указатель