The original powerpoint and repos are available here: https://drive.google.com/open?id=0B-25O6PIpLzCNXBOakNEdVdGM2c
I'll be following this up with a series of blog posts in the next few weeks as I have time! If you'd like me to notify you as they come out, please e-mail me at israel at zerrtech.com. Thanks!
5. We’ll just demo
with Apache
The process is basically
the same for other applications
6. We’ll start with some basic
tooling
❖ Docker
❖ Vagrant
❖ Packer
❖ VMWare
7. You’ll have to get your
current infrastructure
ready for containers.
Windows Server 2016,
Windows 10, recent Linux with
Docker-compatible kernels.
Gotta do it sometime!
9. Install Chef/Puppet
and label your
machines
Once you have this in place,
you can use Chef and Puppet
to do your admin stuff day-to-
day. And eventually use it to
build containers.
10.
11.
12. Now, we just layer
docker on top of our
current install
We’re not going to reinvent
the wheel, just use the config
management that’s already
there!
13. Now, we just layer
docker on top of our
current install
We’re not going to reinvent
the wheel, just use the config
management that’s already
there!
14. And start
orchestrating it with
Kubernetes
Label your nodes and use node
affinity to keep your containers
in place. Deploy with Kargo.
Now we can add cloud-based
services without extra tech debt!
15. We can just provision a
Kubernetes master
right from Vagrant
This is actual production code
(in this instance we have a
docker build machine right
next to it)
16.
17. Now we can implement
cloud-oriented config
management
This is basically a combination
of standardizing service
configuration inside our Docker
containers, and providing any
secrets via Kubernetes
18. And finally disconnect
from VMs by using
cloud storage backing
Think EBS, GCE, vSphere,
Openstack (for cloud-native)
-or-
Gluster and/or Rook (bare
metal)
19. Now, we do IAC
on the base VMs
Packer is a fantastic,
wonderful thing. Also, notice
how everything is originating
from a git repo?
20. Building a Linux
machine with
Kubernetes
Check out
github.com/chef/bento and
just add Kargo to your
provisioner
21. Building a Windows
base VM with Docker
preinstalled
Check out
https://github.com/StefanScherer/pac
ker-windows
22. We can even do
IAC for our
hypervisors!
VMware’s distros are redhat
variants, so we can just use a
standard ks.cfg there!
23. Things we didn’t have time to
demo
❖ Demonstrating the whole chain on private infrastructure:
git post-receive hook -> IAC build script -> automatic deployment to
dev/staging/production
❖ Versioning infrastructure with Git submodules and/or Docker tags (tag
Docker builds with git hash or version; and update Git submodules and
Kubernetes deployment definitions with blessed releases)
❖ Safety in serverspec for testing your servers, containers before they
ship
❖ Integration into Hubot/Slack/etc
❖ Deploying identical VM images from VMWare builder locally to AWS,
GCE, Openstack, Vagrant