11 App development-Developer workflows and CI/CD

 

This is the final chapter on Kubernetes in the real world, and the focus here is the practicality of developing and delivering software to run on Kubernetes. Whether you identify as a developer or you’re on the ops side working with developers, the move to containers impacts the way you work, the tools you use, and the amount of time and effort from making a code change to seeing it running in development and test environments. In this chapter, we’ll examine how Kubernetes affects both the inner loop—the developer workflow on the local machine—and the outer loop—the CI/CD workflow that pushes changes to test and production.

How you use Kubernetes in your organization will be quite different from how you’ve used it so far in this book, because you’ll use shared resources like clusters and image registries. As we explore delivery workflows in this chapter, we’ll also cover lots of small details that can trip you up as you make the change to the real world—things like using private registries and maintaining isolation on a shared cluster. The main focus of the chapter is to help you understand the choice between a Docker-centric workflow and something more like a Platform-as-a-Service (PaaS) running on Kubernetes.

11.1 The Docker developer workflow

11.2 The Kubernetes-as-a-Service developer workflow

11.3 Isolating workloads with contexts and namespaces

11.4 Continuous delivery in Kubernetes without Docker

11.5 Evaluating developer workflows on Kubernetes

11.6 Lab