Authenticating from pipelines
This chapter so far has focused exclusively on authentication to Kubernetes by users. Whether an operator or a developer, a user will often interact with a cluster to update objects, debug issues, view logs, and so on. However, this doesn’t quite handle all use cases. Most Kubernetes deployments are partnered with pipelines, a process by which code is moved from source to binaries to containers and, ultimately, into a running cluster. We’ll cover pipelines in more detail in Chapter 18, Provisioning a Multitenant Platform. For now, the main question is, “How will your pipeline talk to Kubernetes securely?”
If your pipeline runs in the same cluster that is being updated, this is a simple question to answer. You would grant access to the pipeline’s service account via RBAC to do what it needs to do. This is why service accounts exist – to provide identities to processes inside the cluster.
What if your pipeline...