-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Declarative Node Maintenance #4212
Comments
/sig apps |
Hello @atiratree, 1.29 Enhancements team here! Is this enhancement targeting 1.29? If it is, can you follow the instructions here to opt in the enhancements and make sure the lead-opted-in label is set so it can get added to the tracking board? Thanks! |
Title suggestion: “Declarative node maintenance” (all KEPs are implicitly improvements, or at least they aim to be) |
Thanks for the suggestion. I have updated the title and the KEP. |
@npolshakova this still needs to be discussed with all the interested sigs before we can target this. |
this has been discussed and the KEP still needs some work and additional discussions, so we will try to target this for the next release |
/sig node |
@atiratree, how can people best help move this work forward? |
I will revisit this one soon. I need to process the reviews and my personal notes. |
The KEP should be up to date now. |
Some relevance to: kubernetes/website#44998 (about the existing docs for node maintenance) |
In case it helps, Red Hat has been shipping https://github.com/medik8s/node-maintenance-operator for ~5 years. |
@beekhof I am aware of this operator and it was considered when designing this feature. Please also see https://github.com/kubernetes/enhancements/blob/cd1ea31e1c09c2f4e9f6a7f35821ff14f41a2f78/keps/sig-apps/4212-declarative-node-maintenance/README.md#out-of-tree-implementation |
The Declarative Node Maintenance KEP is becoming too complex and it is hard to capture all aspects and review everything in a single place. I have opened a second KEP just for the Evacuation API: #4563 and it will be a prerequisite for the Node Maintenance. |
@beekhof if we did prototype node maintenance out of tree, with an alpha API group, we'd want to teach Kubernetes tooling about using it (for example, To me, the value comes from that integration work more than from writing the actual controller. If you agree, we could look at rallying effort around an out-of-tree prototype. The integrations would remain valuable even after a move to in-tree implementation. |
/assign @atiratree /label lead-opted-in |
@soltysh I would like to consider this for alpha in 1.32, not in this release. To get more feedback on the feature and to lead the way with the Evacuation API (dependency) first. |
/milestone clear |
Hello @soltysh @atiratree 👋, 1.31 Enhancements team here. Now that this KEP is not targeting for release 1.31 (reference #4212 (comment)), should we also consider removing the |
Yeah, I guess you're right. /remove-label lead-opted-in |
Is there a baseline of detail that we can define and merge as provisional? |
This and #4563 where discussed heavily again during Monday's SIG-Apps call, with the general hesitation from SIG leads we're going to hold on with these efforts in favor of looking into extending PDB and eviction API. |
/label tracked/no |
I'm tempted to propose an out-of-tree implementation (CRD, controller) and maybe kubectl plugin. |
Reading this, we are not considering this for 1.32? |
Not considering for 1.32. We have to get a broader consensus before we can accept this into the core. Please see https://groups.google.com/g/kubernetes-sig-architecture/c/Tb_3oDMAHrg for more details. I would like to build the consensus with the community, but did not have a time to pick up the topic yet. Hopefully we can do that soon. We are also having discussions about the #4565 and will follow up on that in the next sig-apps meeting, which would help the NodeMaintenance feature. |
What would be the benefit when compared to the other drain solutions? Or extending the other drain solutions? Nevertheless, I think it is better to start with the discussions first. |
Personally, I want to be able to initiate a declarative drain via |
We cannot make it declarative unless we have the API and I am not positive we can accept 3rd party APIs into kubectl. But we could consider starting with the NodeMaintenance logic + Evacuation API in kubectl. |
Did you mean “out of tree”? The out-of-tree implementation I had in mine would still be part of Kubernetes, but not part of https://github.com/kubernetes/kubernetes (other than the kubectl support, which needs to be in-tree if not done using a plugin). |
Ah, yeah, that could work if sig-cli would accept it. However, if there is an API, there is less need for kubectl integration and just creating the object could be enough. |
Enhancement Description
k/enhancements
) update PR(s): KEP-4212: Declarative Node Maintenance #4213k/k
) update PR(s):k/website
) update PR(s):Please keep this description up to date. This will help the Enhancement Team to track the evolution of the enhancement efficiently.
The text was updated successfully, but these errors were encountered: