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. Meanwhile, if you're all caught up, let's dive into the challenges with container configuration.
David Lutterkort, an advisory software engineer at Puppet, gave an excellent talk on the challenges of container configuration, what configuration means for containers, and why managing container configurations over time, and at scale, can be difficult. He offers advice on best practices that should be implemented to avoid the pitfalls.
Docker containers are not immutable objects by default, and David discusses how to enforce immutability within the Docker world by using things such as read-only and
–tmpfs to promote immutable containers, and ensure that what is actually contained and running within the container is exactly what was built. David also covers the configuration of schedulers such as Kubernetes, and discusses how schedulers help to automate and abstract you from concerns such as where containers run, or how to update container deployments based on health checks.