-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Dual stack follow-ups #2173
Dual stack follow-ups #2173
Conversation
/hold |
IPv6DualStack: true | ||
` | ||
if len(cfg.KubeadmConfigPatches) > 0 { | ||
cfg.KubeadmConfigPatches = append(cfg.KubeadmConfigPatches, dualPatch) |
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.
is this ok, or should we use Json6902?
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.
There's a much easier way to default this when we generate the base kind config which also respects the user patch applied on top. See how we handled it for the PV feature gatr
} | ||
|
||
// for 1.20 we have to explicitly enable the feature gate | ||
// we can patch kubeadm here so we avoid to plumb this hack further |
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.
kubeadm adds the corresponding feature gates flags to the other components, controller-manager, apiserver, kube-proxy ... and validates that podsubnet and serviceSubnet are correct ... so we don't need to set the feature flags
/assign @BenTheElder |
@aojea: GitHub didn't allow me to request PR reviews from the following users: aspenmesh, howardjohn. Note that only kubernetes-sigs members and repo collaborators can review this PR, and authors cannot review their own PRs. In response to this:
Instructions 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/test-infra repository. |
b24f7c0
to
fc07f05
Compare
after updated the kindnet image
and delete the old kindnet pods that should be crashlooping because it can't handle dualstack correctly
I have some problems because the apiserver fails to validate everything after this error
@liggitt can you give me some hints to debug this further? EDIT this is with 1.20.2 |
/retest |
sounds like kubernetes/kubernetes#88182 cc @apelisse |
Looks like a retread of kubernetes/kubernetes#79391 (comment), but now with server-side apply. |
If we can have existing objects with duplicate items here (and it sounds like we can), the managedFields update cannot break update of those objects. Complaining on Apply requests is in-bounds (though it sounds like the merge key selected for the field may be wrong in the first place if we expect to have multiple entries of the same address type with different IP families) |
Yeah, I'd be very surprised if it does, I think that's a red-herring. |
{{< /codeFromInline >}} | ||
|
||
##### Dual Stack clusters | ||
You can run dual stack clusters using `kind`, on kubernetes versions 1.20+. |
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.
Please note that this requires 0.11.0+
@liggitt @apelisse indeed it was a redherring, thanks for your quick response, I can't explain why by it was caused by a wrong kubeadm configuration, there was also rbac errors on the scheduler and the controller manager. @BenTheElder PTAL, it needs the new kindnet image in order to work
$ kubectl apply -f https://gist.githubusercontent.com/aojea/90768935ab71cb31950b6a13078a7e92/raw/99ceac308f2b2658c7313198a39fbe24b155ae68/dual-stack.yaml
$ kubectl get endpointslices -o wide
NAME ADDRESSTYPE PORTS ENDPOINTS AGE
kubernetes IPv4 6443 172.18.0.2 4m24s
my-service-prefer-dual-jswjr IPv4 80 10.244.0.6,10.244.0.5 45s
my-service-prefer-dual-vvkdt IPv6 80 fd00:10:244::3,fd00:10:244::2 45s
my-service-require-dual-4hqq2 IPv6 80 fd00:10:244::3,fd00:10:244::2 45s
my-service-require-dual-75hk8 IPv4 80 10.244.0.6,10.244.0.5 45s
my-service-v4-429wd IPv4 80 10.244.0.6,10.244.0.5 45s
my-service-v6-crtqs IPv6 80 fd00:10:244::3,fd00:10:244::2 45s |
/hold cancel |
// dual-stack is only supported in 1.20+ | ||
// TODO: remove this when 1.20 is EOL or we no longer support | ||
// dual-stack for 1.20 in KIND | ||
if ver.LessThan(version.MustParseSemantic("v1.21.0")) && |
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.
we should really use the version for the PR that enabled it by default so it works with arbitrary commits 🙃
if you checkout kubernetes master then the commit you can grab the version.
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.
can be a follow-up
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.
this was the kubeadm one kubernetes/kubernetes#99294
and this the kubernetes one kubernetes/kubernetes#98969
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.
the must parse semantic doesn't accept versions with letters IIRC
@aojea upgrade the kindnetd image / manifest? you have access 🙃 |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: aojea, BenTheElder The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Fix documentation and workaround 1.20 versions to enable the feature gate
This needs an image bump for having the kindnet dualstack versions, so pods can get dual-stack addresses
Fixes: #2172