-
Notifications
You must be signed in to change notification settings - Fork 39.9k
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
Node affinity and NodeSelector design doc #18261
Conversation
Labelling this PR as size/L |
GCE e2e test build/test passed for commit 974392ea8b82b4f0c0772877a886caf948701663. |
0f952fd
to
d1bf70e
Compare
GCE e2e build/test failed for commit 0f952fd863d82c9bfccb1562e347b45f452e4fd0. |
GCE e2e build/test failed for commit d1bf70e40d5592deb626cc7172210a3359ed7850. |
d1bf70e
to
84ec093
Compare
GCE e2e build/test failed for commit 84ec093b8ba7a7c1f8f316b7d401382b48892f98. |
@quinton-hoole this is relevant to both flavors of Ubernetes |
## Introduction | ||
|
||
This document proposes a new label selector representation, called `NodeSelector`, | ||
that is similar in many ways to `PodSelector`, but is a bit more flexible and is |
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.
s/PodSelector/LabelSelector/
Comments from meeting with @bgrant0607 today follow. I will update the proposal to reflect them shortly:
|
// A node selector represents the union of the results of one or more label queries | ||
// over a set of nodes; that is, it represents the OR of the selectors represented | ||
// by the nodeSelectorTerms. | ||
// TODO: what are the semantics of empty and null? |
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.
I'd suggest sticking to what we have with generalized selectors, iow. empty - selects every object in the collection; null - selects no objects.
PR changed after LGTM, removing LGTM. |
a5dee86
to
f09d1c7
Compare
f09d1c7
to
d306ee8
Compare
PR changed after LGTM, removing LGTM. |
GCE e2e test build/test passed for commit a5dee8655f28f6fb74e9f7f9bcec1774cd9c6397. |
GCE e2e test build/test passed for commit d306ee88f064ffa7204faab6e030273ec04956dc. |
GCE e2e test build/test passed for commit f09d1c7405d4939f7dda67452d11561817ba882b. |
d306ee8
to
32fa440
Compare
PR changed after LGTM, removing LGTM. |
GCE e2e test build/test passed for commit 32fa440. |
Tests pass, manually merging as this is a doc-only PR with just one doc. |
Node affinity and NodeSelector design doc
Automatic merge from submit-queue selector: make sure value of GT and LT is integer GT and LT in selector has been introduced in Node Affinity feature: #19758, #18261 According to the API: > If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. But the implementation has parsed it as float64: https://github.com/kubernetes/kubernetes/blob/ef0c9f0c5b8efbba948a0be2c98d9d2e32e0b68c/pkg/labels/selector.go#L183 Modeling integer as float is dangerous. We don't even have fixed precision guarantee when doing comparison. This PR is to get rid of this pre-optimization and convert **integer** to int64.
Automatic merge from submit-queue (batch tested with PRs 18415, 18419, 18268, 18102, 18440). UPSTREAM: 58753: Fix kubectl explain for cronjobs Fixes kubernetes#18261. @Kargakis fyi /assign @juanvallejo Origin-commit: 797fbdec73a8959129a95be7bfdb0e3d53d18d45
Ref/ #341
@bgrant0607 @soltysh @sdminonne @mikedanese @derekwaynecarr @kevin-wangzefeng @ravigadde @timothysc