-
Notifications
You must be signed in to change notification settings - Fork 463
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
Add ClusterOperator Scheduling #650
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -189,6 +189,12 @@ following taints if doing so is necessary to form a functional Kubernetes node: | |
Operators should not specify tolerations in their manifests for any of the taints in | ||
the above list without an explicit and credible justification. | ||
|
||
Operators should never specify the following toleration: | ||
* `node.kubernetes.io/unschedulable` | ||
|
||
Tolerating `node.kubernetes.io/unschedulable` may result in the inability to | ||
drain nodes for upgrade operations. | ||
|
||
When an operator configures its operand, the operator likewise may specify | ||
tolerations for the aforementioned taints but should do so only as necessary and only | ||
with explicit justification. | ||
|
@@ -222,6 +228,10 @@ spec: | |
- operator: Exists | ||
``` | ||
|
||
Tolerating all taints should be reserved for DaemonSets and static | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Which static pods are you referring to? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is there more than one type? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I meant which specific static pods in OpenShift. IIUC, static pods should be tolerating all There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There isn't an option to tolerate all taints of a certain effect, just "All" generally. |
||
pods only. Tolerating all taints on other types of pods may result in the | ||
inability to drain nodes for upgrade operations. | ||
|
||
An example of an operand that matches the first case is kube-proxy, which is required | ||
for services to work. An example of an operand that matches the second case is the | ||
DNS node resolver, which adds an entry to the `/etc/hosts` file on all node hosts so | ||
|
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 other guidelines in this section include justification, so that someone coming to the doc without all of the background can learn why we have each restriction. This addition would benefit from a sentence or two explaining why this value is so special that it should never be used.
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.
Thanks, that looks good.