
Learn to automate on-prem data centers using VMware, Docker, Jenkins, Vault, Packer, Terraform, and Ansible to build repeatable infrastructure and deployment workflows.
Set up a dedicated build machine and build server to host tools and Docker containers across development and test environments, using VMware ESX 6.7, vSphere 6.7, and Ubuntu 20.04.
Create a VM in a vSphere lab, install Ubuntu 20.04.3 server, configure static networking and OpenSSH, update packages, install VMware Tools, and fix multi-path warnings.
Set up docker on the Ubuntu build server bilby, and pull images from Docker Hub. Run containers, map ports, inspect, and view logs with a basic dockerfile.
Install docker on the build machine and verify the service. Pull the nginx alpine image, run it in the background, then inspect, view logs, restart, stop, and remove the container.
Explore git as a versioned source control with local and remote repositories, guiding you from init to push, including status, add, commit, and ignore for data center automation.
Initialize and run a cogs docker container with persistent data, configure git globally, create a local repository, connect to a remote, and push commits with basic git operations.
Explore how HashiCorp Vault secures credentials by enabling secret storage, access control, and multi-key unseal; learn to seal, unseal, and retrieve secrets via API or CLI.
Install and configure Vault locally, enable the web UI, set API address, unseal with keys, and export tokens. Create a secret engine for VMware data and populate credentials for templates.
Automate vm creation with packer for VMware by building templates from ISO images, using provisioners and post-processors, and managing variables, FTP servers, and future Jenkins integration.
Install and verify Packer on the build server, set up the local automation repository, configure Git with origin, and organize project files (Packer, Ubuntu 20, .gitignore) for streamlined source control.
Automate Ubuntu 20 template creation with packer by configuring vault-based secrets, vSphere settings, ISO deployment, boot commands, cloud-init auto install, and turning the VM into a reusable template.
Automate the creation of a Windows Server 2019 template with Packer by configuring artifacts, unattended install scripts, VM Tools, and vSphere settings, then convert the VM to a reusable template.
Set up Jenkins as the build server to run the devops ci cd pipeline, and learn why it's long-running, open-source, and well supported in the community.
Set up Jenkins in a Docker container and generate a public/private RSA key pair to enable secure server access, configure credentials, and prepare Terraform and Packer tools for builds.
Build Packer images for Ubuntu 20 and Windows Server 2019 using Jenkins freestyle projects, secret management, and Vault tokens; monitor console output and publish templates as vSphere artifacts.
Explore deploying virtual machines with Terraform on VMware, starting from a single server to a two-web-server stack with load balancer. Use templates, Packer, plugins, and plan–apply workflows to manage environments.
Install Terraform on the build server by configuring GPG keys, adding the APT repository, updating packages, verifying the version, then copy the binary to Jenkins and set ownership.
Configure Terraform with Ubuntu 20 on vSphere, using Vault credentials, data center, data store, and network settings to provision a VM from a template and configure SSH keys.
Apply Terraform to Windows Server 2019 by adapting an Ubuntu workflow, updating hostnames and options, running init, validate, plan, and apply, then connect via remote desktop and destroy.
Integrate Terraform in Jenkins to auto apply Ubuntu 20 and Windows Server 2019 machines from Packer templates in a VMware environment, using auto-approve and wait-for-guest-net-timeout.
Explore Ansible for local user management, public key access, and passwordless sudo on virtual machines, and contrast it with Terraform using agentless YAML playbooks, inventories, and idempotent operations.
Install and configure Ansible on a Ubuntu server, create and run your first playbooks to add a user, grant sudo access, and set up SSH key authentication.
Apply TerraForm and Ansible to deploy and configure multiple VMS, generate dynamic inventories for Ansible, and deploy a web server stack behind an Engine X load balancer.
Deploy three Ubuntu servers with Terraform, generate a dynamic Ansible inventory, and run playbooks to manage users across all hosts.
Deploy nginx to on-prem web servers with Ansible, using domain variables, jinja templates, and a complete playbook workflow. Validate deployment across multiple VMs and prepare for final application stacks.
Orchestrate a fully load-balanced on-prem app by provisioning three web servers and a load balancer with Terraform, then configure and run Ansible playbooks for the web servers and load balancer.
Learn how to automate your data center in a devops manner while staying focused with on-prem data centers. There are simply too many courses on automation covering the native cloud providers while ignoring where the majority of workloads still run!
I start each section with an introduction of concepts and then walk you through installation, configuration and execution of each toolset and concept.
We'll learn how to:
Create a centralized build server in Ubuntu
Automate Windows and Linux virtual machine creation with Packer
Provision servers into VMWare from Packer virtual machine templates using Terraform
Configure virtual machines using Ansible
Integrate secure credential management into Packer, Ansible and Terraform using Vault
Dynamically create Ansible inventories from terraform plans
Deploy full application stacks with multiple servers and application configurations using Terraform and Ansible
Deploy, setup and manage build processes using Packer and Terraform in Jenkins
Setup and configure the GOGS git server
Each section builds on the last and you'll significantly grow your comfort level with all things automation using a plethora of different tools and languages. By the time we're done you'll be able to take what you've learned and apply it to your own scenarios... whether you're doing this in your day job or wanting to build out an awesome home lab.
I am very passionate about supporting 3 organizations that are aiming to help find cures for health issues that have profoundly impacted those around me throughout my life. As a result a portion of my earnings will go to each of these initiatives (15% of all earnings):
5% to the Alzheimer's Association
5% to the National Alliance on Mental Illness
5% to the American Cancer Society