Giter Site home page Giter Site logo

ansible_demo's Introduction

Linux

Instalar y configurar Ansible Master

[renzo@ansible ansible_demo]$ cat ansible.cfg
[defaults]
remote_user   = renzo 
roles_path    = ./roles
inventory     = ./hosts
[privilege_escalation]
[paramiko_connection]
[ssh_connection]
[persistent_connection]
[accelerate]
[selinux]
[colors]
[diff]
[renzo@ansible ansible_demo]$ 

Variables a nivel de inventario

group_vars
host_vars

Ansible vault para encriptar y guardar información sensible

ansible-vault create nodes.yml

ansible-vault edit nodes.yml 
ansible_ssh_user: rlujan
ansible_ssh_pass: rlujan
ansible_ssh_port: 5986
ansible_connection: winrm
ansible_winrm_server_cert_validation: ignore

Ansible Modules

ansible -m win_ping windows --ask-vault-pass
  • Facters:
ansible -m setup nodes

ansible -m setup -a "filter=*ipv4*" nodes
ansible -m setup -a "filter=ansible_hostname" nodes
  • Ejecutar modulos Ad-hoc:
ansible -m service -a "name=crond state=stopped" centos
ansible -m service -a "name=crond state=stopped" centos -b
ansible -m service -a "name=crond state=started" centos -b

ansible -m copy -a "src=/home/renzo/joan/ansible_demo/kk dest=/tmp/kk owner=renzo group=renzo mode=0444" centos

Playbooks

[renzo@ansible ansible_demo]$ pwd
/etc/ansible_demo
[renzo@ansible ansible_demo]$ ls -l ansible.cfg hosts
-rw-r--r-- 1 root root 184 May 24 01:03 ansible.cfg
-rw-r--r-- 1 root root  14 May 21 12:30 hosts
[renzo@ansible ansible_demo]$ 

ansible-playbook playbooks/motd.yml --check
ansible-playbook playbooks/motd.yml
  • Idempotencia: es la propiedad para realizar una acción determinada varias veces y aun así conseguir el mismo resultado que se obtendría si se realizase una sola vez.

Roles

ansible-galaxy init apache
  • Componentes de un rol:

    • defaults: Data sobre el rol / aplicación (variables por defecto).
    • files: Poner ficheros estáticos aquí. Ficheros que copiaremos a los clientes.
    • handlers: Tareas que se basan en algunas acciones. Disparadores (Triggers). Ex: si cambias httpd.conf -> reinicia el servicio. (https://docs.ansible.com/ansible/latest/user_guide/playbooks_intro.html#handlers-running-operations-on-change)
    • meta: Metadatos/Información sobre el rol (Autor, plataformas soportadas, dependencias, etc).
    • tasks: Core lógico o código. Ex: Instala paquetes, copia ficheros, configura, etc.
    • templates: similar a files pero soportan modificaciones (ficheros dinámicos no estáticos) -> Jinja2 template language.
    • vars: Tanto vars como defaults guardan variables pero las variables en vars tienen mayor prioridad.
    • Todos tienen el main.yml que es donde inicia la lectura de cada código.
  • Rol run:

ansible-playbook masterplaybooks/masterplaybook_apache.yml --extra-vars="hosts=centos" --tags=install --check 
ansible-playbook masterplaybooks/masterplaybook_apache.yml --extra-vars="hosts=centos" --tags=install

ansible-playbook masterplaybooks/masterplaybook_apache.yml --extra-vars="hosts=centos"
  • Validar que funciona, abrir navegador:
http://localhost/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.