Kubernetes currently lacks IPv6 CI support. Some work has been done to add such support via DinD here (https://github.com/kubernetes/test-infra/pull/7529). However, similar support in KinD is very desirable.
Furthermore, there is an effort in the community to bring dual-stack support to kubernetes (https://github.com/kubernetes/enhancements/pull/648). Having an IPv6 CI in place will greatly aid that work.
Full IPv6 support in KinD can progress in small steps, which I will try to outline below.
1. Add support for other CNIs (beyond weave); in particular the bridge and host-local IPAM plugins. Bridge and host-local IPAM are both simplistic which is desirable from a CI point of view as plugin specific problems can be minimized. Both plugins are under the CNCF umbrella (https://github.com/containernetworking) and have had IPv6 support for sometime.
2. Support bridge+host-local on a single node with IPv4 addressing.
3. Support bridge+host-local on a single node with IPv6 addressing.
4. Support bridge+host local on a multi-node cluster with IPv4 addressing.
5. Suppor bridge+host-local on a multi-node cluster with IPv6 addressing.
I would envision the above features coming in a as a series of small PRs. I have wip that brings both 1 and 2 above to KinD. I will share that shortly and would love to get feedback.
We are tracking / discussing 1.) in #205 / #278 FYI.
In general I would love to see this 馃檭
kubeadm _should be_ ready for this, but don't quote me on that. we had some PRs that fixed some IPv4 assumptions last cycle.
but we don't have test signal for IPv6, so /shrug
Hi @BenTheElder @neolit123
Here is one approach https://github.com/kubernetes-sigs/kind/pull/281
Please have a look. It's just a wip that I thought I share to get early feedback. I'm sure there are a multitude of ways we could go about doing this. :)
Hmm. Looks like I need to sign the CLA before you guys can look at the PR above :(
I'll try to get this resolved asap with my company.
Google doc with a proposal to support IPv6 and Dual stack clusters in kind https://docs.google.com/document/d/17e3TWWLfnIZrsVxpln9wNi4x0JVn2oHIHDYjaeENdVE/edit?usp=sharing
/assign
we're making progress in this front, should be shipping IPv6 capable CNI soon, will need some more work on top of that.
https://github.com/kubernetes-sigs/kind/pull/500 and https://github.com/kubernetes-sigs/kind/pull/524 are big steps in this direction
The v0.4.0 release will have this!
Most helpful comment
kubeadm _should be_ ready for this, but don't quote me on that. we had some PRs that fixed some IPv4 assumptions last cycle.
but we don't have test signal for IPv6, so /shrug