Skip to content

Commit a03d8db

Browse files
authored
Merge pull request #21531 from kbhawkey/kb-cleanup-daemonset-concept
minor cleanup, remove links
2 parents 24c8727 + 6e914e5 commit a03d8db

File tree

1 file changed

+14
-18
lines changed

1 file changed

+14
-18
lines changed

content/en/docs/concepts/workloads/controllers/daemonset.md

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ collected. Deleting a DaemonSet will clean up the Pods it created.
1818

1919
Some typical uses of a DaemonSet are:
2020

21-
- running a cluster storage daemon, such as `glusterd`, `ceph`, on each node.
22-
- running a logs collection daemon on every node, such as `fluentd` or `filebeat`.
23-
- running a node monitoring daemon on every node, such as [Prometheus Node Exporter](https://github.com/prometheus/node_exporter), [Flowmill](https://github.com/Flowmill/flowmill-k8s/), [Sysdig Agent](https://docs.sysdig.com), `collectd`, [Dynatrace OneAgent](https://www.dynatrace.com/technologies/kubernetes-monitoring/), [AppDynamics Agent](https://docs.appdynamics.com/display/CLOUD/Container+Visibility+with+Kubernetes), [Datadog agent](https://docs.datadoghq.com/agent/kubernetes/daemonset_setup/), [New Relic agent](https://docs.newrelic.com/docs/integrations/kubernetes-integration/installation/kubernetes-installation-configuration), Ganglia `gmond`, [Instana Agent](https://www.instana.com/supported-integrations/kubernetes-monitoring/) or [Elastic Metricbeat](https://www.elastic.co/guide/en/beats/metricbeat/current/running-on-kubernetes.html).
21+
- running a cluster storage daemon on every node
22+
- running a logs collection daemon on every node
23+
- running a node monitoring daemon on every node
2424

2525
In a simple case, one DaemonSet, covering all nodes, would be used for each type of daemon.
2626
A more complex setup might use multiple DaemonSets for a single type of daemon, but with
@@ -95,15 +95,15 @@ another DaemonSet, or via another workload resource such as ReplicaSet. Otherwi
9595
Kubernetes will not stop you from doing this. One case where you might want to do this is manually
9696
create a Pod with a different value on a node for testing.
9797

98-
### Running Pods on Only Some Nodes
98+
### Running Pods on select Nodes
9999

100100
If you specify a `.spec.template.spec.nodeSelector`, then the DaemonSet controller will
101101
create Pods on nodes which match that [node
102102
selector](/docs/concepts/scheduling-eviction/assign-pod-node/). Likewise if you specify a `.spec.template.spec.affinity`,
103103
then DaemonSet controller will create Pods on nodes which match that [node affinity](/docs/concepts/scheduling-eviction/assign-pod-node/).
104104
If you do not specify either, then the DaemonSet controller will create Pods on all nodes.
105105

106-
## How Daemon Pods are Scheduled
106+
## How Daemon Pods are scheduled
107107

108108
### Scheduled by default scheduler
109109

@@ -144,25 +144,21 @@ In addition, `node.kubernetes.io/unschedulable:NoSchedule` toleration is added
144144
automatically to DaemonSet Pods. The default scheduler ignores
145145
`unschedulable` Nodes when scheduling DaemonSet Pods.
146146

147-
148147
### Taints and Tolerations
149148

150149
Although Daemon Pods respect
151150
[taints and tolerations](/docs/concepts/configuration/taint-and-toleration),
152151
the following tolerations are added to DaemonSet Pods automatically according to
153152
the related features.
154153

155-
| Toleration Key | Effect | Version | Description |
156-
| ---------------------------------------- | ---------- | ------- | ------------------------------------------------------------ |
157-
| `node.kubernetes.io/not-ready` | NoExecute | 1.13+ | DaemonSet pods will not be evicted when there are node problems such as a network partition. |
158-
| `node.kubernetes.io/unreachable` | NoExecute | 1.13+ | DaemonSet pods will not be evicted when there are node problems such as a network partition. |
159-
| `node.kubernetes.io/disk-pressure` | NoSchedule | 1.8+ | |
160-
| `node.kubernetes.io/memory-pressure` | NoSchedule | 1.8+ | |
161-
| `node.kubernetes.io/unschedulable` | NoSchedule | 1.12+ | DaemonSet pods tolerate unschedulable attributes by default scheduler. |
162-
| `node.kubernetes.io/network-unavailable` | NoSchedule | 1.12+ | DaemonSet pods, who uses host network, tolerate network-unavailable attributes by default scheduler. |
163-
164-
165-
154+
| Toleration Key | Effect | Version | Description |
155+
| ---------------------------------------- | ---------- | ------- | ----------- |
156+
| `node.kubernetes.io/not-ready` | NoExecute | 1.13+ | DaemonSet pods will not be evicted when there are node problems such as a network partition. |
157+
| `node.kubernetes.io/unreachable` | NoExecute | 1.13+ | DaemonSet pods will not be evicted when there are node problems such as a network partition. |
158+
| `node.kubernetes.io/disk-pressure` | NoSchedule | 1.8+ | |
159+
| `node.kubernetes.io/memory-pressure` | NoSchedule | 1.8+ | |
160+
| `node.kubernetes.io/unschedulable` | NoSchedule | 1.12+ | DaemonSet pods tolerate unschedulable attributes by default scheduler. |
161+
| `node.kubernetes.io/network-unavailable` | NoSchedule | 1.12+ | DaemonSet pods, who uses host network, tolerate network-unavailable attributes by default scheduler. |
166162

167163
## Communicating with Daemon Pods
168164

@@ -195,7 +191,7 @@ You can [perform a rolling update](/docs/tasks/manage-daemon/update-daemon-set/)
195191

196192
## Alternatives to DaemonSet
197193

198-
### Init Scripts
194+
### Init scripts
199195

200196
It is certainly possible to run daemon processes by directly starting them on a node (e.g. using
201197
`init`, `upstartd`, or `systemd`). This is perfectly fine. However, there are several advantages to

0 commit comments

Comments
 (0)