Chapter 2. Developer Workflows
Kubernetes was built for reliably operating software. It simplifies deploying and managing applications with an application-oriented API, self-healing properties, and useful tools like Deployments for zero downtime rollout of software. Although all these tools are useful, they don’t do much to make it easier to develop applications for Kubernetes. This is where developer workflows come into play. Even though many clusters are designed to run production applications and thus are rarely accessed by developer workflows, it is critical to enable development workflows to target Kubernetes, and this typically means having a cluster or at least part of a cluster that is intended for development. Setting up such a cluster to facilitate easy development of applications for Kubernetes is critical to ensuring success with Kubernetes. If there is no code being built for your cluster, the cluster itself isn’t accomplishing much.
Goals
Before we describe the best practices for building out development clusters, it is worth stating our goals for such clusters. Obviously, the ultimate goal is to enable developers to rapidly and easily build applications on Kubernetes, but what does that really mean in practice, and how is that reflected in practical features of the development cluster?
To answer this, let’s start by identifying phases of developer interaction with the cluster.
The first phase is onboarding. This is when a new developer joins the team. This phase ...
Get Kubernetes Best Practices, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.