Trouble understanding one part of the what-is-kubernetes documentation

Hi everyone,

Firstly, if this is the wrong place to post such a basic question then please let me know.

Overall the documentation on the Kubernetes page is clear, I am just having trouble understanding the following statement, from this page:

Dev and Ops separation of concerns: create application container images at build/release time rather than deployment time, thereby decoupling applications from infrastructure.

This is confusing for me, because in my limited history with devops I have only seen deployments occurring right after the build occurs. So how is it possible to decouple these two things? I am probably misinterpreting the statement or missing some piece of information.
Could anyone please provide a concrete example of how Kubernetes allows one to separate image creation from the deployment, and what are the benefits?

We’re using docker swarm still, (not k8s), but our example applies just the same.

  1. Our build pipeline (gitlab) creates a docker image after a merge - this is the dev part

  2. the image can be deployed, at anytime and anywhere (docker swarm, k8s) from the gitlab registry - this is the ops part. e.g. our registry has images for all builds completed in the past 2 weeks. I can deploy one of those images at any point in time to docker or k8s.

  3. its possible to configure your ci/cd to immediately deploy a built image as part of the dev workflow. This appears to be what you’re mentioning “deployments right after build”, but there’s no requirement to do this.

1 Like

perfect thanks