Inicio/Profesional/Ciencia y tecnología/Mecatrónica y robótica/Ansible – Automatización para Todos

Ansible – Automatización para Todos

$688

Hay existencias

Autor: GONZÁLEZ RODRÍGUEZ, Alberto

Páginas: 440

Coedición: Alfaomega, RC Libros

Hay existencias

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

Título

Ir a Arriba