Designing a pipeline
The term pipeline is used extensively in the Kubernetes and DevOps world. Very simply, a pipeline is a process, usually automated, that takes code and gets it running. This usually involves the following:
Figure 18.1: A simple pipeline
Let’s quickly run through the steps involved in this process:
- Storing the source code in a central repository, usually Git
- When code is committed, building it and generating artifacts, usually a container
- Telling the platform – in this case, Kubernetes – to roll out the new containers and shut down the old ones
This is about as basic as a pipeline can get and isn’t of much use in most deployments. In addition to building our code and deploying it, we want to make sure we scan containers for known vulnerabilities. We may also want to run our containers through some automated testing before going into production. In enterprise deployments, there’s often...