Author(s): Russ McKendrick
Series: 1+1
Year: 0
Language: English
Pages: 558
Cover
......Page 1
Title Page......Page 2
Copyright and Credits......Page 3
Packt Upsell......Page 4
Contributors......Page 5
Table of Contents......Page 7
Preface......Page 17
Chapter 1: An Introduction to Ansible
......Page 23
The software......Page 25
Declarative versus imperative......Page 27
Configuration versus orchestration ......Page 29
Infrastructure as code......Page 30
Further reading......Page 32
Technical requirements......Page 33
Homebrew......Page 34
The pip method......Page 37
Pros and cons......Page 38
Installing on Linux......Page 40
Installing on Windows 10 Professional......Page 42
Launching a virtual machine......Page 45
An introduction to playbooks......Page 50
Host inventories......Page 51
Playbooks......Page 54
Summary......Page 66
Further reading......Page 67
Technical requirements......Page 68
Ansible......Page 69
The ansible-config command......Page 75
The ansible-console command......Page 77
The ansible-doc command......Page 78
The ansible-inventory command......Page 80
Ansible Vault......Page 81
Third-party commands......Page 86
The ansible-inventory-grapher command......Page 87
Ansible Run Analysis......Page 90
Summary......Page 92
Further reading......Page 93
Technical requirements......Page 94
Playbook structure......Page 95
LAMP stack......Page 97
Common......Page 98
Updating packages......Page 99
Installing common packages......Page 100
Configuring NTP......Page 101
Creating a user......Page 102
Running the role......Page 103
Installing Apache......Page 107
Configuring Apache......Page 108
Configuring SELinux......Page 110
Copying an HTML file......Page 111
Running the role......Page 112
MariaDB......Page 115
Installing MariaDB......Page 116
Configuring MariaDB......Page 118
Importing a sample database......Page 119
Running the role......Page 122
Installing PHP......Page 127
Adminer......Page 129
Running the role......Page 131
Overriding variables......Page 134
Further reading......Page 135
Technical requirements......Page 136
Preinstallation tasks......Page 137
The stack-install command......Page 138
Enabling the repositories......Page 139
Installing the packages......Page 141
The stack-config role......Page 142
NGINX configuration......Page 143
PHP and PHP-FPM configuration......Page 149
MariaDB Configuration......Page 151
WordPress installation tasks......Page 153
Creating the WordPress database......Page 154
Downloading, configuring, and installing WordPress......Page 155
WordPress plugins and theme installation......Page 157
Running the WordPress playbook......Page 159
Further reading......Page 169
Technical requirements......Page 171
Launching multiple Vagrant boxes......Page 172
Multi-operating system considerations......Page 175
Operating system family......Page 176
The stack-install role......Page 178
The stack-config role......Page 182
The wordpress role......Page 184
Running the playbook......Page 185
Summary......Page 192
Further reading......Page 193
Manufacturer and device support......Page 194
Apstra Operating System (AOS)......Page 195
Huawei CloudEngine (CE)......Page 196
Lenovo Enterprise Networking Operating System (ENOS)......Page 197
Cisco IOS and IOS XR......Page 198
Nokia Nuage Networks Virtualized Services Platform (VSP)......Page 199
Radware......Page 200
Interacting with a network device......Page 201
Launching the network device......Page 202
The VyOS role......Page 203
Running the playbook......Page 209
Further reading......Page 212
Interacting with DigitalOcean......Page 215
Generating a personal access token......Page 216
Launching a Droplet......Page 218
Running the playbook......Page 223
WordPress on DigitalOcean......Page 225
Variables......Page 226
The droplet role......Page 228
Running the playbook......Page 229
Summary......Page 230
Further reading......Page 231
Technical requirements......Page 232
An introduction to AWS......Page 233
Amazon Virtual Private Cloud overview......Page 234
Creating an access key and secret......Page 235
The VPC playbook......Page 238
The VPC role......Page 240
The subnets role......Page 243
The internet gateway role......Page 249
The security group role......Page 254
The ELB role......Page 260
Further reading......Page 267
Technical requirements......Page 268
Planning the deployment......Page 269
WordPress considerations and high availability......Page 270
Amazon VPC......Page 272
Amazon RDS......Page 274
Amazon EFS......Page 277
Testing the playbook......Page 279
Terminating resources......Page 287
Instance discovery......Page 298
New deployment......Page 300
Existing deployment......Page 303
Stack......Page 304
Default variables......Page 305
Deploy......Page 307
WordPress......Page 310
AMI......Page 312
Autoscaling......Page 314
Running the playbook......Page 316
Terminating all the resources......Page 330
Summary......Page 331
Further reading......Page 332
An introduction to VMware......Page 333
Requirements......Page 334
The vca_nat module......Page 335
VMware vSphere......Page 336
The vmware_datacenter module......Page 337
The vmware_vm_shell module......Page 338
The vmware_vm_vss_dvs_migrate module......Page 339
VMware vCentre......Page 340
The vcenter_license module......Page 341
The vmware_guest_facts module......Page 342
The vmware_guest_file_operation module......Page 343
The vmware_guest_powerstate module......Page 344
The vmware_guest_snapshot module......Page 345
The vmware_guest_tools_wait module......Page 346
The vmware_dns_config module......Page 347
The vmware_host module......Page 348
The vmware_host_acceptance module......Page 349
The vmware_host_datastore module......Page 350
The vmware_host_firewall_manager module......Page 351
The vmware_host_lockdown module......Page 352
The vmware_host_ntp module......Page 353
The vmware_host_service_manager module......Page 354
The vmware_datastore_facts module......Page 355
The vmware_local_role_manager module......Page 356
The vmware_cfg_backup module......Page 357
The vmware_vmkernel module......Page 358
The vmware_target_canonical_facts module......Page 359
The vmware_vsan_cluster module......Page 360
The vmware_drs_rule_facts module......Page 361
The vmware_dvs_portgroup module......Page 362
The vmware_portgroup module......Page 363
An example playbook......Page 364
Summary......Page 370
Further reading......Page 371
Technical requirements......Page 372
Vagrantfile......Page 373
Ansible preparation......Page 376
The ping module......Page 377
The setup module......Page 378
Installing a web server......Page 379
IIS role......Page 380
ASP.NET role......Page 383
AWS role......Page 387
User role......Page 392
Chocolatey role......Page 393
Running the playbook......Page 394
Questions......Page 399
Further reading......Page 400
OpenSCAP......Page 401
Preparing the host......Page 404
Install role......Page 405
Scan role......Page 406
Running the initial scan......Page 409
Generating the remediation Ansible playbook......Page 412
Generating the remediation bash script......Page 419
Running a standalone scan......Page 423
Fixing the remaining failed checks ......Page 424
Destroying the Vagrant box......Page 428
Further reading......Page 429
Preparing the boxes......Page 431
The WordPress playbook......Page 433
The Docker role......Page 434
Testing the playbook......Page 436
The WPScan role......Page 443
Running a WPScan......Page 446
The OWASP ZAP role......Page 448
Running OWASP ZAP......Page 450
Summary......Page 451
Further reading......Page 452
Web-based Ansible......Page 453
Ansible Tower......Page 454
Updating the inventory file......Page 456
Running the playbook......Page 457
Requesting a license......Page 458
The hello world demo project......Page 461
Launching the AWS playbook......Page 462
Adding credentials......Page 464
Adding an inventory......Page 467
Adding the templates......Page 469
Running the playbook......Page 470
Tower summary ......Page 472
Ansible AWX......Page 473
Preparing the playbook......Page 474
The docker role......Page 475
The awx role......Page 476
Running the playbook......Page 478
Using Ansible AWX......Page 480
AWX summary......Page 483
Questions......Page 484
Further reading......Page 485
Technical requirements......Page 486
Introduction to Ansible Galaxy......Page 487
Jenkins playbook......Page 488
Variables......Page 497
Tasks......Page 498
Metadata......Page 501
README......Page 502
Committing the code and publishing......Page 503
Testing the role......Page 509
Logging in......Page 512
Importing......Page 513
Info......Page 514
Summary......Page 515
Further reading......Page 516
Slack......Page 517
Generating a token......Page 518
The Ansible playbook......Page 520
Running the playbook......Page 522
Other services......Page 523
CA Flowdock......Page 524
Mattermost......Page 525
Syslog......Page 526
Summary of third-party services......Page 527
Debugging the task......Page 528
The chat example......Page 532
Automated deployment......Page 535
Summary......Page 536
Further reading......Page 537
Assessments......Page 538
Other Books You May Enjoy......Page 548
Index......Page 551