Practical Ansible Learn How to Automate Infrastructure, Manage Configuration, and Deploy Applications

Ansible empowers you to automate a myriad of tasks, including software provisioning, configuration management, infrastructure deployment, and application rollouts. It can be used as a deployment tool as well as an orchestration tool. While Ansible provides simple yet powerful features to automate mu...

Descripción completa

Detalles Bibliográficos
Otros Autores: Freeman, James, 1759-1835, author (author), Locati, Fabio Alessandro, author, Oh, Daniel, author
Formato: Libro electrónico
Idioma:Inglés
Publicado: Birmingham, England : Packt Publishing [2023]
Edición:Second edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009769036106719
Tabla de Contenidos:
  • Cover
  • Title Page
  • Copyright
  • Dedication
  • Contributors
  • Table of Contents
  • Preface
  • Part 1: Learning the Fundamentals of Ansible
  • Chapter 1: Getting Started with Ansible
  • Technical requirements
  • Installing and configuring Ansible
  • Understanding Ansible version numbers
  • Installing Ansible on Linux and FreeBSD
  • Working with virtual environments
  • Installing from GitHub
  • Installing Ansible on macOS
  • Configuring Windows hosts for Ansible
  • Getting to know your Ansible installation
  • Understanding how Ansible connects to hosts
  • Verifying the Ansible installation
  • Managed node requirements
  • Summary
  • Questions
  • Further reading
  • Chapter 2: Understanding the Fundamentals of Ansible
  • Technical requirements
  • Getting familiar with the Ansible framework
  • Breaking down the Ansible components
  • Learning the YAML syntax
  • Organizing your automation code
  • Exploring the configuration file
  • Command-line arguments
  • Understanding ad hoc commands
  • Defining variables
  • Understanding Jinja2 filters
  • Summary
  • Questions
  • Further reading
  • Chapter 3: Defining Your Inventory
  • Technical requirements
  • Creating an inventory file and adding hosts
  • Using host groups
  • Adding host and group variables to your inventory
  • Generating a dynamic inventory file
  • Using multiple inventory sources in the inventory directories
  • Using static groups with dynamic groups
  • Special host management using patterns
  • Summary
  • Questions
  • Further reading
  • Chapter 4: Playbooks and Roles
  • Technical requirements
  • Understanding the playbook framework
  • Comparing playbooks and ad hoc tasks
  • Defining plays and tasks
  • Understanding roles - the playbook organizer
  • Setting up role-based variables and dependencies
  • Ansible Galaxy
  • Using conditions in your code
  • Repeating tasks with loops.
  • Grouping tasks using blocks
  • Configuring play execution via strategies
  • Using ansible-pull
  • Summary
  • Questions
  • Further reading
  • Part 2: Expanding the Capabilities of Ansible
  • Chapter 5: Creating and Consuming Modules
  • Technical requirements
  • Executing multiple modules using the command line
  • Reviewing the module index
  • Accessing module documentation from the command line
  • Module return values
  • Developing custom modules
  • Avoiding common pitfalls
  • Testing and documenting your module
  • The module checklist
  • Contributing upstream - submitting a GitHub pull request
  • Summary
  • Questions
  • Further reading
  • Chapter 6: Creating and Consuming Collections
  • Technical requirements
  • Introduction to Ansible collections
  • Understanding fully qualified collection names
  • Managing collections on your control node
  • Updating your Ansible collections and core installation
  • Creating your own collections
  • Summary
  • Questions
  • Further reading
  • Chapter 7: Creating and Consuming Plugins
  • Technical requirements
  • Discovering the plugin types
  • Finding included plugins
  • Creating custom plugins
  • Learning to integrate custom plugins with Ansible source code
  • Sharing plugins with the community
  • Summary
  • Questions
  • Further reading
  • Chapter 8: Coding Best Practices
  • Technical requirements
  • The preferred directory layout
  • Differentiating between different environment types
  • The proper approach to defining group and host variables
  • Using top-level playbooks
  • Leveraging version control tools
  • Setting OS and distribution variances
  • Porting between Ansible versions
  • Summary
  • Questions
  • Further reading
  • Chapter 9: Advanced Ansible Topics
  • Technical requirements
  • Asynchronous versus synchronous actions
  • Controlling play execution for rolling updates.
  • Configuring the maximum failure percentage
  • Setting task execution delegation
  • Using the run_once option
  • Running playbooks locally
  • Working with proxies and jump hosts
  • Configuring playbook prompts
  • Placing tags in the plays and tasks
  • Securing data with Ansible Vault
  • Summary
  • Questions
  • Further reading
  • Part 3: Using Ansible in an Enterprise
  • Chapter 10: Network Automation with Ansible
  • Technical requirements
  • Why automate network management?
  • How Ansible manages networking devices
  • How to enable network automation
  • The available Ansible networking modules
  • Connecting to network devices
  • Environment variables for network devices
  • Custom conditional statements for networking devices
  • Summary
  • Questions
  • Further reading
  • Chapter 11: Container and Cloud Management
  • Technical requirements
  • Automating Docker and Podman with Ansible
  • Managing Docker
  • Managing Podman
  • Managing Kubernetes with Ansible
  • Installing Ansible Kubernetes dependencies
  • Listing Kubernetes namespaces with Ansible
  • Creating a Kubernetes namespace with Ansible
  • Creating a Kubernetes service with Ansible
  • Exploring container-focused modules
  • Automating with Amazon Web Services
  • Installation
  • Authentication
  • Creating your first machine
  • Complementing Google Cloud Platform with automation
  • Installation
  • Authentication
  • Creating your first machine
  • Seamless automation integration with Azure
  • Installation
  • Authentication
  • Creating your first machine
  • Using Ansible to orchestrate OpenStack
  • Installation
  • Authentication
  • Creating your first machine
  • Summary
  • Questions
  • Further reading
  • Chapter 12: Troubleshooting and Testing Strategies
  • Technical requirements
  • Digging into playbook execution problems
  • Using host facts to diagnose failures
  • Testing with a playbook.
  • Using check mode
  • Solving host connection issues
  • Passing working variables via the CLI
  • Limiting the host's execution
  • Flushing the code cache
  • Checking for bad syntax
  • Summary
  • Questions
  • Further reading
  • Chapter 13: Getting Started with Ansible Automation Controller
  • Technical requirements
  • Installing AWX
  • Running your first playbook from AWX
  • Creating an AWX project
  • Creating an inventory
  • Creating a job template
  • Running a job
  • Controlling access to AWX
  • Creating a user
  • Creating a team
  • Creating an organization
  • Assigning permissions in AWX
  • Summary
  • Questions
  • Chapter 14: Execution Environments
  • Technical requirements
  • The importance of execution environments
  • Building an execution environment
  • Creating a minimal execution environment
  • Creating an execution environment with a specific Python interpreter
  • Creating an execution environment with additional dependencies
  • Running playbooks in an execution environment
  • Uploading execution environments to a container registry
  • Using execution environments in Ansible Automation Controller
  • Summary
  • Questions
  • Further reading
  • Assessments
  • Chapter 1
  • Chapter 2
  • Chapter 3
  • Chapter 4
  • Chapter 5
  • Chapter 6
  • Chapter 7
  • Chapter 8
  • Chapter 9
  • Chapter 10
  • Chapter 11
  • Chapter 12
  • Chapter 13
  • Chapter 14
  • Index
  • About Packt
  • Other Books You May Enjoy.