SlideShare una empresa de Scribd logo
En un mundo donde la existencia de arquitecturas variables, contextos heterogéneos y una
gran cantidad de nodos por gestionar, la tarea de administrar se ha convertido en una tarea
tediosa y muchas veces repetitiva, por lo que surge la necesidad de contar con herramientas e
instrumentos que permitan a los SysAdmin y Developers automatizar estos procesos de forma
sencilla, entendible y segura, independientemente si se encuentran en arquitecturas de nodos
físicos, virtuales o en la nube.
Ansible es una plataforma de software libre para configurar y administrar ordenadores y/o
servidores.
Que es ansible
Ansible es una herramienta que nos permite gestionar configuraciones, aprovisionamiento de
recursos, orquestación, despliegue automático de aplicaciones y muchas otras tareas de TI de
una forma limpia, sencilla y segura.
Ansible permite
• Instalaciones multi-nodo
• Ejecuciones de tareas ad hoc
• Administración de configuraciones
• Manejar nodos a través de SSH
Para todo esto y mucho más, no requiere ningún software remoto adicional (excepto Python 2.4
o posterior).
Características
• Mínimalista: Es una sistema de administración que no impone dependencias
adicionales.
• Consistente: Es muy robusto y fuerte en su funcionalidad
• Seguro: Ansible no instala agentes vulnerables en los nodos. Solamente se requiere
OpenSSH que es considerado crítico y altamente testeado.
• Alta confiabilidad: El modelo de idempotencia es aplicado para las instalaciones y
configuraciones, para prevenir efectos secundarios en la ejecución repetitiva de scripts.
• Curva de aprendizaje mínima: ya que hace uso de de los playbooks, los cuales usan
un lenguaje descriptivo simple, basado en YAML.
Integración con diferentes arquitecturas
Independientemente de la arquitectura que disponga nuestra infraestructura, Ansible puede
instalarse en ambientes físicos, virtualizados, nubes públicas y privadas; también puede
instalarse en entornos para analizar y archivar big data.
¿En qué se diferencia de otras herramientas similares?
• No necesita agentes
• No requiere de configuraciones engorrosas y complicadas
• Flexibilidad (API, Módulos, Plugins)
• Facilidad de uso
Componentes
• Máquina de Administración: es la máquina donde tenemos instalado Ansible, y desde
donde podremos ejecutar las tareas y/o gestionar los nodos.
• Inventario: es una descripción de los nodos que pueden ser accedidos por Ansible
(maquina de administración). El inventario está descrito por un archivo de configuración,
en formato INI, cuya ubicación por defecto es /etc/ansible/hosts. En el archivo de
configuración se listan las direcciones IP o hostname de cada nodo que es accesible por
Ansible. Además, los nodos pueden ser asignados a grupos.
• Playbook: describen configuraciones, despliegue, y orquestación; el formato del
Playbook es YAML. Cada Playbook asocia un grupo de hosts a un conjunto de roles,
cada rol está representado por llamadas a lo que Ansible define como Tareas. En
resumen un PlayBook lista las tareas que deben ejecutarse en los diferentes nodos.
• Tarea: son bloques dentro del Playbook donde se define una acción específica a realizar
(instalar paquetes, ejecutar scripts, verificar estado de actualizaciones, etc).
• Modulo: son las unidades de trabajo en Ansible; cada módulo es auto-suficiente y puede
ser escrito en lenguaje estándar de scripting, como ser Python, Perl, Ruby, Bash, etc.
Una de las propiedades principales de los módulos es la idempotencia la cual asegura
que ninguna operación se realizará una vez que el sistema ha alcanzado el estado
deseado.
• Roles: permiten ordenar los diferentes Playbooks.
• Facts: variables dentro de Ansible que contienen información sobre los servidores
(Sistema Operativo, Cantidad de Ram, Direcciones IP, etc)
• Handlers: código que se usa cuando algo cambia o existen excepciones (si actualizas
el archivo de configuración de Apache, un Handler re-iniciará el servicio httpd).
Como funciona Ansible
• Ansible no precisa instalar ni Agentes, solo un equipo a partir del cual se realizará la
gestión de los diferentes nodos.
• Ansible se conecta a los nodos que se desea gestionar, aprovisionar u orquestar
utilizando una conexión SSH, mediante la cual le envía una serie de instrucciones a
ejecutar y/o configuraciones que se desee aplicar.
¿Quiénes usan Ansible actualmente?
Por su simplicidad Ansible es utilizado por muchísimas empresas. Entre ellas:
• Atlassian
• NASA
• Evernote
• Spotify
• Verisign
• RedHat
• Amazon
Instalación
• RedHat y Centos: yum install ansible
• Debian: apt-get install ansible
Pasos para realizar la gestión de nodos
• Conectar el equipo de administración con los nodos
• Configurar el inventario de nodos
• Realizar pruebas de conectividad
• Realizar la gestión y/o aprovisionamiento
Conectar el equipo de administración con los nodos
Generar la llave
Generar la llave en el nodo administrador
ssh-keygen
Esto genera
~/.ssh/id_rsa
~/.ssh/id_rsa.pub
Copiar la llave pública
Copiar la llave del nodo administrador a los nodos a administrar
ssh-copy-id -i ~/.ssh/id_rsa.pub root@web01.atixlibre.org
ssh-copy-id -i ~/.ssh/id_rsa.pub root@web01.atixlibre.org
ssh-copy-id -i ~/.ssh/id_rsa.pub root@web01.atixlibre.org
Archivos de configuración
/etc/ansible/
Configurar el inventario de nodos
/etc/ansible/hosts
[servidoresweb]
web01.atixlibre.org
web02.atixlibre.org
web03.atixlibre.org
[basesdedatos]
db01.atixlibre.org
db02.atixlibre.org
db03.atixlibre.org
Realizar pruebas de conectividad
Ejecución ad hoc
ansible all -m ping -u root
Resultado
192.168.101.104 | success >> {
"changed": false,
"ping": "pong"
}
Ejecución sin -u root
192.168.100.10 | FAILED => SSH encountered an unknown error during the connection. We
recommend you re-run the command using -vvvv, which will enable SSH debugging output to
help diagnose the issue
Ejecución desde un playbook
playbook_test.yml
- hosts: servidoresweb
remote_user: root
tasks:
- name: test de conexión
ping:
ansible-playbook playbook_test.yml
Partes de una tarea
Name: Cada tarea tiene un nombre, que sirve para identificar la tarea y también para el
seguimiento de la misma.
Ejemplo
tasks:
- name: Verificar si apache esta correindo
service: name=httpd state=running
notify: son las acciones que se ejecutarán al final de cada tarea en el Playbook. Sólo serán
ejecutadas una vez, incluso cuando sean llamadas por diferentes tareas. Por ejemplo: Muchas
tareas pueden solicitar el reinicio de algún servicio específico, pero este sólo será reiniciado una
sola vez.
Ejemplo
notify:
- restart apache
Ejecución
ansible-playbook playbook.yml
Ejemplo de playbook
Crear un Playbook llamado webserver.yml, con el que vamos a instalar las herramientas
necesarias para publicar una página web en varios servidores.
#######################################
# Hosts donde se realizarán las tareas
#######################################
- hosts: servidoresweb
user: root
#####################################
# Instalación de paquetes necesarios.
#####################################
tasks:
- name: General | Instalación de paquetes requeridos.
action: apt pkg={{ item }} state=installed with_items:
- php5
- apache2
- mysql-server
- mysql-client
- php5-mysql
- php-apc
- php5-xmlrpc
- php-soap
- php5-gd
- unzip
- python-mysqldb
###########################
# Configuración de Apache2.
###########################
- name: Apache2 | Habilitar módulos
action: command a2enmod rewrite vhost_alias
#######################
# Reinicio de servicios
#######################
- name: Reiniciar Apache
action: service name=apache2 state=restarted
Ejecución del playbook
ansible-playbook webserver.yml
PLAY [webserver] **************************************************************
GATHERING FACTS ***************************************************************
ok: [192.168.101.104]
TASK: [General | Instalación de paquetes requeridos.] ************************
changed: [192.168.101.104] => (item=php5,apache2,mysql-server,mysql-client,php5-
mysql,php-apc,php5-xmlrpc,php-soap,php5-gd,unzip,python-mysqldb)
TASK: [Apache2 | Habilitar modulos] *******************************************
changed: [192.168.101.104]
TASK: [Restart Apache] ********************************************************
changed: [192.168.101.104]
PLAY RECAP ********************************************************************
192.168.101.104 : ok=4 changed=3 unreachable=0 failed=0
Referencias
[1] http://ww.ansible.com

Más contenido relacionado

La actualidad más candente

Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
Amazon Web Services
 
IT Automation with Ansible
IT Automation with AnsibleIT Automation with Ansible
IT Automation with Ansible
Rayed Alrashed
 
Ansible
AnsibleAnsible
Ansible
Vishal Yadav
 
Red hat ansible automation technical deck
Red hat ansible automation technical deckRed hat ansible automation technical deck
Red hat ansible automation technical deck
Juraj Hantak
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
Viyaan Jhiingade
 
Ansible
AnsibleAnsible
Ansible
Raul Leite
 
Ansible Automation Platform.pdf
Ansible Automation Platform.pdfAnsible Automation Platform.pdf
Ansible Automation Platform.pdf
VuHoangAnh14
 
Ansible - Hands on Training
Ansible - Hands on TrainingAnsible - Hands on Training
Ansible - Hands on Training
Mehmet Ali Aydın
 
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
Simplilearn
 
Ansible
AnsibleAnsible
Ansible
Knoldus Inc.
 
Getting started with Ansible
Getting started with AnsibleGetting started with Ansible
Getting started with Ansible
Ivan Serdyuk
 
Configuration Management in Ansible
Configuration Management in Ansible Configuration Management in Ansible
Configuration Management in Ansible
Bangladesh Network Operators Group
 
Lenovo XClarity and Dell Systems Management
Lenovo XClarity and Dell Systems ManagementLenovo XClarity and Dell Systems Management
Lenovo XClarity and Dell Systems Management
Lenovo Data Center
 
Ansible presentation
Ansible presentationAnsible presentation
Ansible presentation
Kumar Y
 
Ansible Automation - Enterprise Use Cases | Juncheng Anthony Lin
Ansible Automation - Enterprise Use Cases | Juncheng Anthony LinAnsible Automation - Enterprise Use Cases | Juncheng Anthony Lin
Ansible Automation - Enterprise Use Cases | Juncheng Anthony Lin
Vietnam Open Infrastructure User Group
 
DevOps Meetup ansible
DevOps Meetup   ansibleDevOps Meetup   ansible
DevOps Meetup ansible
sriram_rajan
 
Automating with Ansible
Automating with AnsibleAutomating with Ansible
Automating with Ansible
Ricardo Schmidt
 
AWS Elastic Beanstalk
AWS Elastic BeanstalkAWS Elastic Beanstalk
AWS Elastic Beanstalk
TO THE NEW | Technology
 
Deep Dive - Amazon Virtual Private Cloud (VPC)
Deep Dive - Amazon Virtual Private Cloud (VPC)Deep Dive - Amazon Virtual Private Cloud (VPC)
Deep Dive - Amazon Virtual Private Cloud (VPC)
Amazon Web Services
 
Introduction to Ansible
Introduction to AnsibleIntroduction to Ansible
Introduction to Ansible
CoreStack
 

La actualidad más candente (20)

Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
IT Automation with Ansible
IT Automation with AnsibleIT Automation with Ansible
IT Automation with Ansible
 
Ansible
AnsibleAnsible
Ansible
 
Red hat ansible automation technical deck
Red hat ansible automation technical deckRed hat ansible automation technical deck
Red hat ansible automation technical deck
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Ansible
AnsibleAnsible
Ansible
 
Ansible Automation Platform.pdf
Ansible Automation Platform.pdfAnsible Automation Platform.pdf
Ansible Automation Platform.pdf
 
Ansible - Hands on Training
Ansible - Hands on TrainingAnsible - Hands on Training
Ansible - Hands on Training
 
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
 
Ansible
AnsibleAnsible
Ansible
 
Getting started with Ansible
Getting started with AnsibleGetting started with Ansible
Getting started with Ansible
 
Configuration Management in Ansible
Configuration Management in Ansible Configuration Management in Ansible
Configuration Management in Ansible
 
Lenovo XClarity and Dell Systems Management
Lenovo XClarity and Dell Systems ManagementLenovo XClarity and Dell Systems Management
Lenovo XClarity and Dell Systems Management
 
Ansible presentation
Ansible presentationAnsible presentation
Ansible presentation
 
Ansible Automation - Enterprise Use Cases | Juncheng Anthony Lin
Ansible Automation - Enterprise Use Cases | Juncheng Anthony LinAnsible Automation - Enterprise Use Cases | Juncheng Anthony Lin
Ansible Automation - Enterprise Use Cases | Juncheng Anthony Lin
 
DevOps Meetup ansible
DevOps Meetup   ansibleDevOps Meetup   ansible
DevOps Meetup ansible
 
Automating with Ansible
Automating with AnsibleAutomating with Ansible
Automating with Ansible
 
AWS Elastic Beanstalk
AWS Elastic BeanstalkAWS Elastic Beanstalk
AWS Elastic Beanstalk
 
Deep Dive - Amazon Virtual Private Cloud (VPC)
Deep Dive - Amazon Virtual Private Cloud (VPC)Deep Dive - Amazon Virtual Private Cloud (VPC)
Deep Dive - Amazon Virtual Private Cloud (VPC)
 
Introduction to Ansible
Introduction to AnsibleIntroduction to Ansible
Introduction to Ansible
 

Similar a Ansible

Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Francisco Javier Toscano Lopez
 
Gestionando tu infraestructura con Ansible
Gestionando tu infraestructura con Ansible Gestionando tu infraestructura con Ansible
Gestionando tu infraestructura con Ansible
Moisés Maciá
 
Ansible + AWS: Cómo administrar tu infraestructura de AWS con Ansible
Ansible + AWS: Cómo administrar tu infraestructura de AWS con AnsibleAnsible + AWS: Cómo administrar tu infraestructura de AWS con Ansible
Ansible + AWS: Cómo administrar tu infraestructura de AWS con Ansible
Quito Lambda
 
Tuning Lamp
Tuning LampTuning Lamp
Tuning Lamp
Ian Monge Pérez
 
Kubernetes workshop
Kubernetes workshopKubernetes workshop
Kubernetes workshop
Raúl Requero García
 
Despliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informáticaDespliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informática
ssuserbd237f
 
Introduccion a Ansible
Introduccion a AnsibleIntroduccion a Ansible
Introduccion a Ansible
Osvaldo
 
Instalacion de osc inventory en ubuntu
Instalacion de osc inventory en ubuntuInstalacion de osc inventory en ubuntu
Instalacion de osc inventory en ubuntuEcuteb Gv
 
Servicios Debian
Servicios DebianServicios Debian
Servicios Debianragmyl
 
Oracle 11g galo saquinaula
Oracle 11g galo saquinaulaOracle 11g galo saquinaula
Oracle 11g galo saquinaula
Galo Saquinaula
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en Linux
SolidQ
 
Construyendo una nube con OpenStack
Construyendo una nube con OpenStackConstruyendo una nube con OpenStack
Construyendo una nube con OpenStack
LibreCon
 
From On Premise to Full Architectures On Openstack (spanish version)
From On Premise to Full Architectures On Openstack (spanish version)From On Premise to Full Architectures On Openstack (spanish version)
From On Premise to Full Architectures On Openstack (spanish version)
Francisco Araya
 
From on premise to full architectures on Openstack
From on premise to full architectures on OpenstackFrom on premise to full architectures on Openstack
From on premise to full architectures on Openstack
Guillermo Alvarado Mejía
 
dockerize.it
dockerize.itdockerize.it
dockerize.it
betabeers
 
Curso TIC de PHP y MSQL Parte 1
Curso TIC de PHP y MSQL Parte 1Curso TIC de PHP y MSQL Parte 1
Curso TIC de PHP y MSQL Parte 1Wilian
 
Proyecto monitorización nagios_felix
Proyecto monitorización nagios_felixProyecto monitorización nagios_felix
Proyecto monitorización nagios_felix
Félix Aranda Palma
 

Similar a Ansible (20)

Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
 
Gestionando tu infraestructura con Ansible
Gestionando tu infraestructura con Ansible Gestionando tu infraestructura con Ansible
Gestionando tu infraestructura con Ansible
 
Ansible + AWS: Cómo administrar tu infraestructura de AWS con Ansible
Ansible + AWS: Cómo administrar tu infraestructura de AWS con AnsibleAnsible + AWS: Cómo administrar tu infraestructura de AWS con Ansible
Ansible + AWS: Cómo administrar tu infraestructura de AWS con Ansible
 
Tuning Lamp
Tuning LampTuning Lamp
Tuning Lamp
 
Kubernetes workshop
Kubernetes workshopKubernetes workshop
Kubernetes workshop
 
Despliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informáticaDespliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informática
 
Introduccion a Ansible
Introduccion a AnsibleIntroduccion a Ansible
Introduccion a Ansible
 
Instalacion de osc inventory en ubuntu
Instalacion de osc inventory en ubuntuInstalacion de osc inventory en ubuntu
Instalacion de osc inventory en ubuntu
 
Kernel
KernelKernel
Kernel
 
Servicios Debian
Servicios DebianServicios Debian
Servicios Debian
 
Oracle 11g galo saquinaula
Oracle 11g galo saquinaulaOracle 11g galo saquinaula
Oracle 11g galo saquinaula
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en Linux
 
Construyendo una nube con OpenStack
Construyendo una nube con OpenStackConstruyendo una nube con OpenStack
Construyendo una nube con OpenStack
 
From On Premise to Full Architectures On Openstack (spanish version)
From On Premise to Full Architectures On Openstack (spanish version)From On Premise to Full Architectures On Openstack (spanish version)
From On Premise to Full Architectures On Openstack (spanish version)
 
From on premise to full architectures on Openstack
From on premise to full architectures on OpenstackFrom on premise to full architectures on Openstack
From on premise to full architectures on Openstack
 
dockerize.it
dockerize.itdockerize.it
dockerize.it
 
Servidores GNU/LINUX
Servidores GNU/LINUXServidores GNU/LINUX
Servidores GNU/LINUX
 
Curso TIC de PHP y MSQL Parte 1
Curso TIC de PHP y MSQL Parte 1Curso TIC de PHP y MSQL Parte 1
Curso TIC de PHP y MSQL Parte 1
 
Cluster
ClusterCluster
Cluster
 
Proyecto monitorización nagios_felix
Proyecto monitorización nagios_felixProyecto monitorización nagios_felix
Proyecto monitorización nagios_felix
 

Más de Esteban Saavedra

Atix30
Atix30Atix30
Atix29
Atix29Atix29
Atix28
Atix28Atix28
Atix27
Atix27Atix27
Atix26
Atix26Atix26
Atix25
Atix25Atix25
Rabbitmq
RabbitmqRabbitmq
Perl
PerlPerl
Atix23
Atix23Atix23
Lineas Base Migracion a Software Libre
Lineas Base Migracion a Software LibreLineas Base Migracion a Software Libre
Lineas Base Migracion a Software Libre
Esteban Saavedra
 
Seguridad Sistemas de Gobierno
Seguridad Sistemas de GobiernoSeguridad Sistemas de Gobierno
Seguridad Sistemas de Gobierno
Esteban Saavedra
 
Tunneling: Esquivando Restricciones de Proxies y Firewalls
Tunneling: Esquivando Restricciones de Proxies y FirewallsTunneling: Esquivando Restricciones de Proxies y Firewalls
Tunneling: Esquivando Restricciones de Proxies y Firewalls
Esteban Saavedra
 
Bi Un Modelo Eficiente para Gerenciar Empresas
Bi Un Modelo Eficiente para Gerenciar EmpresasBi Un Modelo Eficiente para Gerenciar Empresas
Bi Un Modelo Eficiente para Gerenciar Empresas
Esteban Saavedra
 
Clouds privadas
Clouds privadasClouds privadas
Clouds privadas
Esteban Saavedra
 
Introduccion Computacion Ubicua
Introduccion Computacion UbicuaIntroduccion Computacion Ubicua
Introduccion Computacion Ubicua
Esteban Saavedra
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web Grails
Esteban Saavedra
 
Avances Tecnologicos
Avances TecnologicosAvances Tecnologicos
Avances Tecnologicos
Esteban Saavedra
 
Dni Electronico Bolivia
Dni Electronico BoliviaDni Electronico Bolivia
Dni Electronico Bolivia
Esteban Saavedra
 
E technologies
E technologiesE technologies
E technologies
Esteban Saavedra
 

Más de Esteban Saavedra (20)

Atix30
Atix30Atix30
Atix30
 
Atix29
Atix29Atix29
Atix29
 
Atix28
Atix28Atix28
Atix28
 
Atix27
Atix27Atix27
Atix27
 
Atix26
Atix26Atix26
Atix26
 
Atix25
Atix25Atix25
Atix25
 
Rabbitmq
RabbitmqRabbitmq
Rabbitmq
 
Perl
PerlPerl
Perl
 
Atix24
Atix24Atix24
Atix24
 
Atix23
Atix23Atix23
Atix23
 
Lineas Base Migracion a Software Libre
Lineas Base Migracion a Software LibreLineas Base Migracion a Software Libre
Lineas Base Migracion a Software Libre
 
Seguridad Sistemas de Gobierno
Seguridad Sistemas de GobiernoSeguridad Sistemas de Gobierno
Seguridad Sistemas de Gobierno
 
Tunneling: Esquivando Restricciones de Proxies y Firewalls
Tunneling: Esquivando Restricciones de Proxies y FirewallsTunneling: Esquivando Restricciones de Proxies y Firewalls
Tunneling: Esquivando Restricciones de Proxies y Firewalls
 
Bi Un Modelo Eficiente para Gerenciar Empresas
Bi Un Modelo Eficiente para Gerenciar EmpresasBi Un Modelo Eficiente para Gerenciar Empresas
Bi Un Modelo Eficiente para Gerenciar Empresas
 
Clouds privadas
Clouds privadasClouds privadas
Clouds privadas
 
Introduccion Computacion Ubicua
Introduccion Computacion UbicuaIntroduccion Computacion Ubicua
Introduccion Computacion Ubicua
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web Grails
 
Avances Tecnologicos
Avances TecnologicosAvances Tecnologicos
Avances Tecnologicos
 
Dni Electronico Bolivia
Dni Electronico BoliviaDni Electronico Bolivia
Dni Electronico Bolivia
 
E technologies
E technologiesE technologies
E technologies
 

Último

Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
durangense277
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 

Último (20)

Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 

Ansible

  • 1. En un mundo donde la existencia de arquitecturas variables, contextos heterogéneos y una gran cantidad de nodos por gestionar, la tarea de administrar se ha convertido en una tarea tediosa y muchas veces repetitiva, por lo que surge la necesidad de contar con herramientas e instrumentos que permitan a los SysAdmin y Developers automatizar estos procesos de forma sencilla, entendible y segura, independientemente si se encuentran en arquitecturas de nodos físicos, virtuales o en la nube. Ansible es una plataforma de software libre para configurar y administrar ordenadores y/o servidores. Que es ansible Ansible es una herramienta que nos permite gestionar configuraciones, aprovisionamiento de recursos, orquestación, despliegue automático de aplicaciones y muchas otras tareas de TI de una forma limpia, sencilla y segura. Ansible permite • Instalaciones multi-nodo • Ejecuciones de tareas ad hoc • Administración de configuraciones • Manejar nodos a través de SSH Para todo esto y mucho más, no requiere ningún software remoto adicional (excepto Python 2.4 o posterior).
  • 2. Características • Mínimalista: Es una sistema de administración que no impone dependencias adicionales. • Consistente: Es muy robusto y fuerte en su funcionalidad • Seguro: Ansible no instala agentes vulnerables en los nodos. Solamente se requiere OpenSSH que es considerado crítico y altamente testeado. • Alta confiabilidad: El modelo de idempotencia es aplicado para las instalaciones y configuraciones, para prevenir efectos secundarios en la ejecución repetitiva de scripts. • Curva de aprendizaje mínima: ya que hace uso de de los playbooks, los cuales usan un lenguaje descriptivo simple, basado en YAML. Integración con diferentes arquitecturas Independientemente de la arquitectura que disponga nuestra infraestructura, Ansible puede instalarse en ambientes físicos, virtualizados, nubes públicas y privadas; también puede instalarse en entornos para analizar y archivar big data. ¿En qué se diferencia de otras herramientas similares? • No necesita agentes • No requiere de configuraciones engorrosas y complicadas • Flexibilidad (API, Módulos, Plugins) • Facilidad de uso
  • 3. Componentes • Máquina de Administración: es la máquina donde tenemos instalado Ansible, y desde donde podremos ejecutar las tareas y/o gestionar los nodos. • Inventario: es una descripción de los nodos que pueden ser accedidos por Ansible (maquina de administración). El inventario está descrito por un archivo de configuración, en formato INI, cuya ubicación por defecto es /etc/ansible/hosts. En el archivo de configuración se listan las direcciones IP o hostname de cada nodo que es accesible por Ansible. Además, los nodos pueden ser asignados a grupos. • Playbook: describen configuraciones, despliegue, y orquestación; el formato del Playbook es YAML. Cada Playbook asocia un grupo de hosts a un conjunto de roles, cada rol está representado por llamadas a lo que Ansible define como Tareas. En resumen un PlayBook lista las tareas que deben ejecutarse en los diferentes nodos. • Tarea: son bloques dentro del Playbook donde se define una acción específica a realizar (instalar paquetes, ejecutar scripts, verificar estado de actualizaciones, etc). • Modulo: son las unidades de trabajo en Ansible; cada módulo es auto-suficiente y puede ser escrito en lenguaje estándar de scripting, como ser Python, Perl, Ruby, Bash, etc. Una de las propiedades principales de los módulos es la idempotencia la cual asegura que ninguna operación se realizará una vez que el sistema ha alcanzado el estado deseado. • Roles: permiten ordenar los diferentes Playbooks. • Facts: variables dentro de Ansible que contienen información sobre los servidores (Sistema Operativo, Cantidad de Ram, Direcciones IP, etc) • Handlers: código que se usa cuando algo cambia o existen excepciones (si actualizas el archivo de configuración de Apache, un Handler re-iniciará el servicio httpd). Como funciona Ansible • Ansible no precisa instalar ni Agentes, solo un equipo a partir del cual se realizará la gestión de los diferentes nodos. • Ansible se conecta a los nodos que se desea gestionar, aprovisionar u orquestar utilizando una conexión SSH, mediante la cual le envía una serie de instrucciones a ejecutar y/o configuraciones que se desee aplicar. ¿Quiénes usan Ansible actualmente? Por su simplicidad Ansible es utilizado por muchísimas empresas. Entre ellas: • Atlassian • NASA • Evernote • Spotify • Verisign • RedHat • Amazon
  • 4. Instalación • RedHat y Centos: yum install ansible • Debian: apt-get install ansible Pasos para realizar la gestión de nodos • Conectar el equipo de administración con los nodos • Configurar el inventario de nodos • Realizar pruebas de conectividad • Realizar la gestión y/o aprovisionamiento Conectar el equipo de administración con los nodos Generar la llave Generar la llave en el nodo administrador ssh-keygen Esto genera ~/.ssh/id_rsa ~/.ssh/id_rsa.pub Copiar la llave pública Copiar la llave del nodo administrador a los nodos a administrar ssh-copy-id -i ~/.ssh/id_rsa.pub root@web01.atixlibre.org ssh-copy-id -i ~/.ssh/id_rsa.pub root@web01.atixlibre.org ssh-copy-id -i ~/.ssh/id_rsa.pub root@web01.atixlibre.org Archivos de configuración /etc/ansible/ Configurar el inventario de nodos /etc/ansible/hosts [servidoresweb] web01.atixlibre.org web02.atixlibre.org web03.atixlibre.org
  • 5. [basesdedatos] db01.atixlibre.org db02.atixlibre.org db03.atixlibre.org Realizar pruebas de conectividad Ejecución ad hoc ansible all -m ping -u root Resultado 192.168.101.104 | success >> { "changed": false, "ping": "pong" } Ejecución sin -u root 192.168.100.10 | FAILED => SSH encountered an unknown error during the connection. We recommend you re-run the command using -vvvv, which will enable SSH debugging output to help diagnose the issue Ejecución desde un playbook playbook_test.yml - hosts: servidoresweb remote_user: root tasks: - name: test de conexión ping: ansible-playbook playbook_test.yml Partes de una tarea Name: Cada tarea tiene un nombre, que sirve para identificar la tarea y también para el seguimiento de la misma. Ejemplo tasks: - name: Verificar si apache esta correindo service: name=httpd state=running notify: son las acciones que se ejecutarán al final de cada tarea en el Playbook. Sólo serán ejecutadas una vez, incluso cuando sean llamadas por diferentes tareas. Por ejemplo: Muchas tareas pueden solicitar el reinicio de algún servicio específico, pero este sólo será reiniciado una sola vez.
  • 6. Ejemplo notify: - restart apache Ejecución ansible-playbook playbook.yml Ejemplo de playbook Crear un Playbook llamado webserver.yml, con el que vamos a instalar las herramientas necesarias para publicar una página web en varios servidores. ####################################### # Hosts donde se realizarán las tareas ####################################### - hosts: servidoresweb user: root ##################################### # Instalación de paquetes necesarios. ##################################### tasks: - name: General | Instalación de paquetes requeridos. action: apt pkg={{ item }} state=installed with_items: - php5 - apache2 - mysql-server - mysql-client - php5-mysql - php-apc - php5-xmlrpc - php-soap - php5-gd - unzip - python-mysqldb ########################### # Configuración de Apache2. ########################### - name: Apache2 | Habilitar módulos action: command a2enmod rewrite vhost_alias ####################### # Reinicio de servicios ####################### - name: Reiniciar Apache action: service name=apache2 state=restarted
  • 7. Ejecución del playbook ansible-playbook webserver.yml PLAY [webserver] ************************************************************** GATHERING FACTS *************************************************************** ok: [192.168.101.104] TASK: [General | Instalación de paquetes requeridos.] ************************ changed: [192.168.101.104] => (item=php5,apache2,mysql-server,mysql-client,php5- mysql,php-apc,php5-xmlrpc,php-soap,php5-gd,unzip,python-mysqldb) TASK: [Apache2 | Habilitar modulos] ******************************************* changed: [192.168.101.104] TASK: [Restart Apache] ******************************************************** changed: [192.168.101.104] PLAY RECAP ******************************************************************** 192.168.101.104 : ok=4 changed=3 unreachable=0 failed=0 Referencias [1] http://ww.ansible.com