Skip to content
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

WIP: Updated daemonset for taints and tolerations. #2776

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions docs/admin/daemons.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,12 @@ when the pod is created, so it is ignored by the scheduler). Therefore:
- DaemonSet controller can make pods even when the scheduler has not been started, which can help cluster
bootstrap.

## How Daemon Pods work with taints and tolerations

Daemon pods will not be deleted by `NodeController` in case of node problems, such as when node turns to
`Unreachable` or `NotReady`. The reason is that the `NodeController` added an infinite tolerations of
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sentence doesn't read well to me and it is quite long. Consider replacing "the reason" and rephrasing "added an infinite tolerations".

Toleration is a verb and should not include an "s".

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/Daemon pods/Daemonset pods

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/added/adds

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The NodeController will not delete Daemonset pods in case of node problems, such as a node being Unreachable or NotReady, because the NodeController adds infinite toleration for Unreachable and NotReady taints.
??

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Daemonset has its own controller and node controller just adds the taints.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks all for the comments, I was planning to make this as a reference to #2774 as there is a section explaining daemonset logic there.

Marking this as WIP to wait #2774 to be merged first before I update this PR.

`NoExecute` for `Unreachable` and `NotReady` taints, so the daemon pods will bound to those nodes forever.

## Communicating with DaemonSet Pods

Some possible patterns for communicating with pods in a DaemonSet are:
Expand Down