Chapter 3. Playbooks: A Beginning
When you start using Ansible, one of the first things you’ll do is begin writing playbooks. Playbook is the term that Ansible uses for a configuration management script. Let’s look at an example: here is a playbook for installing the NGINX web server and configuring it for secure communication.
If you follow along in this chapter, you should end up with the directory tree listed here:
. ├── Vagrantfile ├── ansible.cfg ├── files │ ├── index.html │ ├── nginx.conf │ ├── nginx.crt │ └── nginx.key ├── inventory │ └── vagrant.ini ├── requirements.txt ├── templates │ ├── index.html.j2 │ └── nginx.conf.j2 ├── webservers-tls.yml ├── webservers.yml └── webservers2.yml
Preliminaries
Modify your Vagrantfile so it looks like this:
Vagrant.configure(2) do |config| config.vm.box = "ubuntu/focal64" config.vm.hostname = "testserver" config.vm.network "forwarded_port", id: 'ssh', guest: 22, host: 2202, host_ip: "127.0.0.1", auto_correct: false config.vm.network "forwarded_port", id: 'http', guest: 80, host: 8080, host_ip: "127.0.0.1" config.vm.network "forwarded_port", id: 'https', guest: 443, host: 8443, host_ip: "127.0.0.1" # disable updating guest additions if Vagrant.has_plugin?("vagrant-vbguest") config.vbguest.auto_update = false end config.vm.provider "virtualbox" do |virtualbox| virtualbox.name = "ch03" end end
This maps port 8080 on your local machine to port 80 of the Vagrant machine, and port 8443 on your local machine to port 443 on ...
Get Ansible: Up and Running, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.