Envíos gratis en compras superiores a $60.000
Inicio/Profesional/Ciencia y tecnología/Mecatrónica y robótica/Ansible – Automatización para Todos

Ansible – Automatización para Todos

$36.550

  • Envío gratis en compras superiores a $60.000
  • Autor: GONZÁLEZ RODRÍGUEZ, Alberto

    Páginas: 440

    Coedición: Alfaomega, RC Libros

    ISBN: 9786075383293 Categoría:

    Descripción

    En la actualidad, Ansible es una popular herramienta de automatización gratuita, de código abierto y con la cual es posible automatizar todos los elementos de una infraestructura, desde servidores hasta dispositivos de red. Los sistemas operativos con los que se puede trabajar son Linux y los derivados de UNIX (AIX, Solaris y BSD), en la parte de red, y soporta los dispositivos más populares (Cisco, Arista, F5, Palo Alto, etc.). Ansible es compatible con los proveedores más famosos de Cloud para automatizar no sólo el despliegue de instancias, sino también para manejar diversos componentes en la nube (grupos de seguridad, redes, direcciones IP públicas y claves públicas). Los proveedores en la nube que se pueden gestionar en Ansible son Amazon Web Services, Azure y Google Cloud Platform. En el presente documento se expone la instalación, la sintaxis de los Playbooks, la estructuración del código y algunos de sus elementos más avanzados. Asimismo, se estudian los proyectos de Ansible Tower, gestor web para la automatización con Ansible, y Ansible Galaxy, proyecto colaborativo que abarca roles (agrupación de código y configuraciones) para efectuar diversas tareas.

    VENTAJAS

    • Cada uno de los temas se detalla paso a paso, lo que hace que la información sea fácil de aprender.
    • Cada capítulo empieza con una introducción que despierta el interés del lector en los temas estudiados.
    • Cuenta con un índice analítico que ofrece la posibilidad de una consulta más puntual.

    CONOZCA

    • El funcionamiento de Ansible y cómo conectarse a los nodos que se van a administrar.
    • Las funciones de los módulos y de los argumentos.
    • Los elementos avanzados al escribir playbooks.
    • En qué consiste Ansible Galaxy y Ansible Tower.

    APRENDA

    • A trabajar con inventarios dinámicos y estáticos y combinarlos entre sí.
    • A trabajar con playbooks en Ansible.
    • A utilizar los roles para estructurar ficheros y directorios.
    • A utilizar los elementos avanzados que ofrece Ansible como las etiquetas, los filtros y lookups.

    DESARROLLE SUS HABILIDADES PARA

    • Utilizar el fichero de configuración global de Ansible.
    • Utilizar los patrones, las variables y los handlers en Ansible.
    • Identificar las funciones de los múltiples módulos.
    • Trabajar con el gestor web Ansible Tower y con el proyecto colaborativo Ansible Galaxy.

    SOBRE EL AUTOR

    Alberto González Rodríguez trabaja actualmente como Cloud Consultant en la empresa Red Hat. Anteriormente trabajó como administrador de Sistemas Senior en la empresa IBM. En sus quince años de experiencia ha centrado sus conocimientos en tecnologías principalmente de código abierto, centrándose en Linux y virtualización. Posee conocimientos de programación y base de datos. Además, es profesor en una plataforma en línea ofreciendo cursos de calidad y prácticos de diferentes tecnologías (en su mayoría de código abierto).

    A QUIÉN VA DIRIGIDO

    La presente publicación está dirigida a estudiantes del área de automatización, así como a todo público interesado en aprender a manejar esta excelente herramienta llamada Alsino.

    ÍNDICE
    CAPÍTULO 1. QUÉ ES ANSIBLE …………………………………………………………………. 1
    Introducción …………………………………………………………………………………………… 1
    Glosario …………………………………………………………………………………………………. 3
    CAPÍTULO 2. INSTALACIÓN ……………………………………………………………………… 5
    Introducción …………………………………………………………………………………………… 5
    CentOS/RHEL/Scientific Linux 7…………………………………………………………………. 6
    Ubuntu/Debian ………………………………………………………………………………………. 6
    Otras distribuciones/sistemas operativos. ………………………………………………….. 7
    Gentoo …………………………………………………………………………………………… 7
    FreeBSD ………………………………………………………………………………………….. 7
    Solaris …………………………………………………………………………………………….. 7
    Arch Linux ……………………………………………………………………………………….. 7
    Código fuente …………………………………………………………………………………………. 7
    PIP ………………………………………………………………………………………………………… 8
    CAPÍTULO 3. PRIMEROS PASOS ……………………………………………………………….. 9
    Inventario …………………………………………………………………………………………….. 12
    Patrones ………………………………………………………………………………………………. 15
    YAML …………………………………………………………………………………………………… 17
    ANSIBLE
    Inventario en formato YAML …………………………………………………………………… 20
    Inventario dinámico ………………………………………………………………………………. 21
    Combinar inventarios …………………………………………………………………………….. 25
    Ansible en modo Ad-Hoc ………………………………………………………………………… 26
    Configuración ……………………………………………………………………………………….. 32
    Windows ……………………………………………………………………………………………… 35
    CAPÍTULO 4. PLAYBOOKS ……………………………………………………………………… 37
    Introducción …………………………………………………………………………………………. 37
    Patrones ………………………………………………………………………………………………. 40
    Opciones ansible-playbook …………………………………………………………………….. 41
    Variables ……………………………………………………………………………………………… 41
    Handlers ………………………………………………………………………………………………. 43
    Include e import ……………………………………………………………………………………. 45
    Prioridad variables ………………………………………………………………………………… 49
    Roles ……………………………………………………………………………………………………. 50
    Plantillas ………………………………………………………………………………………………. 54
    Condiciones ………………………………………………………………………………………….. 55
    Bucles ………………………………………………………………………………………………….. 58
    with_items ……………………………………………………………………………………….. 58
    with_nested ……………………………………………………………………………………… 60
    with_dict ………………………………………………………………………………………….. 61
    Register ……………………………………………………………………………………………….. 63
    delegate_to ………………………………………………………………………………………….. 64
    ignore_errors ……………………………………………………………………………………….. 65
    failed_when y changed_when ………………………………………………………………… 68
    Bloques ……………………………………………………………………………………………….. 69
    CAPÍTULO 5. MÓDULOS………………………………………………………………………… 73
    Introducción …………………………………………………………………………………………. 73
    Módulos tratados de fichero …………………………………………………………………… 76
    Argumentos SELINUX …………………………………………………………………………. 77
    Argumentos PERMISOS ………………………………………………………………………. 77
    Módulo ACL ………………………………………………………………………………………. 78
    Módulo ARCHIVE ……………………………………………………………………………….. 80
    Módulo ASSEMBLE …………………………………………………………………………….. 81
    Módulo BLOCKINFILE …………………………………………………………………………. 83
    Módulo COPY ……………………………………………………………………………………. 84
    Módulo FETCH …………………………………………………………………………………… 86
    Módulo FILE ……………………………………………………………………………………… 87
    Módulo FIND …………………………………………………………………………………….. 89
    Módulo INI_FILE ………………………………………………………………………………… 92
    Módulo LINEINFILE …………………………………………………………………………….. 93
    Módulo REPLACE ……………………………………………………………………………….. 96
    Módulo STAT …………………………………………………………………………………….. 97
    Módulo TEMPLATE …………………………………………………………………………….. 99
    Módulo UNARCHIVE …………………………………………………………………………. 100
    MÓDULOS DE GESTOR DE PAQUETES …………………………………………………….. 102
    Módulo CPANM……………………………………………………………………………….. 104
    Módulo EASY_INSTALL ……………………………………………………………………… 105
    Módulo PEAR ………………………………………………………………………………….. 106
    Módulo PIP ……………………………………………………………………………………… 107
    Módulo APT …………………………………………………………………………………….. 109
    Módulo APT_KEY ……………………………………………………………………………… 111
    Módulo APT_REPOSITORY …………………………………………………………………. 112
    Módulo DNF ……………………………………………………………………………………. 113
    Módulo PACKAGE …………………………………………………………………………….. 114
    Módulo PACMAN …………………………………………………………………………….. 115
    Módulo YUM …………………………………………………………………………………… 116
    Módulo YUM_REPOSITORY ……………………………………………………………….. 118
    Módulo REDHAT_SUBSCRIPTION ……………………………………………………….. 120
    Módulo ZYPPER ……………………………………………………………………………….. 122
    Módulo ZYPPER_REPOSITORY ……………………………………………………………. 123
    MÓDULOS PARA EJECUTAR COMANDOS ………………………………………………… 125
    Módulo COMMAND …………………………………………………………………………. 125
    Módulo EXPECT ……………………………………………………………………………….. 126
    Módulo RAW …………………………………………………………………………………… 127
    Módulo SCRIPT ………………………………………………………………………………… 127
    Módulo SHELL …………………………………………………………………………………. 128
    Módulo TELNET ……………………………………………………………………………….. 130
    MÓDULOS UTILIDADES ………………………………………………………………………… 131
    Módulo META …………………………………………………………………………………. 131
    Módulo ASSERT ……………………………………………………………………………….. 133
    Módulo FAIL ……………………………………………………………………………………. 134
    Módulo PAUSE ………………………………………………………………………………… 134
    Módulo SET_FACT ……………………………………………………………………………. 135
    Módulo SET_STATS ………………………………………………………………………….. 136
    Módulo WAIT_FOR …………………………………………………………………………… 137
    Módulo WAIT_FOR_CONNECTION ……………………………………………………… 140
    MÓDULOS NOTIFICACIONES …………………………………………………………………. 141
    Módulo HIPCHAT ……………………………………………………………………………… 143
    Módulo IRC ……………………………………………………………………………………… 144
    Módulo JABBER ……………………………………………………………………………….. 145
    Módulo MAIL …………………………………………………………………………………… 147
    Módulo PUSHBULLET ……………………………………………………………………….. 148
    Módulo PUSHOVER ………………………………………………………………………….. 150
    Módulo ROCKETCHAT ………………………………………………………………………. 150
    Módulo SLACK …………………………………………………………………………………. 152
    Módulo SYSLOGGER …………………………………………………………………………. 153
    Módulo TELEGRAM ………………………………………………………………………….. 154
    MÓDULOS BASE DE DATOS …………………………………………………………………… 156
    Módulo MYSQL_DB ………………………………………………………………………….. 157
    Módulo MYSQL_USER ………………………………………………………………………. 158
    Argumentos POSTGRESQL …………………………………………………………………. 161
    Módulo POSTGRESQL_DB …………………………………………………………………. 161
    Módulo POSTGRESQL_USER ……………………………………………………………… 163
    Módulo POSTGRESQL_PRIVS ……………………………………………………………… 164
    Módulo POSTGRESQL_SCHEMA …………………………………………………………. 166
    Módulo MONGODB_USER ………………………………………………………………… 167
    MÓDULOS SISTEMA …………………………………………………………………………….. 169
    Módulo ALTERNATIVES …………………………………………………………………….. 171
    Módulo AUTHORIZED_KEYS ………………………………………………………………. 173
    Módulo CRON …………………………………………………………………………………. 174
    Módulo FILESYSTEM …………………………………………………………………………. 176
    Módulo FIREWALLD …………………………………………………………………………. 177
    Módulo GETENT ………………………………………………………………………………. 179
    Módulo GROUP ……………………………………………………………………………….. 180
    Módulo HOSTNAME …………………………………………………………………………. 182
    Módulo IPTABLES …………………………………………………………………………….. 182
    Módulo KNOWN_HOSTS …………………………………………………………………… 185
    Módulo LVG ……………………………………………………………………………………. 185
    Módulo LVOL …………………………………………………………………………………… 186
    Módulo MODPROBE …………………………………………………………………………. 188
    Módulo MOUNT ………………………………………………………………………………. 188
    Módulo PARTED ………………………………………………………………………………. 190
    Módulo SEBOOLEAN ………………………………………………………………………… 191
    Módulo SEFCONTEXT ……………………………………………………………………….. 192
    Módulo SELINUX ……………………………………………………………………………… 193
    Módulo SELINUX_PERMISSIVE …………………………………………………………… 194
    Módulo SEPORT ………………………………………………………………………………. 195
    Módulo SERVICE ………………………………………………………………………………. 196
    Módulo SETUP …………………………………………………………………………………. 197
    Módulo SYSCTL ………………………………………………………………………………… 199
    Módulo SYSTEMD …………………………………………………………………………….. 200
    Módulo TIMEZONE …………………………………………………………………………… 201
    Módulo USER ………………………………………………………………………………….. 202
    MÓDULOS WINDOWS ………………………………………………………………………….. 204
    Módulo WIN_PING …………………………………………………………………………… 209
    Módulo WIN_CHOCOLATEY ………………………………………………………………. 209
    Módulo WIN_COMMAND …………………………………………………………………. 211
    Módulo WIN_COPY ………………………………………………………………………….. 212
    Módulo WIN_ENVIRONMENT ……………………………………………………………. 213
    Módulo WIN_FEATURE …………………………………………………………………….. 214
    Módulo WIN_FILE ……………………………………………………………………………. 215
    Módulo WIN_FIREWALL ……………………………………………………………………. 215
    Módulo WIN_FIREWALL_RULE …………………………………………………………… 216
    Módulo WIN_GROUP ……………………………………………………………………….. 218
    Módulo WIN_LINEINFILE …………………………………………………………………… 219
    Módulo WIN_PACKAGE …………………………………………………………………….. 220
    Módulo WIN_SERVICE ………………………………………………………………………. 221
    Módulo WIN_TEMPLATE …………………………………………………………………… 223
    Módulo WIN_USER ………………………………………………………………………….. 224
    MÓDULOS CONTROL DE VERSIONES ………………………………………………………. 226
    Módulo BZR …………………………………………………………………………………….. 227
    Módulo GIT …………………………………………………………………………………….. 227
    Módulo GIT_CONFIG ………………………………………………………………………… 228
    Módulo GITHUB_DEPLOY_KEY …………………………………………………………… 228
    Módulo GITHUB_KEY ……………………………………………………………………….. 229
    Módulo GITHUB_HOOKS …………………………………………………………………… 230
    Módulo GITHUB_RELEASE …………………………………………………………………. 231
    Módulo GITLAB_GROUP ……………………………………………………………………. 232
    Módulo GITLAB_PROJECT …………………………………………………………………. 233
    Módulo GITLAB_USER ………………………………………………………………………. 234
    Módulo HG ……………………………………………………………………………………… 235
    Módulo SUBVERSION ……………………………………………………………………….. 236
    MÓDULOS INFRAESTRUCTURA WEB ………………………………………………………. 237
    Módulo APACHE2_MODULE ……………………………………………………………… 238
    Módulo HTPASSWD ………………………………………………………………………….. 238
    Módulo JBOSS …………………………………………………………………………………. 239
    Módulo JENKINS_JOB ……………………………………………………………………….. 240
    Módulo JENKINS_PLUGIN …………………………………………………………………. 241
    Módulo JIRA ……………………………………………………………………………………. 241
    Módulo LETSENCRYPT ………………………………………………………………………. 242
    Módulo SUPERVISORCTL …………………………………………………………………… 244
    MÓDULOS CLOUD ……………………………………………………………………………….. 244
    AMAZON ………………………………………………………………………………………… 245
    Módulo EC2 …………………………………………………………………………………. 245
    Módulo EC2_KEY ………………………………………………………………………….. 247
    Módulo EC2_GROUP …………………………………………………………………….. 247
    Módulo EC2_SUBNET ……………………………………………………………………. 249
    Módulo EC2_VOL …………………………………………………………………………. 250
    Módulo IAM ………………………………………………………………………………… 251
    AZURE …………………………………………………………………………………………….. 252
    Módulo AZURE_RM_RESOURCEGROUP …………………………………………… 253
    Módulo AZURE_RM_MANAGED_DISK …………………………………………….. 254
    Módulo AZURE_RM_NETWORK ……………………………………………………… 255
    Módulo AZURE_RM_SECURITYGROUP …………………………………………….. 256
    Módulo AZURE_RM_VIRTUALMACHINE ………………………………………….. 257
    DIGITALOCEAN ………………………………………………………………………………… 259
    Módulo DIGITAL_OCEAN ……………………………………………………………….. 259
    Módulo DIGITAL_OCEAN_BLOCK_STORAGE …………………………………….. 260
    Módulo DIGITAL_OCEAN_FLOATING_IP ………………………………………….. 261
    Módulo DIGITAL_OCEAN_SSHKEY …………………………………………………… 262
    Módulo DIGITAL_OCEAN_TAG ……………………………………………………….. 263
    DOCKER ………………………………………………………………………………………….. 263
    Módulo DOCKER_CONTAINER ………………………………………………………… 264
    Módulo DOCKER_IMAGE ……………………………………………………………….. 265
    Módulo DOCKER_LOGIN ……………………………………………………………….. 266
    Módulo DOCKER_NETWORK ………………………………………………………….. 267
    Módulo DOCKER_VOLUME ……………………………………………………………. 267
    GOOGLE ………………………………………………………………………………………….. 268
    Módulo GCE ………………………………………………………………………………… 268
    Módulo GCE_LABELS …………………………………………………………………….. 269
    Módulo GCE_NET …………………………………………………………………………. 270
    Módulo GCE_PD …………………………………………………………………………… 272
    Módulo GCE_TAG …………………………………………………………………………. 273
    LIBVIRT …………………………………………………………………………………………… 274
    Módulo VIRT ………………………………………………………………………………… 274
    Módulo VIRT_NET ………………………………………………………………………… 275
    Módulo VIRT_POOL ………………………………………………………………………. 276
    OPENSTACK …………………………………………………………………………………….. 277
    Módulo OS_PROJECT …………………………………………………………………….. 277
    Módulo OS_NETWORK ………………………………………………………………….. 278
    Módulo OS_SUBNET ……………………………………………………………………… 279
    Módulo OS_ROUTER …………………………………………………………………….. 280
    Módulo OS_SECURITY_GROUP ………………………………………………………. 281
    Módulo OS_SECURITY_GROUP_RULE ……………………………………………… 282
    Módulo OS_SERVER ……………………………………………………………………… 284
    MÓDULOS CLUSTERING ……………………………………………………………………….. 285
    MÓDULOS MONITORING ……………………………………………………………………… 286
    ZABBIX ……………………………………………………………………………………………….. 287
    Módulo ZABBIX_GROUP ……………………………………………………………………. 287
    Módulo ZABBIX_HOST ………………………………………………………………………. 288
    Módulo ZABBIX_HOSTMACRO …………………………………………………………… 289
    Módulo ZABBIX_MAINTENANCE ………………………………………………………… 290
    Módulo ZABBIX_SCREEN …………………………………………………………………… 291
    MÓDULOS IDENTIDAD …………………………………………………………………………. 292
    CYBERARK …………………………………………………………………………………………… 292
    IPA …………………………………………………………………………………………………….. 292
    Módulo IPA_DNSRECORD …………………………………………………………………. 293
    Módulo IPA_GROUP …………………………………………………………………………. 293
    Módulo IPA_HOST ……………………………………………………………………………. 294
    Módulo IPA_ROLE ……………………………………………………………………………. 295
    Módulo IPA_USER ……………………………………………………………………………. 295
    Módulo OPENDJ ………………………………………………………………………………….. 297
    MÓDULOS INVENTARIO ……………………………………………………………………….. 297
    Módulo ADD_HOST ………………………………………………………………………….. 297
    Módulo GROUP_BY ………………………………………………………………………….. 299
    MÓDULOS MENSAJERÍA ……………………………………………………………………….. 301
    MÓDULOS CRIPTOGRAFÍA …………………………………………………………………….. 301
    Ejemplo ………………………………………………………………………………………….. 302
    MÓDULOS HERRAMIENTAS DE RED ……………………………………………………….. 303
    Módulo GET_URL …………………………………………………………………………….. 304
    Módulo HAPROXY ……………………………………………………………………………. 305
    Módulo LDAP_ENTRY ……………………………………………………………………….. 305
    Módulo NSUPDATE ………………………………………………………………………….. 307
    Módulo SLURP …………………………………………………………………………………. 307
    Módulo URI …………………………………………………………………………………….. 308
    MÓDULOS ALMACENAMIENTO……………………………………………………………… 309
    MÓDULOS ADMINISTRACIÓN REMOTA ………………………………………………….. 311
    MÓDULOS REDES ………………………………………………………………………………… 312
    CAPÍTULO 6. CARACTERÍSTICAS AVANZADAS …………………………………………. 315
    ETIQUETAS (TAGS) ………………………………………………………………………………. 315
    LOOKUPS ……………………………………………………………………………………………. 318
    CSVFILE …………………………………………………………………………………………… 320
    DIG ………………………………………………………………………………………………… 321
    ENV ………………………………………………………………………………………………… 321
    FILE ………………………………………………………………………………………………… 322
    INI ………………………………………………………………………………………………….. 322
    PASSWORD ……………………………………………………………………………………… 323
    PIPE ……………………………………………………………………………………………….. 323
    URL ………………………………………………………………………………………………… 324
    FILTROS ……………………………………………………………………………………………… 325
    VAULT ………………………………………………………………………………………………… 348
    ANSIBLE-VAULT ……………………………………………………………………………….. 348
    create …………………………………………………………………………………………. 348
    edit …………………………………………………………………………………………….. 349
    encrypt ……………………………………………………………………………………….. 349
    decrypt ……………………………………………………………………………………….. 350
    rekey ………………………………………………………………………………………….. 350
    view ……………………………………………………………………………………………. 350
    ANSIBLE-PLAYBOOK …………………………………………………………………………. 351
    TAREAS ASÍNCRONAS …………………………………………………………………………… 352
    OPCIONES AVANZADAS ………………………………………………………………………… 355
    EXTENDER ANSIBLE ……………………………………………………………………………… 357
    LOOKUP ………………………………………………………………………………………….. 357
    FILTROS ………………………………………………………………………………………….. 358
    MÓDULOS ………………………………………………………………………………………. 359
    INVENTARIO ……………………………………………………………………………………. 361
    Bucles avanzados ………………………………………………………………………………… 361
    Local facts …………………………………………………………………………………………… 364
    CAPÍTULO 7. ANSIBLE GALAXY ……………………………………………………………… 367
    INTRODUCCIÓN …………………………………………………………………………………… 367
    COMANDO ANSIBLE-GALAXY ………………………………………………………………… 369
    IMPORTAR NUESTRO ROL PARA GALAXY ………………………………………………… 371
    FICHERO REQUISITOS …………………………………………………………………………… 377
    CAPÍTULO 8. ANSIBLE TOWER ……………………………………………………………… 379
    INTRODUCCIÓN …………………………………………………………………………………… 379
    INSTALACIÓN ……………………………………………………………………………………… 380
    CONFIGURACIÓN ………………………………………………………………………………… 383
    Organización …………………………………………………………………………………… 384
    Usuarios …………………………………………………………………………………………. 384
    Equipos …………………………………………………………………………………………… 386
    Credenciales ……………………………………………………………………………………. 387
    Trabajos de gestión ………………………………………………………………………….. 388
    Scripts de inventario ………………………………………………………………………… 388
    Notificaciones ………………………………………………………………………………….. 389
    Licencia …………………………………………………………………………………………… 390
    Grupo de instancias ………………………………………………………………………….. 390
    Configurar tower ……………………………………………………………………………… 391
    Autentificación …………………………………………………………………………….. 391
    Trabajos ………………………………………………………………………………………. 392
    Sistema ……………………………………………………………………………………….. 392
    Proyectos …………………………………………………………………………………………… 394
    Inventarios …………………………………………………………………………………………. 395
    Fuentes …………………………………………………………………………………………… 397
    AD HOC …………………………………………………………………………………………… 398
    Credenciales ……………………………………………………………………………………….. 399
    Plantillas …………………………………………………………………………………………….. 400
    Plantillas de flujo de trabajo …………………………………………………………………. 401
    Trabajos ……………………………………………………………………………………………… 403
    Programar ………………………………………………………………………………………….. 405
    Notificaciones …………………………………………………………………………………….. 406
    Permisos …………………………………………………………………………………………….. 407
    Proyectos ……………………………………………………………………………………….. 407
    Inventarios ……………………………………………………………………………………… 407
    Plantillas …………………………………………………………………………………………. 408
    Credenciales ……………………………………………………………………………………. 409
    Avanzado ……………………………………………………………………………………………. 410
    Inventario inteligente ……………………………………………………………………….. 410
    Encuesta (survey) …………………………………………………………………………….. 411
    Callback ………………………………………………………………………………………….. 413
    Copia de seguridad / Restauración …………………………………………………….. 414
    ÍNDICE ANALÍTICO …..……………………………………………………………………………………417

    Ir a Arriba