Hi,
This is a follow up from discussions we had before in sig node and this comment: https://github.com/kubernetes/enhancements/pull/4895#discussion_r1791268767
The main question is whether we should continue promoting KEPs which have container runtime dependencies and what can be a good policy for k8s in terms of CRI APIs real-world validation. Before 2.0, we always had at least CRI-O and Containerd support, which was covering a majority of use cases and deployments. The question is whether we can assume 2.0 will happen before 1.32 and whether we should add a buffer for Containerd 2.0 adoption after it is released. I will add this as a topic for the SIG Node meeting.
Last couple of k8s releases we have operated on the assumption that Containerd 2.0 is right around the corner. However it is still not released. In fact, it has 3 items officially tracked as release blocking and 13 open items in the milestone. Moreover, once released, we will not have good feedback from production environments while people will be adopting the 2.0, which has many breaking changes.
I looked over a few recent KEPs to see where we are.
We have accumulated two KEPS in beta with only 2.0 support:
This release two KEPs that are targeting beta in 1.32 are:
VolumeSource: OCI Artifact and/or Image · Issue #4639 · kubernetes/enhancements · GitHub
Fine-grained SupplementalGroups control · Issue #3619 · kubernetes/enhancements · GitHub
Moreover we have alpha KEPs that are not supported on Containerd for a long time:
And any new KEP that will need CRI API change, will only be supported on Containerd 2.0 based on a current Containerd policy.
/Sergey
--
You received this message because you are subscribed to the Google Groups "kubernetes-sig-architecture" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-sig-arch...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/kubernetes-sig-architecture/CA%2Bsr0%2BAS%3DJau3hOxoz4OLWAxB8Mpc82N-k9RgFix4MhAMU%3DTDQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "kubernetes-sig-node" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-sig-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/kubernetes-sig-node/ZwUafimkrnnpMpak%40dcbz.redhat.com.
The IETF looks for at least two independent implementations of a thing before moving any RFCs to an internet standard. The two implementations can be open or proprietary but shouldn't have a common codebase / heritage.I think that's a good approach; we shouldn't specify what the names of those implementations are or how popular they are.When a new or changed behavior depends on an external component, we shouldn't enable the new thing by default until there are two external implementations that have their support for it available in a public release.We should also be cautious about moving to beta, but the crucial point is about when we change default behavior.I like the idea of bumping the tooling default (eg, what you get from kubeadm) a minor release ahead of changing the component default (eg, how kube-apiserver behaves unless overridden). We should decide which of those 2 promotion points is gated on having at least n external implementations.Tim BannisterSenior lead consultantThe Scale FactoryOn Sunday 13 October 2024 at 23:19:30 UTC+1 tho...@google.com wrote:For things that manifest as APIs in k/k and implementations elsewhere,
we DEPEND on the implementations to provide feedback. I think
"adoption" here means "by implementors" not end users.
--
You received this message because you are subscribed to the Google Groups "kubernetes-sig-architecture" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-sig-arch...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/kubernetes-sig-architecture/85892617-76b5-4060-9862-3088d59979f2n%40googlegroups.com.