28
Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 > what is ansible* ? “Ansible is a configuration management , application deployment and IT Orchestration tool ” "infrastructure as code" synthesis of; - configuration management, automation tools (Puppet, Chef, cfengine) - deployment tools (Capistrano, Fabric) - ad-hoc task execution tools (Func, pssh, etc)

Ansible - General Concepts and Summary

Embed Size (px)

Citation preview

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014

> what is ansible* ?

“Ansible is a configuration management, application deployment andIT Orchestration tool ”

"infrastructure as code"

synthesis of;

- configuration management, automation tools (Puppet, Chef, cfengine)

- deployment tools (Capistrano, Fabric)

- ad-hoc task execution tools (Func, pssh, etc)

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014

> me

@serkancapkan

nl.linkedin.com/in/serkancapkan

twitter.com/serkancapkan

system administrator @Liberty Global (NL)

ipara.com, sahibinden.com, TMMOB EMO, ITU

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 3/27

> summary

- why we need configuration management?

- what is ansible?

- howto: installation & configuration & runtime

- discussions

- questions

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 4/27

> why we need configuration management?

- system installation & provisioning

- system configuration

- service installation

- application deployment

- configuration management

- system based

- service based

- application based

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 5/27

> why we need configuration management?

- change management

- system based

- service based

- application based

- automate repetitive tasks

- configuration integrity

- documentation (system based)

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 6/27

- continuous deployment (ansible&jenkins)

- packaging software product (software | software+system)

- remote command execution

- auto scalability (system base, auto)

- be able to create same systems in case of emergency

- create different environments (dev, stating, load test)

> why we need configuration management?

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014

synthesis of;

- configuration management, automation tools (Puppet, Chef, cfengine)

- deployment tools (Capistrano, Fabric)

- ad-hoc task execution tools (Func, pssh, etc)

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 7/27

> what is ansible* ?

“Ansible is a configuration management, application deployment andIT Orchestration tool ”

"infrastructure as code"

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014

- Michael DeHaan (@laserllama)

- python

- ssh authenticate

- ansible works, company

- free (speech & beer)

- feb 2012

- 643+ contributor*Rocannon's World, Dispossessed

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 8/27

> what is ansible* ?

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 9/27

- radically simple

- fast, low resource usage

- no requirement (except Python 2.4 or later)

- push based (pull also possible)

- agentless

- no specific port

- no new authentication integration

> what is ansible* ?

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 10/27

- basic tasks basic

- complicated projects possible, easy to implement

- playbook

- roles

- playbooks use yaml format ( like ad hoc )(:/)

- task executed in order

- highly scalable (+6000 parallel)

> what is ansible* ?

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 11/27

- integratable ( json output)

- robust module architecture

- part of core code, 1 module for 1 work

- write your own module in any language (json)

- ansible galaxy

- ansible tower (formerly ‘AWX’) (web ui) ( $ )

> what is ansible* ?

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 12/27

- installation- source

- pip

- package manageryum - EPEL

apt- PPA

> howto: installation & configuration & runtime

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 13/27

- installation- ssh key authentication- inventory

- go!

> howto: installation & configuration & runtime

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 14/27

- runtime (ad-hoc)

ansible [host] -m [module] -a [arguments]

> howto: installation & configuration & runtime

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 15/27

- runtime (ad-hoc)

> howto: installation & configuration & runtime

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 16/27

- runtime

> howto: installation & configuration & runtime

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 17/27

- runtime (ad-hoc)

> howto: installation & configuration & runtime

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 18/27

- runtime (ad-hoc)

> howto: installation & configuration & runtime

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 19/27

- runtime (playbook)

> howto: installation & configuration & runtime

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 20/27

- runtime (playbook)

> howto: installation & configuration & runtime

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 21/27

- runtime (playbook adhoc)

> howto: installation & configuration & runtime

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 22/27

- runtime (playbook adhoc)

> howto: installation & configuration & runtime

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 23/27

- runtime (playbook - role) site.yml

> howto: installation & configuration & runtime

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 24/27

ansible-galaxy install username.rolename

> howto: ansible-galaxy

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 24/27

ansible-galaxy install username.rolename

> howto: ansible-galaxy

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014

- cloud- amazon, openstack, digital ocean, netscaler, google compute engine

- [ec2 workshop]

ansible

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014

> howto: installation & configuration & runtime

Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014Özgür Yazılım ve Linux Günleri / Istanbul / 29.03.2014 26/27

- system administration

- system development

- devops

> discussions