The way IT operations teams deploy and manage their infrastructure is constantly evolving. The latest developments in containers and container scheduling technologies such as Docker, Kubernetes, and Mesos, especially, have gotten a lot of attention, and more and more people in IT and software development are adopting these solutions — and deploying infrastructure in the cloud — all the time.
Managing this modern infrastructure isn't a trivial task — and that's exactly what Puppet is here for. In this post, I am summarizing for you some of the excellent talks that were given at PuppetConf 2016 on container technologies and how Puppet fits into this new IT ecosystem. These talks — all captured on video — really are a must-watch if you are using these technologies, and even more so if you are thinking about adopting them.
If you want to start this video series from the beginning, take a look at why it's important to care about container management, the challenges with container configuration, and running Puppet software in Docker. With that out of the way, let's dive into how Puppet fits into modern software infrastructure.
Kubernetes for Sysadmins
Kubernetes can be used as a framework for building distributed platforms, giving you the foundation to build the tools you need to run your infrastructure. Kelsey Hightower from Google gave a talk at PuppetConf titled Kubernetes for Sysadmins.
Today, automation is key to advancing your business goals, and most companies are automating. However, people are wasting money by under-utilizing resources when running infrastructure. Kelsey explains how to reverse this by using Kubernetes to schedule, and how Kubernetes makes it possible to examine a workload and assign it to a cluster of machines in an efficient manner. Kelsey's Tetris analogy is fantastic — and helpful.
Kelsey also discusses the architectural concepts of Kubernetes — pods, replication controllers, service discovery and volumes — and gives a demo of how these are created and fit together. He also demos building an integration with Let’s Encrypt to automate the processing of certificates from an application, using Kubernetes as a framework.