Participants will understand fundamentally, the culture and goals of DevOps.
They will also learn how to develop and operationalize modern, cloud-native applications with tools such as Docker, Kubernetes, OpenShift, and Jenkins.
Participants will leave with the foundational skills necessary to containerize, deploy, orchestrate, and maintain applications in the cloud.
This workshop is structured into 4 different components, where each component will build off of knowledge learned in previous ones:
- Containers
- Container Orchestration (Openshift, Kubernetes)
- Pipelines
- Everything as Code
The instructions for each workshop component can be found in their respective directories of this repo.
The presentation slides can be found in the docs/ directory.
This workshop should be compatible for users with Mac as well as Windows machines, as long as the pre-reqs below are met, however, only Mac machines have been tested.
- Familiarity with using the Terminal in a Linux environment.
(Or willingness to learn!) - Git installed on your local machine.
(If you don't have Git installed, you can download a ZIP of this repository instead.) - VirtualBox 6.0.10 installed on your local machine.
- Vagrant 2.2.4 installed on your local machine.
- Local Admin Access
If you are on a Mac, you can use homebrew to install the pre-reqs:
$ brew cask install virtualbox
$ brew cask install vagrant
Clone the repo and the git submodules, and navigate to the repo's root directory:
$ git clone --recurse-submodules << this GitHub repository >>
$ cd devops_workshops
Start up the necessary virtual machine(s) using Vagrant.
$ vagrant up <vm name>
Note: This step may take a while, especially the openshift VM.
This will start up the virtual machine(s) on your local machine, on a host-only network. Here is the list of possible training VMs and their private IP addresses:
hostname | private IP |
---|---|
docker | 172.28.33.10 |
openshift | 172.28.33.20 |
jenkins | 172.28.33.30 |
kubernetes | 172.28.33.40 |
k8s-efk | 172.28.33.50 |
You can also start up multiple VM if you need to:
$ vagrant up docker openshift
It is highly recommended that you only start up only the virtual machines that are required for each workshop component,
rather than trying to start up all the virtual machines for all workshop components.
This will help prevent unnecessary resource consumption from your host machine.
You can view the provisioned virtual machines with the following command:
$ vagrant global-status --prune
You should see output similar to the following:
id name provider state directory
-----------------------------------------------------------------
3f10a34 docker virtualbox running /Users/<...>/devops_workshops
62a885e openshift virtualbox running /Users/<...>/devops_workshops
6dfd328 jenkins virtualbox running /Users/<...>/devops_workshops
609159a kubernetes virtualbox running /Users/<...>/devops_workshops
...
Anytime you want to reset the training environment to its original state, run this command:
$ vagrant halt; vagrant destroy -f; vagrant up
To stop the virtual machines you can either suspend them:
$ vagrant suspend
or halt them:
$ vagrant halt