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
Sysadminka
March 21, 2019
Technology
0
50
Ansible
Ansible - Инструмент для IaaC - Алексей Лапухов
Sysadminka
March 21, 2019
Tweet
Share
More Decks by Sysadminka
See All by Sysadminka
Ярин Андрей, Интерсвязь - Теледомофоны, или как мы дошли до жизни такой.
sysadminkadesk
0
55
Устройство 1С с точки зрения администратора — Александр Волокитин
sysadminkadesk
0
96
#Связь на километры и сотни мегабит - Игорь Лабер, General Telecom
sysadminkadesk
0
100
Artemy-Kapitula-Cinder-Insides.pdf
sysadminkadesk
0
18
Практика использования Helm
sysadminkadesk
0
50
Sysadminka и UWDC
sysadminkadesk
0
18
Миграция из Docker Swam в Kubernetes
sysadminkadesk
0
24
GitOps CD для Kubernetes
sysadminkadesk
0
93
Анонсируем Service IP из Kubernetes по BGP
sysadminkadesk
0
150
Other Decks in Technology
See All in Technology
How to do well in consulting–Balkan Ruby 2024
irinanazarova
0
180
複雑なビジネスルールに挑む:正確性と効率性を両立するfp-tsのチーム活用術 / Strike a balance between correctness and efficiency with fp-ts
kakehashi
3
330
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Musicを例に~
otanet
0
340
生成AIの変革の時代に、直近1年で直面した課題とその解決策
ktc_wada
1
800
コードファーストの考え方。 Amplify Gen2から学ぶAWS次世代のWeb開発体験
yoshiitaka
2
560
MixIT 2024 - Pulumi : Gérer son infra avec son langage de programmation préféré
ju_hnny5
1
130
QAエンジニアが伝えたい品質保証の羅針盤 / Compass for Quality Assurance
mii3king
1
220
データベース03: 関係データモデル
trycycle
0
110
TypescriptでのContextualな構造化ロギングと社内全体への導入
leveragestech
3
250
【NW X Security JAWS#3】L3-4:AWS環境のIPv6移行に向けて知っておきたいこと
shotashiratori
1
730
Dungeons and Dragons and Rails
joelq
0
160
本当のガバクラ基礎
toru_kubota
0
240
Featured
See All Featured
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
Building an army of robots
kneath
300
41k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
0
57
Bash Introduction
62gerente
605
210k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
22
1.6k
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
Designing on Purpose - Digital PM Summit 2013
jponch
111
6.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
39
2.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
Rebuilding a faster, lazier Slack
samanthasiow
74
8.3k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Building Your Own Lightsaber
phodgson
100
5.7k
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