SlideShare a Scribd company logo
Devops.Events
Вебинар на тему:
Знакомство с Ansible.
Популярные практики и ошибки
Спикер: Павел Егоров - DevOps инженер в DataRobot
Кто я?
Павел Егоров
• DevOps инженер
• приверженец автоматизации
• люблю Ansible
• люблю когда работа делает
себя сама
Devops.Events
Плюсы и минусы Ansible
Плюсы:
• простота
• SSH
• модульность
• agentless
• open source
Минусы:
• agentless
• ручная работа
• нет контроля
Devops.Events
Из чего состоит Ansible?
• плейбуки
• роли
• инвентари
• групповые переменные
• переменные хостов
Devops.Events
Playbook
---
- name: "Install LAMP server"
hosts: lamp
user: ubuntu
gather_facts: true
vars_files:
- ../vars/lamp.yml
roles:
- role: apache
tags: webserver
- role: mysql
tags: database
- role: php
tags: php
Devops.Events
Role
• defaults
• handlers
• meta
• tasks
• templates
• files
Devops.Events
Role: defaults
Хранит переменные по-умолчанию
---
apache_log_path: /mnt/logs/apache
apache_data_path: /mnt/apache/data
apache_port: 8080
Devops.Events
Role: handlers
Хранит обработчики
---
- name: "Restart Apache"
sudo: yes
service:
name: apache
state: restarted
Devops.Events
Role: meta
Хранит зависимости от других ролей
---
dependencies:
- { role: java }
- { role: basic }
Devops.Events
Role: tasks
Делает всю работу
---
- name: "Install Apache"
sudo: yes
apt:
name: apache
state: present
update_cache: yes
- name: "Configure Apache"
template:
src: apache.conf.j2
Devops.Events
Role: templates
Хранит шаблоны создаваемых файлов
Listen {{ apache_port }}
<VirtualHost *:{{ apache_port }}>
DocumentRoot "{{ apache_site_data }}"
ServerName {{ site_name }}
# Other directives here
</VirtualHost>
Devops.Events
Inventory
Хранит группы серверов
[lamp]
10.20.30.40
[elasticsearch-cluster-1]
10.20.40.41
10.20.40.42
10.20.40.43
Devops.Events
Group/Host vars
Group vars - для групп хостов
Host vars - для отдельных хостов
Devops.Events
Patterns & Anti-patterns
Devops.Events
Anti-pattern:
Писать все задачи в плейбук без разбивки на роли
- name: "Install LAMP server"
hosts: lamp
user: ubuntu
gather_facts: true
vars_files:
- ../vars/lamp.yml
tasks:
- name: "install apache"
...
- name: "configure mysql"
...
- name: "install php"
...
- name: "install mysql"
...
- name: "kill Sarah Connor"
Devops.Events
Pattern:
Использовать в плейбуке роли и теги, делать его модульным
- name: "Install LAMP server"
hosts: lamp
user: ubuntu
gather_facts: true
vars_files:
- ../vars/lamp.yml
roles:
- role: apache
tags: webserver
- role: mysql
tags: database
Devops.Events
Anti-pattern:
Описывать задачи в одну строку:
Devops.Events
- lineinfile: dest=/opt/jboss-as/bin/standalone.conf regexp='^(.*)Xms(d+)m(.*)$' line='1Xms$
ba
Такая строка даже не поместилась в слайд, как
видите
Pattern:
При описании задачи записывать каждый параметр в отдельную строку
- lineinfile:
dest: /opt/jboss-as/bin/standalone.conf
regexp: '^(.*)Xms(d+)m(.*)$'
line: '1Xms${xms}m3'
backrefs: yes
Devops.Events
Anti-pattern:
Использовать один inventory файл для всей инфраструктуры
Devops.Events
Pattern:
Создавать отдельные файлы инвентаря для различных окружений и
частей системы:
Devops.Events
Ansible-lint и код-ревью
• Ansible-lint
https://github.com/willthames/ansible-lint
• Yaml-lint
https://github.com/Pryz/yaml-lint
Devops.Events
Конец
Спасибо за внимание!
email: paul.yehorov@gmail.com
LinkedIn: Paul Yehorov

More Related Content

PDF
Wider than rails
PPTX
антон веснин Rails Application Servers
PPTX
В топку Postman - пишем API автотесты в привычном стеке
PDF
Вадим Челышов, Scala Engineer : Все ненавидят SBT
PDF
Работа с Akka Сluster, @afiskon, scalaby#14
PDF
"Посмотрим на Акку-Джаву" Дмитрий Мантула
PDF
Приёмы функционального программирования в обычном JavaScript
PDF
DUMP-2015: «Распределенная обработка миллионов документов на Scala и Akka» Ст...
Wider than rails
антон веснин Rails Application Servers
В топку Postman - пишем API автотесты в привычном стеке
Вадим Челышов, Scala Engineer : Все ненавидят SBT
Работа с Akka Сluster, @afiskon, scalaby#14
"Посмотрим на Акку-Джаву" Дмитрий Мантула
Приёмы функционального программирования в обычном JavaScript
DUMP-2015: «Распределенная обработка миллионов документов на Scala и Akka» Ст...

What's hot (13)

PDF
Continuous delivery on IBMi
PPTX
Введение в Akka
PDF
Доклады с прошедшей JiraMania: про обновления, зависимости и дедлоки
PPTX
ASP.NET Core: подход к написанию интеграционных тестов для WebAPI
PPTX
Java 8. Autotests in a functional way.
PPTX
Roman Gorel: Building better APIs on Rails.
PDF
Разделяй и властвуй!
PPTX
PPTX
Путь мониторинга: модульность, гибкость, devops
PPTX
WordPress: React way by Oleksandr Strikha
PDF
Workflows в Express 42
PDF
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
PDF
Chef. кто на кухне хозяин. концепция devops. а,титов. зал 2
Continuous delivery on IBMi
Введение в Akka
Доклады с прошедшей JiraMania: про обновления, зависимости и дедлоки
ASP.NET Core: подход к написанию интеграционных тестов для WebAPI
Java 8. Autotests in a functional way.
Roman Gorel: Building better APIs on Rails.
Разделяй и властвуй!
Путь мониторинга: модульность, гибкость, devops
WordPress: React way by Oleksandr Strikha
Workflows в Express 42
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Chef. кто на кухне хозяин. концепция devops. а,титов. зал 2
Ad

Viewers also liked (9)

PPTX
Dystopian Controls #2 DBlock
PPTX
PDF
Fanuzzi Academic Curriculum Vita 2016
PDF
Getaway sri lanka travel brochure
PPTX
Caso Internacional Brasil y PaÍses Vascos
PPT
Why You Should Hire a Wildlife Professional
PPTX
балташева жанна+оздоровительный центр денсаулык+ лечебно оздоровительные центры
PDF
Presentationof technological procedure of drinking water preparation on the w...
Dystopian Controls #2 DBlock
Fanuzzi Academic Curriculum Vita 2016
Getaway sri lanka travel brochure
Caso Internacional Brasil y PaÍses Vascos
Why You Should Hire a Wildlife Professional
балташева жанна+оздоровительный центр денсаулык+ лечебно оздоровительные центры
Presentationof technological procedure of drinking water preparation on the w...
Ad

Similar to Вебинар на тему знакомство с Ansible. популярные практики и ошибки (20)

PDF
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PDF
DevOps в Agile среде. Как, почему и когда инструменты помогают.
PDF
"Девопс - это не только для программистов. Практические примеры из жизни одно...
PPTX
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
KEY
Migrate!
PDF
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
PPTX
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
PDF
Алексей Иванкин: Highload + PHP
KEY
Что и почему писать на Erlang
PDF
Serghei Iakovlev "Chaos engineering in action"
PDF
Истинный DevOps. Секрет 42.
PDF
PPTX
Способы организаций больших Java проектов по Автоматизированному тестированию
PPT
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
PPTX
Triggermesh - FaaS платформа на Kubernetes
PDF
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
PPTX
Опыт эксплуатации большого проекта на Ruby
PDF
PDF
«​Масштабируемый DevOps​» Александр Колесень
PDF
Масштабируемый DevOps
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
DevOps в Agile среде. Как, почему и когда инструменты помогают.
"Девопс - это не только для программистов. Практические примеры из жизни одно...
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
Migrate!
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
Алексей Иванкин: Highload + PHP
Что и почему писать на Erlang
Serghei Iakovlev "Chaos engineering in action"
Истинный DevOps. Секрет 42.
Способы организаций больших Java проектов по Автоматизированному тестированию
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
Triggermesh - FaaS платформа на Kubernetes
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Опыт эксплуатации большого проекта на Ruby
«​Масштабируемый DevOps​» Александр Колесень
Масштабируемый DevOps

Вебинар на тему знакомство с Ansible. популярные практики и ошибки