A container orchestration platform needs a solid foundation to run our containers. One vital piece of infrastructure is the location where we store our container images, which will allow us to reliably fetch them when creating our pods.
From a developer's point of view, it should be very easy and fast to push new images whilst developing the software we wish to deploy to Kubernetes. We'll also want to have mechanisms that help us with versioning, cataloging, and describing how to use our images, in order to facilitate deployments and reduce the risk of delivering the wrong version or configuration of our software.
Container images can often contain intellectual property, proprietary source code, infrastructure configuration secrets, and even business secrets. Therefore, we need to have proper authentication and authorization mechanisms to protect...