SlideShare a Scribd company logo
1 of 29
DEVOPS DAY 2016
Raul Hugo
Another *nix / ansible guy at
Verizon
En el comienzo…
En cualquier S.O en el comienzo
existio la linea de comandos.
$ bash
# ksh
 Cmd
Esta fue la primera linea de
comunicacion entre la humanidad y
las maquinas.
La matrix se inspiro en ella…
En mi caso:
• Usar la linea de comandos para
configurar un servidor
manualmente es chevere, lo
maximo.
• Hasta que tienes familia y los
server se multiplican por 30 o mas.
• Entonces se vuelve tedioso y
perdida de tiempo que puede ser
invertido en otras cosas.
• Ya se!, Voy a escribir
código para que el
servidor se configure
solo!
Shell/Bash/perl
Scripts
• #!/bin/sh
• echo "fs.file-max=20000" | sudo tee -a /etc/sysctl.conf
• sudo apt-get -y install build-essential postgresql-9.2
• sudo apt-get -y install apache2
• sudo a2enmod rewrite
• sudo tee /etc/apache2/sites-available/mysite <<ENDOFFILE
• <VirtualHost *:80>
• Include /etc/apache2/sites-available/mysite-common
• </VirtualHost>
• ENDOFFILE
sh/bash/perl
Scripts :(
. No son muy entendibles, la sintaxis
es horrible.
• Bien para soluciones pequeñas.
• No hay orientacion a objetos
• No es nativamente portable
New tools
“Herramientas de configuracion y
aprovisionamiento”
POR QUE ANSIBLE?
Impacto Minimo
Usa authenticacion que ya existe.
ssh por defecto y puede usar su,
sudo o pbrun.
Reusa comandos habituales.
Facil Instalacion, Predecible,
portatil y expandible
Aspira a ser idempotente.
Enterprise Solution. Ansible Tower.
Que es Ansible?
Configurador de sistemas?
Orquestador de sistemas?
Gestor de instalacion?
Ansible es un megazord
de infraestructura.
Gestión de la Configuración
Despliegue
Orquestacion
Automatizacion
Etc…
 Inventory: Lista de maquinas, grupos y variables
asociadas.
 Modules: son los que trabajan, el codigo detras de las
tareas.
 Plugins: callback, action e incluye modules.
 Facts: hechos, datos recogidos de las maquinas elegidas.
 Playbook: coleccion de jugadas, Plays
 Play: Itera sobre la lista de tareas asociandola con la
lista de maquinas.
 Task: invocacion de un modulo para trabajo.
Terminos de Ansible
[local]
127.0.0.1
[web-group]
www.devops.com
www[01:50].devops.com
[db-group]
10.0.1.123
Nombre
de los
grupos
Inventario
Modules
 En el 2013 habian 72 ahora
hay mas de 259.
Plugins
 Callback
 Lookup
 Variables
 Filtros
 Se usan para procesos en el
master. Como comparar una
variable.
Facts - Hechos
 Funcionan por defecto.
 Detectan muchos datos utiles
que pueden ser usados en
plantillas.
 Soportan solaris, bsd, aix.
Facts - Hechos
$ ansible all -m ping
$ ansible web-group -m ping
$ ansible all -a "/bin/echo hi"
$ ansible all -a "/sbin/reboot" -f 10
$ ansible all -m yum -a "name= state=installed"
$ ansible all -m user -a "name=raul password=D3vopsday"
$ ansible all -m service -a "name=nginx state=started"
Comandos Ad-Hoc
Playbooks
• Archivos YAML
• Usa declaraciones para definir tu
configuración.
• Puede contener diferentes Plays
apuntados a diferentes grupos de
hosts.
azure-apache.yml
---
- hosts: all
become: true
become_method: sudo
vars_files:
- pass.yml
tasks:
- name: Probemos variables
debug: var=ansible_all_ipv4_addresses[0]
- name: Instalando apache
apt: name=apache2 state=latest
- name: Verificando que el proceso esta corriendo
service: name=apache2 state=started
- name: Paramos apache
service: name=apache2 state=started
- name: Iniciamos apache
service: name=apache2 state=started
- name: Esperamos a que el puerto 80 responda esto indica que apache esta operando.
wait_for: host={{ ansible_all_ipv4_addresses[0] }} port=80 timeout=300 state=started
tags:
- startapache
Ejecutando Playbooks
ansible-playbook -i hosts azure.yml >
--vault-password-file vault-pass.txt
How It Works
➜ ansible-demo git:(master) ✗ ansible-playbook -i hosts azure.yml --vault-password-file vault.txt
PLAY [all] ********************************************************************
GATHERING FACTS ***************************************************************
ok: [ubuntu-azure-devopsday.cloudapp.net]
TASK: [Probemos variables] ****************************************************
ok: [ubuntu-azure-devopsday.cloudapp.net] => {
"var": {
"ansible_all_ipv4_addresses[0]": "10.0.0.4"
}
}
TASK: [Instalando apache] *****************************************************
ok: [ubuntu-azure-devopsday.cloudapp.net]
TASK: [verificando que el proceso esta corriendo] *****************************
ok: [ubuntu-azure-devopsday.cloudapp.net]
TASK: [Paramos apache] ********************************************************
changed: [ubuntu-azure-devopsday.cloudapp.net]
TASK: [Iniciamos apache] ******************************************************
changed: [ubuntu-azure-devopsday.cloudapp.net]
➜ ansible-demo git:(master) ✗ ansible-playbook -i hosts azure.yml --vault-password-file vault.txt
____________
< PLAY [all] >
------------
 ^__^
 (oo)_______
(__) )/
||----w |
|| ||
_________________
< GATHERING FACTS >
-----------------
 ^__^
 (oo)_______
(__) )/
||----w |
|| ||
ok: [ubuntu-azure-devopsday.cloudapp.net]
__________________________
< TASK: Probemos variables >
--------------------------
 ^__^
 (oo)_______
(__) )/
||----w |
|| ||
Con cowsay es mas entretenido.
Mas Informacion en:
Ansible Peru Meetup
http://www.meetup.com/es-ES/Ansible-Peru/
IRC FREENODE
#ansible-es
Twitter
@raulhugo
10x!

More Related Content

What's hot

What's hot (16)

Provisión Automática de máquinas con Ansible
Provisión Automática de máquinas con AnsibleProvisión Automática de máquinas con Ansible
Provisión Automática de máquinas con Ansible
 
Sandbox para ejercicios de programación
Sandbox para ejercicios de programaciónSandbox para ejercicios de programación
Sandbox para ejercicios de programación
 
Rails Against The Machine
Rails Against The MachineRails Against The Machine
Rails Against The Machine
 
Garbage Collection en el JVM
Garbage Collection en el JVMGarbage Collection en el JVM
Garbage Collection en el JVM
 
Exposicion apache kafka
Exposicion apache kafkaExposicion apache kafka
Exposicion apache kafka
 
Exposicion apache
Exposicion apacheExposicion apache
Exposicion apache
 
Por qué Symfony2 es tan rápido
Por qué Symfony2 es tan rápidoPor qué Symfony2 es tan rápido
Por qué Symfony2 es tan rápido
 
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
 
Docker Ecosystem - Part I - Engine
Docker Ecosystem - Part I - EngineDocker Ecosystem - Part I - Engine
Docker Ecosystem - Part I - Engine
 
Docker WordPress
Docker WordPressDocker WordPress
Docker WordPress
 
Docker 2014 v2
Docker 2014 v2Docker 2014 v2
Docker 2014 v2
 
Configurando zabbix
Configurando zabbixConfigurando zabbix
Configurando zabbix
 
Tuning Lamp
Tuning LampTuning Lamp
Tuning Lamp
 
Varnish http cache
Varnish http cacheVarnish http cache
Varnish http cache
 
Instalando nagios kuman hoy luis
Instalando nagios kuman hoy luisInstalando nagios kuman hoy luis
Instalando nagios kuman hoy luis
 
Marcos quesada caching_sf2
Marcos quesada caching_sf2Marcos quesada caching_sf2
Marcos quesada caching_sf2
 

Viewers also liked

Eliminating Female Genital Mutilation
Eliminating Female Genital MutilationEliminating Female Genital Mutilation
Eliminating Female Genital Mutilation
Andy Dabydeen
 
Lee piensa y aprende maestro
Lee piensa y aprende maestroLee piensa y aprende maestro
Lee piensa y aprende maestro
Valentin Flores
 
Contribucion para la ciencia, tecnologia e innovaciones y sus aplicaciones al...
Contribucion para la ciencia, tecnologia e innovaciones y sus aplicaciones al...Contribucion para la ciencia, tecnologia e innovaciones y sus aplicaciones al...
Contribucion para la ciencia, tecnologia e innovaciones y sus aplicaciones al...
jjfuentes2003
 

Viewers also liked (18)

Ansible para Gestión de la configuración y Automatización
Ansible para Gestión de la configuración y AutomatizaciónAnsible para Gestión de la configuración y Automatización
Ansible para Gestión de la configuración y Automatización
 
Ecologically Safe Monotheistic Solutions to Global Crisis Of The Finance System
Ecologically Safe Monotheistic Solutions to Global Crisis Of The Finance SystemEcologically Safe Monotheistic Solutions to Global Crisis Of The Finance System
Ecologically Safe Monotheistic Solutions to Global Crisis Of The Finance System
 
Global entry strategies global p s of marketing
Global entry strategies global p s of marketingGlobal entry strategies global p s of marketing
Global entry strategies global p s of marketing
 
Eliminating Female Genital Mutilation
Eliminating Female Genital MutilationEliminating Female Genital Mutilation
Eliminating Female Genital Mutilation
 
За лучший офис риэлторской компании. Конкурс «Грани успеха - 2010».
За лучший офис риэлторской компании. Конкурс «Грани успеха - 2010». За лучший офис риэлторской компании. Конкурс «Грани успеха - 2010».
За лучший офис риэлторской компании. Конкурс «Грани успеха - 2010».
 
Bubbl us-2
Bubbl us-2Bubbl us-2
Bubbl us-2
 
ORIG Client SMHRSI
ORIG Client SMHRSIORIG Client SMHRSI
ORIG Client SMHRSI
 
5.6 los amos de la red
5.6 los amos de la red5.6 los amos de la red
5.6 los amos de la red
 
VDC - Best Practices der Kooperation im Netzwerk
VDC - Best Practices der Kooperation im NetzwerkVDC - Best Practices der Kooperation im Netzwerk
VDC - Best Practices der Kooperation im Netzwerk
 
Hemorragia de Tubo digestivo superior
Hemorragia de Tubo digestivo superiorHemorragia de Tubo digestivo superior
Hemorragia de Tubo digestivo superior
 
Cadernos DC na Sala de Aula - Mês de Abril/2015
Cadernos DC na Sala de Aula - Mês de Abril/2015Cadernos DC na Sala de Aula - Mês de Abril/2015
Cadernos DC na Sala de Aula - Mês de Abril/2015
 
Lee piensa y aprende maestro
Lee piensa y aprende maestroLee piensa y aprende maestro
Lee piensa y aprende maestro
 
Super pac hacks for your library
Super pac hacks for your librarySuper pac hacks for your library
Super pac hacks for your library
 
Contribucion para la ciencia, tecnologia e innovaciones y sus aplicaciones al...
Contribucion para la ciencia, tecnologia e innovaciones y sus aplicaciones al...Contribucion para la ciencia, tecnologia e innovaciones y sus aplicaciones al...
Contribucion para la ciencia, tecnologia e innovaciones y sus aplicaciones al...
 
Action movie
Action movieAction movie
Action movie
 
Achieving higher IOPS for NAS at Reasonable Cost
Achieving higher IOPS for NAS at Reasonable CostAchieving higher IOPS for NAS at Reasonable Cost
Achieving higher IOPS for NAS at Reasonable Cost
 
Super zer alphabet_letter_a_2nd_edition
Super zer alphabet_letter_a_2nd_editionSuper zer alphabet_letter_a_2nd_edition
Super zer alphabet_letter_a_2nd_edition
 
Organic Vegetable Gardening ~ University of Tennessee
Organic Vegetable Gardening ~ University of TennesseeOrganic Vegetable Gardening ~ University of Tennessee
Organic Vegetable Gardening ~ University of Tennessee
 

Similar to Ansible DevOps Day Peru 2016

Thunder cache 3.1.2 en centos 6.3
Thunder cache 3.1.2 en centos 6.3Thunder cache 3.1.2 en centos 6.3
Thunder cache 3.1.2 en centos 6.3
Loquenecesito,com
 
28 el directorio sysconfig
28  el directorio sysconfig28  el directorio sysconfig
28 el directorio sysconfig
Aprende Viendo
 
Servidor De Correo En Debian
Servidor De Correo En DebianServidor De Correo En Debian
Servidor De Correo En Debian
Stiven Marin
 

Similar to Ansible DevOps Day Peru 2016 (20)

Samba ubuntu11_10_12 04_slide
Samba ubuntu11_10_12 04_slideSamba ubuntu11_10_12 04_slide
Samba ubuntu11_10_12 04_slide
 
Cómo crear una distribución Linux
Cómo crear una distribución LinuxCómo crear una distribución Linux
Cómo crear una distribución Linux
 
Docker y PostgreSQL
Docker y PostgreSQLDocker y PostgreSQL
Docker y PostgreSQL
 
Bulma 441
Bulma 441Bulma 441
Bulma 441
 
Interchange CMS - e-commerce
Interchange CMS - e-commerceInterchange CMS - e-commerce
Interchange CMS - e-commerce
 
Interchange How-To for Red Hat Linux ES4
Interchange How-To for Red Hat Linux ES4Interchange How-To for Red Hat Linux ES4
Interchange How-To for Red Hat Linux ES4
 
Dbdeployer
DbdeployerDbdeployer
Dbdeployer
 
Thunder cache 3.1.2 en centos 6.3
Thunder cache 3.1.2 en centos 6.3Thunder cache 3.1.2 en centos 6.3
Thunder cache 3.1.2 en centos 6.3
 
ownCloud en Linux - Bilal Jebari
ownCloud en Linux - Bilal JebariownCloud en Linux - Bilal Jebari
ownCloud en Linux - Bilal Jebari
 
Memorias
MemoriasMemorias
Memorias
 
Presentación Docker
Presentación DockerPresentación Docker
Presentación Docker
 
Drupal 8, de cero a producción en minutos.
Drupal 8, de cero a producción en minutos.Drupal 8, de cero a producción en minutos.
Drupal 8, de cero a producción en minutos.
 
28 el directorio sysconfig
28  el directorio sysconfig28  el directorio sysconfig
28 el directorio sysconfig
 
Guía instalación koha por paquetes en ubuntu 16.04 lts actualizada
Guía instalación koha por paquetes en ubuntu 16.04 lts actualizadaGuía instalación koha por paquetes en ubuntu 16.04 lts actualizada
Guía instalación koha por paquetes en ubuntu 16.04 lts actualizada
 
Bd practica 1.10
Bd practica 1.10Bd practica 1.10
Bd practica 1.10
 
Open Build Service
Open Build ServiceOpen Build Service
Open Build Service
 
Entorno PHP
Entorno PHPEntorno PHP
Entorno PHP
 
Servidor De Correo En Debian
Servidor De Correo En DebianServidor De Correo En Debian
Servidor De Correo En Debian
 
Taller de samba
Taller de sambaTaller de samba
Taller de samba
 
The linux shell. Shell Scripting desde 0
The linux shell. Shell Scripting desde 0The linux shell. Shell Scripting desde 0
The linux shell. Shell Scripting desde 0
 

More from Raul Hugo

AWSPeru Meetup marzo - introduccion a elastic containers seervice
AWSPeru Meetup marzo - introduccion a elastic containers seervice AWSPeru Meetup marzo - introduccion a elastic containers seervice
AWSPeru Meetup marzo - introduccion a elastic containers seervice
Raul Hugo
 

More from Raul Hugo (11)

Application load balancers para docker containers
Application load balancers para docker containersApplication load balancers para docker containers
Application load balancers para docker containers
 
Beginning to live in dev ops raul hugo - agile day
Beginning to live in dev ops    raul hugo - agile day Beginning to live in dev ops    raul hugo - agile day
Beginning to live in dev ops raul hugo - agile day
 
AWSPeru Meetup marzo - introduccion a elastic containers seervice
AWSPeru Meetup marzo - introduccion a elastic containers seervice AWSPeru Meetup marzo - introduccion a elastic containers seervice
AWSPeru Meetup marzo - introduccion a elastic containers seervice
 
Ansible ssh y comandos ad-hoc
Ansible ssh y comandos ad-hocAnsible ssh y comandos ad-hoc
Ansible ssh y comandos ad-hoc
 
Yo tampoco quise estudiar telecomunicaciones en la UNE
Yo tampoco quise estudiar telecomunicaciones en la UNEYo tampoco quise estudiar telecomunicaciones en la UNE
Yo tampoco quise estudiar telecomunicaciones en la UNE
 
AWS para desarrolladores
AWS para desarrolladoresAWS para desarrolladores
AWS para desarrolladores
 
Introducción al proyecto olpc, sugar y xo
Introducción al proyecto olpc, sugar y xoIntroducción al proyecto olpc, sugar y xo
Introducción al proyecto olpc, sugar y xo
 
Innovacion usando software libre y open source
Innovacion usando software libre y open sourceInnovacion usando software libre y open source
Innovacion usando software libre y open source
 
Presentacion Computacion Social
Presentacion Computacion SocialPresentacion Computacion Social
Presentacion Computacion Social
 
Web 2.0 & Gestión Del conocimiento
Web 2.0 & Gestión Del conocimientoWeb 2.0 & Gestión Del conocimiento
Web 2.0 & Gestión Del conocimiento
 
Gesti N Del Conocimiento
Gesti N Del ConocimientoGesti N Del Conocimiento
Gesti N Del Conocimiento
 

Recently uploaded

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Recently uploaded (10)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 

Ansible DevOps Day Peru 2016

  • 1. DEVOPS DAY 2016 Raul Hugo Another *nix / ansible guy at Verizon
  • 2. En el comienzo… En cualquier S.O en el comienzo existio la linea de comandos. $ bash # ksh  Cmd Esta fue la primera linea de comunicacion entre la humanidad y las maquinas.
  • 3. La matrix se inspiro en ella…
  • 4. En mi caso: • Usar la linea de comandos para configurar un servidor manualmente es chevere, lo maximo. • Hasta que tienes familia y los server se multiplican por 30 o mas. • Entonces se vuelve tedioso y perdida de tiempo que puede ser invertido en otras cosas.
  • 5. • Ya se!, Voy a escribir código para que el servidor se configure solo!
  • 6. Shell/Bash/perl Scripts • #!/bin/sh • echo "fs.file-max=20000" | sudo tee -a /etc/sysctl.conf • sudo apt-get -y install build-essential postgresql-9.2 • sudo apt-get -y install apache2 • sudo a2enmod rewrite • sudo tee /etc/apache2/sites-available/mysite <<ENDOFFILE • <VirtualHost *:80> • Include /etc/apache2/sites-available/mysite-common • </VirtualHost> • ENDOFFILE
  • 7.
  • 8. sh/bash/perl Scripts :( . No son muy entendibles, la sintaxis es horrible. • Bien para soluciones pequeñas. • No hay orientacion a objetos • No es nativamente portable
  • 9. New tools “Herramientas de configuracion y aprovisionamiento”
  • 10.
  • 11. POR QUE ANSIBLE? Impacto Minimo Usa authenticacion que ya existe. ssh por defecto y puede usar su, sudo o pbrun. Reusa comandos habituales. Facil Instalacion, Predecible, portatil y expandible Aspira a ser idempotente. Enterprise Solution. Ansible Tower.
  • 12. Que es Ansible? Configurador de sistemas? Orquestador de sistemas? Gestor de instalacion? Ansible es un megazord de infraestructura.
  • 13. Gestión de la Configuración Despliegue Orquestacion Automatizacion Etc…
  • 14.
  • 15.  Inventory: Lista de maquinas, grupos y variables asociadas.  Modules: son los que trabajan, el codigo detras de las tareas.  Plugins: callback, action e incluye modules.  Facts: hechos, datos recogidos de las maquinas elegidas.  Playbook: coleccion de jugadas, Plays  Play: Itera sobre la lista de tareas asociandola con la lista de maquinas.  Task: invocacion de un modulo para trabajo. Terminos de Ansible
  • 17. Modules  En el 2013 habian 72 ahora hay mas de 259.
  • 18. Plugins  Callback  Lookup  Variables  Filtros  Se usan para procesos en el master. Como comparar una variable.
  • 19. Facts - Hechos  Funcionan por defecto.  Detectan muchos datos utiles que pueden ser usados en plantillas.  Soportan solaris, bsd, aix.
  • 21. $ ansible all -m ping $ ansible web-group -m ping $ ansible all -a "/bin/echo hi" $ ansible all -a "/sbin/reboot" -f 10 $ ansible all -m yum -a "name= state=installed" $ ansible all -m user -a "name=raul password=D3vopsday" $ ansible all -m service -a "name=nginx state=started" Comandos Ad-Hoc
  • 22. Playbooks • Archivos YAML • Usa declaraciones para definir tu configuración. • Puede contener diferentes Plays apuntados a diferentes grupos de hosts.
  • 23. azure-apache.yml --- - hosts: all become: true become_method: sudo vars_files: - pass.yml tasks: - name: Probemos variables debug: var=ansible_all_ipv4_addresses[0] - name: Instalando apache apt: name=apache2 state=latest - name: Verificando que el proceso esta corriendo service: name=apache2 state=started - name: Paramos apache service: name=apache2 state=started - name: Iniciamos apache service: name=apache2 state=started - name: Esperamos a que el puerto 80 responda esto indica que apache esta operando. wait_for: host={{ ansible_all_ipv4_addresses[0] }} port=80 timeout=300 state=started tags: - startapache
  • 24. Ejecutando Playbooks ansible-playbook -i hosts azure.yml > --vault-password-file vault-pass.txt
  • 26. ➜ ansible-demo git:(master) ✗ ansible-playbook -i hosts azure.yml --vault-password-file vault.txt PLAY [all] ******************************************************************** GATHERING FACTS *************************************************************** ok: [ubuntu-azure-devopsday.cloudapp.net] TASK: [Probemos variables] **************************************************** ok: [ubuntu-azure-devopsday.cloudapp.net] => { "var": { "ansible_all_ipv4_addresses[0]": "10.0.0.4" } } TASK: [Instalando apache] ***************************************************** ok: [ubuntu-azure-devopsday.cloudapp.net] TASK: [verificando que el proceso esta corriendo] ***************************** ok: [ubuntu-azure-devopsday.cloudapp.net] TASK: [Paramos apache] ******************************************************** changed: [ubuntu-azure-devopsday.cloudapp.net] TASK: [Iniciamos apache] ****************************************************** changed: [ubuntu-azure-devopsday.cloudapp.net]
  • 27. ➜ ansible-demo git:(master) ✗ ansible-playbook -i hosts azure.yml --vault-password-file vault.txt ____________ < PLAY [all] > ------------ ^__^ (oo)_______ (__) )/ ||----w | || || _________________ < GATHERING FACTS > ----------------- ^__^ (oo)_______ (__) )/ ||----w | || || ok: [ubuntu-azure-devopsday.cloudapp.net] __________________________ < TASK: Probemos variables > -------------------------- ^__^ (oo)_______ (__) )/ ||----w | || || Con cowsay es mas entretenido.
  • 28. Mas Informacion en: Ansible Peru Meetup http://www.meetup.com/es-ES/Ansible-Peru/ IRC FREENODE #ansible-es Twitter @raulhugo
  • 29. 10x!