-
Notifications
You must be signed in to change notification settings - Fork 5.1k
minikube: add ip-family flags and core IPv6 config plumbing #22061
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: kartikjoshi21 The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Hi @kartikjoshi21. Thanks for your PR. I'm waiting for a github.com member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
Can one of the admins verify this patch? |
|
Logs with basic flags plumbing and current behavior validation |
40967e8 to
1c88f6d
Compare
TestingAll tests were done with a locally built |
|
/ok-to-test |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
I ran through your tests manually on Windows 11 Enterprise with docker desktop... but with All good. In git bash: Then in windows cmd: 1. Default IPv4 cluster (no new flags)3. CIDR validation / type checking3.1 --pod-cidr must be IPv43.2 --pod-cidr-v6 must be IPv63.2 --pod-cidr-v6 must be IPv63.3 --service-cluster-ip-range-v6 must be IPv63.4 --subnet-v6 must be IPv64. --static-ipv6 validation |
|
This should error IMHO, but runs. (note ipv4 with ipv6 flags) |
illume
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey hey. I left a few notes.
1c88f6d to
09823ff
Compare
|
kvm2 driver with docker runtime |
|
Here are the number of top 10 failed tests in each environments with lowest flake rate. Besides the following environments also have failed tests:
To see the flake rates of all tests by environment, click here. |
|
@kartikjoshi21: The following tests failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
This PR introduces the core configuration and CLI plumbing for IPv6 and dual-stack clusters in minikube. It does not change kubeadm/CNI templates or control-plane bindings yet; those come in follow-up PRs.
Concretely, it:
Adds an
--ip-familyflag tominikube start:ipv4(default, current behaviour)ipv6dualWires IPv6-aware CIDRs and addresses into
ClusterConfig/KubernetesConfig:--service-cluster-ip-range-v6→KubernetesConfig.ServiceCIDRv6--pod-cidr→KubernetesConfig.PodCIDR(IPv4)--pod-cidr-v6→KubernetesConfig.PodCIDRv6(IPv6)--subnet-v6→ClusterConfig.Subnetv6(KIC Docker/Podman network)--host-only-cidr-v6→ClusterConfig.HostOnlyCIDRv6(VirtualBox)--static-ipv6→ClusterConfig.StaticIPv6Extends
Nodewith an IPv6 field so later PRs can populate node IPs.Adds defaults for IPv6 CIDRs:
DefaultServiceCIDRv6 = "fd00::/108"DefaultPodCIDRv6 = "fd01::/64"Introduces
normalizeAndValidateIPFamily()which:ipv4/ipv6/dual(defaulting toipv4),cni.DefaultPodCIDR) foripv4/dual,--subnet-v6,--service-cluster-ip-range-v6,--pod-cidr,--pod-cidr-v6, and--static-ipv6.Adds guardrails for IPv6/dual on the Docker driver:
daemon.jsonif the daemon/network blocks IPv6 bridge networks.For
--ip-family=ipv4with no IPv6 flags, minikube behaves exactly as today (IPv4-only cluster, existing Service/Pod CIDR defaults, no CNI or kubeadm behaviour change).Fixes: #8535
Refer to #22061 (comment) comment for testing steps.
Tested and verified on: