-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
KCP: Handle CoreDNS
upgrades
#2545
Comments
/assign |
I think my preference re using a feature gate vs spec field to enable/disable CoreDNS upgrades would be a spec field that defaults to false, so you have to deliberately opt in. WDYT? |
I'm a +1 on the use of a feature gate here |
And not controlling it per cluster? |
per-cluster may be nice, but without having some type of real requirement around per-cluster granularity for use of the feature and that this should eventually fall under the purview of the addons manager, I think avoiding adding a field would help with type stability as we try to move towards beta types. |
Chatting with @sethp-nr, and brainstorming a little more, we might want to have this configurable by cluster / KCP instance, so I was thinking we can add a new field and be opt-out. My reasoning to have it be opt-out was mostly because I'd like to maintain feature parity with what kubeadm upgrade would do today, but open to suggestions. |
thinking about the data model, I was going to propose we can add in KCP:
naming tbd of course, but something that potentially can be expanded to other addons as well |
Would we consider it an attribute of the KubeadmControlPlane or rather an attribute of the Cluster? In the short term, implementation wise, I would agree that it is the responsibility of KCP, but if we move to a model where an addon manager is used, it might make more sense for it to be an attribute of the Cluster. I'm also trying to think of the case where we could eventually be talking about addons such as CNI, which might have more complicated upgrade handling than coreDNS would, where you may not want to perform the upgrade until after all Nodes in the cluster have been upgraded (or possibly before). |
with this I agree! I was thinking we could revisit in v1alpha4 or when addon management has better user stories, for today I guess quickest path might be KCP and then we can strip it out? |
We are probably going to get this wrong the first time we do it and we'll probably move this around in the future 😄 but I don't see any immediate, specific harm if we have this on the KCP spec, and make it off by default. That sound ok? |
Chatted with Vince on Slack. He clarified that most users will expect a CoreDNS upgrade if they are manually running |
Thinking about this more, we can skip the bool entirely given that users are still required to set the CoreDNS tag to trigger an upgrade. In the future, if we provide an automated mapping we'll need to make sure to provide ways to opt-out. Does that sound good? |
Yes! Also here is more backstory: The original thinking was to have a ConfigMap or some other metadata in the management cluster that could map from Kubernetes version to CoreDNS version, and upgrade CoreDNS as necessary based on that information. We've since dropped that idea and the only way to force a CoreDNS upgrade would be to change the image tag in the KCP spec. So no need for a separate bool or feature gate. |
+1 to avoiding the bool/feature gate if we are limiting to the case where the user is explicitly setting the coredns image registry/tag in the config. |
/assign |
This issue is a follow-up to #2226.
- make all of this opt in (or out), either via a feature gate (all or nothing), or per KCP (spec field)-- this has been removed from the plan given that the feature is only applicable when a user changes the image/kind feature
/milestone v0.3.0
/priority critical-urgent
/area control-plane
The text was updated successfully, but these errors were encountered: