Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ansible
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Sysadminka
March 21, 2019
Technology
72
0
Share
Ansible
Ansible - Инструмент для IaaC - Алексей Лапухов
Sysadminka
March 21, 2019
More Decks by Sysadminka
See All by Sysadminka
Ярин Андрей, Интерсвязь - Теледомофоны, или как мы дошли до жизни такой.
sysadminkadesk
0
73
Устройство 1С с точки зрения администратора — Александр Волокитин
sysadminkadesk
0
180
#Связь на километры и сотни мегабит - Игорь Лабер, General Telecom
sysadminkadesk
0
140
Artemy-Kapitula-Cinder-Insides.pdf
sysadminkadesk
0
33
Практика использования Helm
sysadminkadesk
0
75
Sysadminka и UWDC
sysadminkadesk
0
33
Миграция из Docker Swam в Kubernetes
sysadminkadesk
0
50
GitOps CD для Kubernetes
sysadminkadesk
0
140
Анонсируем Service IP из Kubernetes по BGP
sysadminkadesk
0
300
Other Decks in Technology
See All in Technology
責任あるソフトウェアエンジニアリングの紹介4章・5章 / RSE_Ch4-5
ido_kara_deru
0
320
コーポレートサイトのアクセシビリティ改善とJIS準拠への実践
lycorptech_jp
PRO
2
140
TypeScript の型で副作用の実行順序を制御する
yanaemon
2
210
エンジニアは生成AIと どのように向き合うべきか? ことばの意味という観点から
verypluming
1
110
Harnessing the Power of Mocks and Stubs in PHPUnit / #laravellivejp
asumikam
0
320
TypeScript で Platform SDK を作る技術
toiroakr
1
260
TSKaigi 2026 - Auth.jsからBetter Authへの 移行に見る「型とランタイム」の 設計思想の変化
teamlab
PRO
1
260
Generative UI × A2UI で AI エージェントを作った話 AI-DLC も使ってみた!
kmiya84377
1
120
脅威をエンジニアリングの糧にして:恐怖を乗り越えた先にあったもの / Turn threats into fuel for engineering: what lay beyond overcoming fear
nrslib
0
190
TypeScriptエンジニアのためのWASMランタイム入門:AssemblyScriptから理解するメモリの実態(ayano)
ayanoyuki
0
130
GitHub Copilot CLI で考える複数エージェント設計
tomokusaba
0
170
論文紹介:Pixal3D (SIGGRAPH 2026)
tenten0727
0
720
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
For a Future-Friendly Web
brad_frost
183
10k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
510
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Exploring anti-patterns in Rails
aemeredith
3
360
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
270
From π to Pie charts
rasagy
0
190
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
220
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Paper Plane
katiecoart
PRO
1
50k
Transcript
Ansible — инструмент для IaaC Лапухов Алексей Positive Tecnologies
[email protected]
@wildermesser
2 Что это? • Python 2 | 3 • Open
Source • Red Hat (IBM)
3 Используемые технологии и инструменты • Python • SSH •
Jija2 • yaml
4 Типовой workflow • Подлючиться к целевой системе по ssh
• Скопировать необходимый код • Выполнить • Получить результат и вернуть на систему, с которой запускалось
5 Кто делает полезную нагрузку? • Состоит из модулей •
Модуль написан на python • Официальные и поддеживаемые community • Могут требовать установленных компонентов на целевой системе
6 Inventory • Список хостов, объединённых в группы • Можно
задавать переменные • ini или yaml • static и dynamic
7 Playbook • Список задач (tasks), выполняемых на одном подмножестве
хостов - name: Playbook hotst: all tasks: - name: Make love сommand: rm -rf —no-preserve-root /
8 Роли • Предопределённая структура • Обобщённость и универсальность •
Ansible-galaxy roles: - geerlingguy.apache - geerlingguy.php
9 Что даёт • Сервера из «снежинок» превращаются в «скот»
• Декларативное описание инфраструктуры • Код вместо ручных действий
10 Скот • Создание и настройка нового сервера — дело
нескольких минут • Каждый запуск будет приводить сервер в одно и то же состояние
11 Декларативность • Описывает состояние, в котором должна оказаться система,
а не способ достижения этого состояния - name: Ensure nginx is started systemd: name: nginx state: started
12 Код • Хранение кода в VCS (git) • Code
review • Можно хранить вместе с кодом приложений • Автоматическое тестирование
13 Тестирование с помощью Molecule • Явяется частью роли •
Описывает применение роли на тестовом инстансе • Различные драйверы: – Vagrant – Docker – Clouds – ...
14 Чем проверять кооректность • Тестовые фрейморки – Testinfra –
Inspec – Goss • Роль в отделном репозитории → автоматический запуск тестов при коммите
15 Типовой Molecule workflow 1)Удалить созданное 2)Создать инстас с помощью
драйвера 3)Выполнить playbook, применяющий роль 4)Выполнить его ещё раз для провеки идемпотентности 5)Проверить результат 6)Удалить инстанс
16 Недостатки • Нестабильность (частые релизы, смена синтаксиса и т.
д.) • Качество сторонних модулей • Сложный синтаксис при работе со структурами данных (списки, словари) • Производительность на большом количестве хостов
17 Конкуренты • Puppet • SaltStack • Chief • CFEngine
18 Addons • Ansible Tower (AWX)
19 Addons • Конфигурация сетевых устройств (Cisco, Juniper etc) •
Конфигурация облачных сред (Amazon, Azure, GCP, Openstack etc)
20