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...
Otros Autores: | , , |
---|---|
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.