This post has been de-listed
It is no longer included in search results and normal feeds (front page, hot posts, subreddit posts, etc). It remains visible only via the author's post history.
I love the functionality provided by tools like Argo Rollouts and friends, it makes configuring a sophisticated rollout mechanism much simpler!
However there is one thing that doesn’t sit right with me - is that these tools seem to all reside in the same cluster as the applications themselves. It seems like the responsibility of deployment rollout has now shifted almost into the application layer.
In traditional CD architectures I’ve worked with, the system that does the deployment grunt work is not colocated with application fleets - instead, it is a separate (and typically global) system that drives a fleet to a desired state, performs rollouts, etc.
In the new world, it looks like every tool out there for k8s deployments and rollouts is just CRDs, meaning there is nothing more than logical separation between your application and your deployment. I’m not sure I’m ready to say that this is wrong, but it’s definitely a new architecture choice to me. I’d have expected these tools to live outside the cluster and operate on it externally - not live within them.
To be clear, I’m not debating the usefulness of these tools - in fact I think they’re great and make a great number of complex use cases much simpler - I’m just surprised that they’re implemented as work that lives within the same logical (and physical) boundary as the applications themselves.
There are tools that can span multiple clusters, such as karmada, but this seems like the minority.
Subreddit
Post Details
- Posted
- 9 months ago
- Reddit URL
- View post on reddit.com
- External URL
- reddit.com/r/kubernetes/...