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
58
Ansible
Ansible - Инструмент для IaaC - Алексей Лапухов
Sysadminka
March 21, 2019
Tweet
Share
More Decks by Sysadminka
See All by Sysadminka
Ярин Андрей, Интерсвязь - Теледомофоны, или как мы дошли до жизни такой.
sysadminkadesk
0
58
Устройство 1С с точки зрения администратора — Александр Волокитин
sysadminkadesk
0
130
#Связь на километры и сотни мегабит - Игорь Лабер, General Telecom
sysadminkadesk
0
110
Artemy-Kapitula-Cinder-Insides.pdf
sysadminkadesk
0
18
Практика использования Helm
sysadminkadesk
0
56
Sysadminka и UWDC
sysadminkadesk
0
24
Миграция из Docker Swam в Kubernetes
sysadminkadesk
0
31
GitOps CD для Kubernetes
sysadminkadesk
0
110
Анонсируем Service IP из Kubernetes по BGP
sysadminkadesk
0
230
Other Decks in Technology
See All in Technology
dev 補講: プロダクトセキュリティ / Product security overview
wa6sn
0
2k
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
290
mikroBus HAT を用いた簡易ベアメタル開発
tarotene
0
340
B2B SaaS × AI機能開発 〜テナント分離のパターン解説〜 / B2B SaaS x AI function development - Explanation of tenant separation pattern
oztick139
2
190
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
1
1.5k
強いチームと開発生産性
onk
PRO
30
10k
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
160
OCI Security サービス 概要
oracle4engineer
PRO
0
6.4k
フルカイテン株式会社 採用資料
fullkaiten
0
40k
信頼性に挑む中で拡張できる・得られる1人のスキルセットとは?
ken5scal
2
490
CysharpのOSS群から見るModern C#の現在地
neuecc
1
1.4k
Microsoft MVPになる前、なってから/Fukuoka_Tech_Women_Community_1_baba
nina01
0
180
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Building Adaptive Systems
keathley
38
2.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
Practical Orchestrator
shlominoach
186
10k
The Language of Interfaces
destraynor
154
24k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Writing Fast Ruby
sferik
627
61k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
The World Runs on Bad Software
bkeepers
PRO
65
11k
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