Cover
Title Page
Preface
Chapter 1 VirtualBox 1
Creating a virtual machine
Importing a guest appliance
Up and running a virtual machine using Vagrant
Ubuntu 18.04 on Windows 10
Graphical User Interface on Ubuntu 18.04
CentOS 7 on Ubuntu 18.04
Cloning a virtual machine using VirtualBox GUI
Exercises
Chapter 2 Networking in virtual machines 11
Networking basics
Networking modes in VirtualBox
NAT adapter in virtual machines
Establishing a network between two virtual machines
Configuring VirtualBox
Configuring network interfaces in virtual machines
Wireshark on a virtual machine
Seeing network protocols between two virtual machines
Exercises
Chapter 3 Vagrant for multiple virtual machines 26
Creating multiple virtual machines with configurations
Stopping/destroying multiple virtual machines
Establishing SSH connections between virtual machines
Generating a pair of public/private keys
Copying the public key file to the target
Exercises
Chapter 4 Ansible 35
Ansible on Ubuntu 18.04
Configuration of Ansible
Ansible Playbook
Running Ansible playbook on VirtualBox VMs
Provisioning Ansible via Vagrant
Exercises
Chapter 5 Virtual machines in the cloud 48
Virtual machines on AWS
A pair of SSH public and private keys
Copy and paste the public key
SSH Access to AWS EC2 instances
Running Ansible playbook on AWS
Virtual machines on Azure
SSH Access to Azure virtual machines
Ansible configuration on Azure
Running Ansible playbook on Azure
Virtual machines on Google Cloud Platform
SSH Access to VM instances
Uploading a public key file to Metadata
Running Ansible playbook on GCP
Exercises
Chapter 6 PostgreSQL Replication 64
Preparation
Ansible playbook for PostgreSQL
PostgreSQL Replication
Step 1 Configure the master and the slave
Step 2 Create a database on the master and verify that it is propagated
Exercises
Chapter 7 PostgreSQL in Docker 76
Preparation
Running multiple containers using docker-compose
Preparation
Bring up the containers with docker-compose
Ping test between two containers
PostgreSQL replication in Docker
Step 1 Configure the master and the slave
Step 2 Create a sample database and populate the master
Step 3 Verify the sample database has been replicated to the slave
Exercises
Chapter 8 Summary 97
Answers to Selected Exercises 98
Acknowledgments 115
About the author 116