Versioning and releasing components outside of kubernetes/kubernetes
Lubomir I. Ivanov, neolit123, SIG Cluster Lifecycle, 6th April, 2020
What are these slides about?
Why should some components move out?
The problem statement
Current state
Pending extraction: kubectl
Pending extraction: kubeadm
Proposal A: follow the release schedule
With this approach component C from repository k/c will be versioned exactly like k/k. The release x.yy.zz of k8s will include the component versioned as x.yy.zz.
Pros:
Proposal A: follow the release schedule
Cons:
Proposal B: decouple from the release schedule
With this approach component C from repository k/c will have its own versioning and release cycle. The release of k8s x.yy.zz will include a stable version of the component.
Pros:
Proposal B: decouple from the release schedule
Cons:
Proposal C: stop releasing components
With this approach component C from repository k/c will no longer be part of the k8s release.
Pros:
Proposal C: stop releasing components
Cons:
Do not split the monolith
Building external components for a k8s release
Proposal A: building components from k/k
During k/k’s “make release”, source code of external components can be pulled in and built.
Pros:
Cons:
Proposal B: building components from k/release
Currently k/release tooling (Anago) clones k/k and execute “make release” to build the k/k artifacts. During this step external components can also be built.
Pros:
Cons:
Other big projects out there
Conclusion