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
61
Ansible
Ansible - Инструмент для IaaC - Алексей Лапухов
Sysadminka
March 21, 2019
Tweet
Share
More Decks by Sysadminka
See All by Sysadminka
Ярин Андрей, Интерсвязь - Теледомофоны, или как мы дошли до жизни такой.
sysadminkadesk
0
61
Устройство 1С с точки зрения администратора — Александр Волокитин
sysadminkadesk
0
140
#Связь на километры и сотни мегабит - Игорь Лабер, General Telecom
sysadminkadesk
0
120
Artemy-Kapitula-Cinder-Insides.pdf
sysadminkadesk
0
21
Практика использования Helm
sysadminkadesk
0
58
Sysadminka и UWDC
sysadminkadesk
0
24
Миграция из Docker Swam в Kubernetes
sysadminkadesk
0
34
GitOps CD для Kubernetes
sysadminkadesk
0
110
Анонсируем Service IP из Kubernetes по BGP
sysadminkadesk
0
240
Other Decks in Technology
See All in Technology
Creative Pair
kawaguti
PRO
1
150
NOSTR, réseau social et espace de liberté décentralisé
rlifchitz
0
160
Fin-JAWS第38回reInvent2024_全金融系セッションをライトにまとめてみた
mhrtech
1
160
re:Invent Recap (January 2025)
scalefactory
0
340
ソフトウェア開発現代史:製造業とソフトウェアは本当に共存できていたのか?品質とスピードを問い直す
takabow
15
5.8k
データ基盤の成長を加速させる:アイスタイルにおける挑戦と教訓
tsuda7
3
540
クラウドネイティブ時代を乗り越えるためのオブザーバビリティ(可観測性)ことはじめ_CloudNative-Observability
tkhresk
0
110
アーキテクチャわからん、の話
shirayanagiryuji
0
260
ビジネスと現場活動をつなぐソフトウェアエンジニアリング~とあるスタートアッププロダクトの成長記録より~
mizunori
0
110
Ask! NIKKEI RAG検索技術の深層
hotchpotch
12
2.3k
FastConnect の冗長性
ocise
1
9.4k
Redshiftを中心としたAWSでのデータ基盤
mashiike
0
120
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
128
19k
The Cult of Friendly URLs
andyhume
78
6.2k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
GitHub's CSS Performance
jonrohan
1030
460k
Designing for humans not robots
tammielis
250
25k
Music & Morning Musume
bryan
46
6.3k
Side Projects
sachag
452
42k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Writing Fast Ruby
sferik
628
61k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
3k
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