What would you like to be added:
With there being so many CRI-compatible runtimes available now, it would be great to have some choice to the runtime that KIND works with.
The proposal is to add a CRI-based provider that can leverage CRI in order to integrate with whatever CRI-compatible runtime may be available.
Why is this needed:
Without this, if we wanted to use a different runtime provider, a specific integration would be needed (see Podman). Instead, if there was a CRI-based provider, we could direct KIND to use that and it would then be unnecessary to maintain specific integrations, so long as the runtime implementation conformed to CRI spec (such as containerd cri plugin, for example).
I am excited about this idea! @BenTheElder has some concerns around networking and ensuring that "nodes" get static addressing but maybe we can discuss this proposal at the next office hours.
So fwiw we need to leverage things outside of CRI today (also podman and docker are NOT CRI compatible anyhow), maintaining those is not going anywhere, but I do think a CRI provider is a good idea, especially if we can leverage crictl so as not to pull k8s.io/kubernetes into the kind binary.
CRI is a great promise but it really is just the API kubelet needs and effectively has two production implementations. We also want e.g. ignite support at some point.
I am also happy to support this but calling it
/priority backlog
As it's not strictly needed for our primary charter (testing kubernetes itself, some local app developer usage) but could be really cool especially for some niche usage.
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale
/remove-lifecycle stale
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale
/remove-lifecycle stale
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale
Most helpful comment
CRI is a great promise but it really is just the API kubelet needs and effectively has two production implementations. We also want e.g. ignite support at some point.
I am also happy to support this but calling it
/priority backlog
As it's not strictly needed for our primary charter (testing kubernetes itself, some local app developer usage) but could be really cool especially for some niche usage.