dev ops infraestructura agil con open source

123
#rsgecu2015 DevOps: Infraestructura Agil con Open Source DevOps: Infraestructura Agil con Open Source Ricardo Arguello CEO Soporte Libre @ricardoarguello

Upload: scrumecuador

Post on 21-Jul-2015

284 views

Category:

Technology


3 download

TRANSCRIPT

#rsgecu2015DevOps: Infraestructura Agil con Open Source

DevOps:Infraestructura Agil con Open Source

Ricardo ArguelloCEOSoporte Libre@ricardoarguello

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Acerca de

● Casi 20 años de experiencia en Desarrollo/Infra● Colaborador del proyecto Fedora● Ex-colaborador de JBoss.org● Desarrollador o Sysadmin?● CEO de Soporte Libre: Software Libre y Open

Source

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Acerca de ustedes

● Desarrolladores?● Sysadmins?● Software Libre / Open Source?

#rsgecu2015DevOps: Infraestructura Agil con Open Source

He escuchado mucho acerca de DevOps ultimamente!

Qué es?

#rsgecu2015DevOps: Infraestructura Agil con Open Source

El problema

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Por qué?

#rsgecu2015DevOps: Infraestructura Agil con Open Source

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Como luce I.T. dentro demuchas organizaciones hoy?

#rsgecu2015DevOps: Infraestructura Agil con Open Source

DESARROLLO OPERACIONES

Aplicación versión X

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Operaciones está bajo mucha presión

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Los entornos suelen estar fuera de control

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Los devs quieren las últimas herramientas

#rsgecu2015DevOps: Infraestructura Agil con Open Source

El negocio demanda más!

#rsgecu2015DevOps: Infraestructura Agil con Open Source

La ventana de mantenimiento pasa de la medianoche

LA ULTIMA ACTUALIZACIÓN A UNA APLICACIÓN CRÍTICA

#rsgecu2015DevOps: Infraestructura Agil con Open Source

La ventana de mantenimiento pasa de la medianoche

La base de datos de producción se corrompe durante la actualización

LA ULTIMA ACTUALIZACIÓN A UNA APLICACIÓN CRÍTICA

#rsgecu2015DevOps: Infraestructura Agil con Open Source

La ventana de mantenimiento pasa de la medianoche

La base de datos de producción se corrompe durante la actualización

El sitio web está abajo

LA ULTIMA ACTUALIZACIÓN A UNA APLICACIÓN CRÍTICA

#rsgecu2015DevOps: Infraestructura Agil con Open Source

La ventana de mantenimiento pasa de la medianoche

La base de datos de producción se corrompe durante la actualización

El sitio web está abajo

No hay ventas

LA ULTIMA ACTUALIZACIÓN A UNA APLICACIÓN CRÍTICA

#rsgecu2015DevOps: Infraestructura Agil con Open Source

La ventana de mantenimiento pasa de la medianoche

La base de datos de producción se corrompe durante la actualización

El sitio web está abajo

No hay ventas

No se logran las metas del trimestre

LA ULTIMA ACTUALIZACIÓN A UNA APLICACIÓN CRÍTICA

#rsgecu2015DevOps: Infraestructura Agil con Open Source

AGILE SOFTWARE DEVELOPMENT

#rsgecu2015DevOps: Infraestructura Agil con Open Source

AGILE SOFTWARE DEVELOPMENT

#rsgecu2015DevOps: Infraestructura Agil con Open Source

AGILE SOFTWARE DEVELOPMENT

Conceptos clave:•Cambios pequeños → Menor riesgo•Fallar rápido y recuperarse vs. Nunca fallar•Cambio cultural: Aceptar la falla

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Qué es DevOps?

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Podemos transformar a Operaciones y Desarrollo en

DevOps?PEOPLE

PROCESS TECHNOLOGY

DEVOPS

“DevOps es una metodología de desarrollo de software que se centra en la comunicación, colaboración e integración entre desarrolladores de software y profesionales en las tecnologías de la información (IT).”

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Cómo habilitar DevOps?

The Three Ways: The Principles Underpinning DevOps(Gene Kim)

http://itrevolution.com/the-three-ways-principles-underpinning-devops/

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Cómo habilitar DevOps?

Entornos operacionales estandarizados Aprovisionamiento automático

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Cómo habilitar DevOps?

Continuous Integration Continuous Delivery

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Self-service Prototipaje rápido

Cómo habilitar DevOps?

#rsgecu2015DevOps: Infraestructura Agil con Open Source

DevOps

Idea ProductoFuncionalidad

SELFPROVISIONING

ENVIRONMENTSTANDARDIZATION

AUTOSCALING

CENTERALIZEDOPS MANAGEMENT

DEV QA UAT PROD

IDE CONFIGURATIONMANAGEMENT

CONTINUOUSINTEGRATION MONITORING

CYCLE TIME

PRODUCTMANAGER

DEVELOPERS TESTENGINEERS

OPERATIONS

CONTINUOUS DELIVERY

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Standard Operation Environment

Sistema Operativo:● Linux:

– CentOS– Fedora– Red Hat Enterprise Linux– Ubuntu

● Mac OS X– Muy popular en desarrollo!

● Windows– No

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Open Source Software

Evite costos excesivos

Siempre se puede hacer un 'fork'

Las cajas negras generan lock-in

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Sin Open Source no habría DevOps

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Virtualización o Cloud?

● Las arquitecturas modernas suelen tener cierta parte de su infraestructura en virtualización tradicional y otra en la nube

● Cómo saber cuál usar?– Mascotas vs. Ganado

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Virtualización o Cloud?

MASCOTA:● Le pones un nombre:

mail.soportelibre.com● Es única, amada y cuidada● Cuando se enferma la llevas al veterinario● Nombres? http://namingschemes.com

GANADO:● Le pones nombres como: vm0372-uio.lab.soportelibre.com● Son casi idénticos entre si● Cuando uno se enferma consigues otro!

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Virtualización o Cloud?

scale-up

scale-out

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Instalación de Infraestructura

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Instalación de Infraestructura

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Instalación de Infraestructura

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Instalación de Infraestructura: Hoy

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Instalación desatendida

● Fedora / CentOS / RHEL:● Instalación desatendida: Kickstart

installurl --url=http://satellite.soportelibre.com/rhel/rhel-server-6.6-x86_64/lang en_US.UTF-8keyboard usnetwork --onboot yes --device eth0 --bootproto dhcp --hostname minimal.soportelibre.comfirewall --service=sshtimezone --utc America/Guayaquilclearpart --allzerombrpart /boot --fstype=ext4 --size=256part swap --size=2048part / --fstype=ext4 --size=1 --grow%packages@basehttpdphp%end

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Instalación desatendida

● Fedora / CentOS / RHEL:● Instalación desatendida: Kickstart

installurl --url=http://satellite.soportelibre.com/rhel/rhel-server-6.6-x86_64/lang en_US.UTF-8keyboard usnetwork --onboot yes --device eth0 --bootproto dhcp --hostname minimal.soportelibre.comfirewall --service=sshtimezone --utc America/Guayaquilclearpart --allzerombrpart /boot --fstype=ext4 --size=256part swap --size=2048part / --fstype=ext4 --size=1 --grow%packages@basehttpdphp%end

Tada!

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Virtualización

● VirtualBox: Virtualización limitada en varias plataformas con emulación de dispositivos.

● KVM: Soportada en Linux, necesita hardware virtualization.

#rsgecu2015DevOps: Infraestructura Agil con Open Source

VirtualBox

● Plataforma de virtualización de Oracle● No es Open Source● Rendimiento menor a KVM● Multiples plataformas soportadas● Muy popular entre usuarios Mac OS X

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Virtualización con KVM

● Fedora + KVM en el desktop es posible, gracias a GNOME Boxes en Fedora

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Sistema Operativo

● Virtualizamos en el Desktop (Linux)● Desplegamos en la nube o en nuestros

servidores (Linux)● La versión utilizada en desarrollo debe ser la

misma que en producción!● DevOps: Estandarizar y automatizar el

despliegue de la plataforma

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Vagrant

● Herramienta para crear y configurar entornos virtuales

Soporta múltiples plataformas:- VirtualBox- KVM- VMWare

Soporta gestores de configuración:- Puppet- Chef- Ansible

http://vagrantup.com

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Vagrant

● Finalmente disponible en Fedora con soporte a KVM!

Fedora 21/22:

$ sudo yum install vagrant-libvirt$ vagrant box add {title} {url}$ vagrant init {title}$ vagrant up

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Infraestructura como código

● Entorno Operativo Estandarizado:– Sistema Operativo

– Lenguaje

– Librerías

– Servidor de aplicaciones

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Idempotencia

Estado A

Provisioning

Estado B

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Idempotencia

Estado B

Provisioning

Estado B

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Puppet

● Herramienta para gestión de configuración.

● Permite manejar la configuración de sistemas operativos Unix/Linux en forma declarativa.

● A información de la configuración se guarda en Manifests.

● Utiliza un DSL para describir la configuración.

http://puppetlabs.com

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Puppet

● Manifests: Archivos de configuración escritos en un DSL.

● Infraestructura como código:– Especificar que un paquete esté instalado:

package { 'openssh-server': ensure => present,}

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Puppet

● Modelo declarativo– Se define el estado, no el proceso

– Para definir que un servicio esté arriba:

service { 'ntp': name => 'ntpd', ensure => running,}

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Puppet

● Arquitectura– Maestro – Agente

– Esquema tipo Pull

– Identificación usando SSL

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Puppet

● manifests/site.pp

class 'dave' { user { 'dave': ensure => present, uid => '507', gid => 'admin', shell => '/bin/zsh', home => '/home/dave', managehome => true, } file {'/tmp/test1': ensure => present, content => "Hi.", }}

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Puppet

● Nodes:

node 'auth.soportelibre.com' { class { 'dave': }}

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Puppet

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Foreman

● Una forma de manejar Puppet en forma escalable:– Provisioning

– Configuration

– Monitoring

Foreman

http://theforeman.org

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Foreman

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Foreman

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Foreman

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Git

● Control de versionamiento● Dado que la configuración es código, este debe

estar versionado

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Git Repository

http://gitlab.com http://gitblit.com

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Ansible

● Simple● Sin agentes● Se ejecuta desde la

maquina del administrador● Usa Python y SSH● Modelo Push

http://ansible.com

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Ansible

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Ansible

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Ansible

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Ansible

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Mejores Prácticas

● No utilizar templates de máquinas virtuales● Separar el aprovisionamiento de la instalación● Usar llaves SSH, no passwords● Usar un SOE● Automatizar todo● Usar control de versionamiento

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Mejores Prácticas

● No utilizar templates de máquinas virtuales● Separar el aprovisionamiento de la instalación● Usar llaves SSH, no passwords● Usar un SOE● Automatizar todo● Usar control de versionamiento

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Docker

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Docker

Plataforma para construir, desplegar y ejecutar aplicaciones distribuidas utilizando Containers

http://docker.com

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Problema

x

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Solución

● Separación de responsabilidades● El usuario empaqueta● El transporte mueve el container

● Interface estándar

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Docker Containers

Preocupación del desarrollador:● Código● Librerias● Servicios● Configuración● Datos

Todos los servidores lucen iguales

Interface estandarizada para un contenedor de software

Preocupación del administrador:● Mover contenedores● Levantar / detener contenedores● Logging● Monitoreo● Configuración de redes

Todos los contenedores lucen iguales

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Docker

Máquinas Virtuales:Cada aplicacion incluye no solo la aplicación sino los binarios y librerias, pero además todo el sistema operativo

Docker:Solo se incluye la aplicación y sus dependencias. Cada sistema está aislado y correm procesos en forma separada. Mucho más eficiente.

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Docker

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Docker

# docker pull centos# docker run -it centos /bin/bash$ cat /etc/redhat-releaseCentOS Linux release 7.0.1406 (Core)

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Kubernetes

http://kubernetes.io/

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Kubernetes

● Orquestación de aplicaciones Docker● Servicios altamente disponibles● Configuración de containers en forma

declarativa

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Project Atomic

● Distribución de Linux pensada para correr contenedores Docker:– Basada en Fedora

– Versión soportada por Red Hat: RHEL Atomic Host

– Seguridad: SELinux

http://projectatomic.io

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Project Atomic

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Cloud:

Almacenamiento(RHS)

Hardware(x86)

Virtualización(RHEV)

Sistema Operativo(Linux)

Plataforma de aplicaciones(JBoss, PHP, Ruby, etc)

Aplicación

Automatizado y manejado por un Cloud Público o Privado

Manejado y controlado por el cliente (IT, Desarrollo, un usuario)

IaaS PaaS SaaS

Mayor Control

● Mayor Automatización

#rsgecu2015DevOps: Infraestructura Agil con Open Source

OpenShift

origin

Public Cloud Service

Private Cloud Software

Open Source Project

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Multi-lenguaje,Auto-escalable,Auto-servicio,

Elastico,Cloud Application Platform

OpenShift es un

PaaS Open Source

#rsgecu2015DevOps: Infraestructura Agil con Open Source

ALMACENAMIENTO(RHS)

HARDWARE(x86)

VIRTUALIZACIÓN(RHEV)

SISTEMA OPERATIVO(Linux)

PLATAFORMA APP(JBoss, PHP, Ruby, etc)

APLICACION

● Public Cloud Private Cloud

Desarro-llador

controla

Desarro-llador controla

Operado por Openshift

IT provee

OpenShift automatiza, IT controla

#rsgecu2015DevOps: Infraestructura Agil con Open Source

POWERED BY

OPENSHIFT

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Amazon / OpenStack (IaaS) / RHEV (Virt) / Servidores Físicos

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Linux Linux Linux

OpenShift esta formado por instancias de Linux

Linux

Amazon / OpenStack (IaaS) / RHEV (Virt) / Servidores Físicos

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Nodes: donde las aplicaciones residen.Brokers: mantienen a OpenShift corriendo.

Brokers Node Node Node

Linux Linux LinuxLinux

Amazon / OpenStack (IaaS) / RHEV (Virt) / Servidores Físicos

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Linux Linux

SELinux divide en forma segura cada instancia de un Node

Broker Node Node Node

Linux

Amazon / OpenStack (IaaS) / RHEV (Virt) / Servidores Físicos

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Linux Linux

Un Gear representa un contenedor seguro en Linux

Broker Node Node Node

Linux

Amazon / OpenStack (IaaS) / RHEV (Virt) / Servidores Físicos

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Flujo de trabajode desarrollador

Linux Linux

Un desarrollador crea una nueva aplicación OpenShift crea un Gear

Web ConsoleEclipse IDECmd Line

Broker Node Node Node

Linux

OpenShiftGear

Amazon / OpenStack (IaaS) / RHEV (Virt) / Servidores Físicos

#rsgecu2015DevOps: Infraestructura Agil con Open Source

OpenShift automatiza laconfiguración de un Gearmediante Cartuchos

Linux Linux

Cartridges: Es como OpenShift instala lenguajes y servidores

Web ConsoleEclipse IDECmd Line

Broker Node Node Node

Linux

Amazon / OpenStack (IaaS) / RHEV (Virt) / Servidores Físicos

JBoss MySQL

#rsgecu2015DevOps: Infraestructura Agil con Open Source

OpenShift tiene algunosCartridges incluídos

Se pueden añadir más...

CustomEtc.

Etc.

Ruby

Python

PHP

Java

Postgres

MySQL

OpenShift Default

Cartridges

Amazon / OpenStack (IaaS) / RHEV (Virt) / Servidores Físicos

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Code and Push

Linux Linux

El desarrollador empuja (push) sus cambios mediante Git

Git Protocol / ssh

Broker Node Node Node

Linux

Push

Amazon / OpenStack (IaaS) / RHEV (Virt) / Servidores Físicos

JBoss

Code

GitRepo MySQL

#rsgecu2015DevOps: Infraestructura Agil con Open Source

OpenShift automatiza:compila, prueba,publica

Linux Linux

Broker Node Node Node

Linux

Amazon / OpenStack (IaaS) / RHEV (Virt) / Servidores Físicos

Jenkins(CI)

Maven(Builds) Apache

(HTTP)

CodeJBoss

GitRepo MySQL

#rsgecu2015DevOps: Infraestructura Agil con Open Source

OpenShift automatizael escalamiento dela aplicación

Broker Node Node Node

Linux

HA-Proxy MySQLJava

CodeJava

CodeJava

X

Amazon / OpenStack (IaaS) / RHEV (Virt) / Servidores Físicos

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Los desarrolladores pueden escoger como trabajar con OpenShift

● Integración con IDE

Web BrowserConsole

Command LineTooling

REST APIs

#rsgecu2015DevOps: Infraestructura Agil con Open Source

El desarrollador escoge el lenguaje, framework y plataforma

#rsgecu2015DevOps: Infraestructura Agil con Open Source

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Apache 2.0 LicenseDisponible como:

• Source, RPMs• .ISO, LiveCD

IRC, email, forums

Versión Open Source para despliegue en Nube Privada:

https://github.com/openshift

OpenShift Origin

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Como usar OpenShift?

http://www.openshift.com

#rsgecu2015DevOps: Infraestructura Agil con Open Source

DevOps en la vida real

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Usando Ansible en la vida real

● Cliente financiero, aplicación bancaria altamente disponible

● Arquitectura n-capas, Disaster Recovery, ambientes Intranet e Internet

● Desplegado sobre Linux, servidores de aplicaciones JBoss

● Versionamiento Git

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Usando Ansible en la vida real

● Plataformas:– JBoss EWS (load balancers)

– JBoss EAP 6 (app servers)

– JBoss Fuse Service Works 6 (integration)

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Usando Ansible en la vida real

● 3 ambientes:– Desarrollo

– Pre-producción

– Producción

● Dos escenarios:– Internet

– Intranet

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Usando Ansible en la vida real

● 50+ máquinas virtuales– Red Hat Enterprise Virtualization

– Storage: IBM Storwize v7000

– Disaster Recovery: Guayaquil

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Usando Ansible en la vida real

● Virtualización: Red Hat Enterprise Virtualization● Sistema Operativo: Red Hat Enterprise Linux

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Usando Ansible en la vida real

● Configuration Management:– Ansible:

– Repetible

– Versionamiento (Git)

– 45 minutos para reinstalar toda la infraestructura

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Usando Ansible en la vida real

---

# Despliegue de toda la infraestructura

- name: Aplicar configuracion comun a todos los servidores

hosts: all

roles:

- common

- name: Configurar y desplegar servidores RHEL + Balancer Add-On

hosts: lb

roles:

- lb

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Usando Ansible en la vida real

---

- name: Configurar DNS

copy: src=resolv.conf

dest=/etc/resolv.conf

roles/common/task/main.yml

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Usando Ansible en la vida real

- name: Instalar paquetes comunes

yum: name={{ item }}

state=installed

with_items:

- elinks

- libselinux-python

- nc

- ntp

- openssh-clients

- rsync

- screen

- unzip

- vim-enhanced

- wget

roles/common/task/main.yml

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Usando Ansible en la vida real

- name: Configurar NTP

template: src=ntp.conf.j2

dest=/etc/ntp.conf

owner=root

group=root

mode=0644

notify: restart ntpd

tags: ntp

roles/common/task/main.yml

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Usando Ansible en la vida real

- name: Iniciar servicio ntpd

service: name=ntpd

state=started

enabled=yes

tags: ntp

roles/common/task/main.yml

- name: Crear usuario rarguello user: name=rarguello

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Usando Ansible en la vida real

- name: Crear usuario rarguello

user: name=rarguello

- name: Configurar authorized_key para usuario rarguello

authorized_key: user=rarguello

key="ssh-rsa AAAAB3NzaC1yc2..."

roles/common/task/main.yml

- name: Crear usuario rarguello user: name=rarguello

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Usando Ansible en la vida real

- name: Iniciar servicio ntpd

service: name=ntpd

state=started

enabled=yes

tags: ntp

roles/common/task/main.yml

- name: Crear usuario rarguello user: name=rarguello

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Usando Ansible en la vida real

- name: Configurar NTP

template: src=ntp.conf.j2

dest=/etc/ntp.conf

owner=root

group=root

mode=0644

notify: restart ntpd

tags: ntp

roles/common/task/main.yml

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Usando Ansible en la vida real

- name: Install JBoss Enterprise Web Server

yum: name={{ item }}

state=present

with_items:

- httpd

- mod_ssl

- mod_jk-ap22

- mod_cluster-native

tags: httpd

- name: Create the mod_cluster.conf file

template: src=mod_cluster.conf.j2

dest=/etc/httpd/conf.d/mod_cluster.conf

owner=root

group=root

mode=0644

notify: restart httpd

tags: httpd

roles/common/task/main.yml

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Usando Ansible en la vida real

- name: Configurar NTP

template: src=ntp.conf.j2

dest=/etc/ntp.conf

owner=root

group=root

mode=0644

notify: restart ntpd

tags: ntp

roles/common/task/main.yml

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Usando Ansible en la vida real

- name: Instalar paquetes comunes

yum: name={{ item }}

state=installed

with_items:

- elinks

- libselinux-python

- nc

- ntp

- openssh-clients

- rsync

- screen

- unzip

- vim-enhanced

- wget

roles/common/task/main.yml

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Usando Ansible en la vida real

diff --git a/roles/ews/tasks/main.yml b/roles/ews/tasks/main.yml

index b3edb03..a160b3e 100644

--- a/roles/ews/tasks/main.yml

+++ b/roles/ews/tasks/main.yml

@@ -7,6 +7,7 @@

- mod_ssl

- mod_jk-ap22

- mod_cluster-native

+ - php

tags: httpd

- name: Create the mod_cluster.conf file

$ git diff

#rsgecu2015DevOps: Infraestructura Agil con Open Source

#rsgecu2015DevOps: Infraestructura Agil con Open Source

Ricardo Arguello

[email protected]

@ricardoarguello