@@ -9,61 +9,68 @@ no_list: true
99{{< glossary_definition term_id="workload" length="short" >}}
1010Whether your workload is a single component or several that work together, on Kubernetes you run
1111it inside a set of [ _ pods_ ] ( /docs/concepts/workloads/pods ) .
12- In Kubernetes, a ` Pod ` represents a set of running
12+ In Kubernetes, a Pod represents a set of running
1313{{< glossary_tooltip text="containers" term_id="container" >}} on your cluster.
1414
1515Kubernetes pods have a [ defined lifecycle] ( /docs/concepts/workloads/pods/pod-lifecycle/ ) .
1616For example, once a pod is running in your cluster then a critical fault on the
1717{{< glossary_tooltip text="node" term_id="node" >}} where that pod is running means that
1818all the pods on that node fail. Kubernetes treats that level of failure as final: you
19- would need to create a new ` Pod ` to recover, even if the node later becomes healthy.
19+ would need to create a new Pod to recover, even if the node later becomes healthy.
2020
21- However, to make life considerably easier, you don't need to manage each ` Pod ` directly.
21+ However, to make life considerably easier, you don't need to manage each Pod directly.
2222Instead, you can use _ workload resources_ that manage a set of pods on your behalf.
2323These resources configure {{< glossary_tooltip term_id="controller" text="controllers" >}}
2424that make sure the right number of the right kind of pod are running, to match the state
2525you specified.
2626
2727Kubernetes provides several built-in workload resources:
2828
29- * [ ` Deployment ` ] ( /docs/concepts/workloads/controllers/deployment/ ) and [ ` ReplicaSet ` ] ( /docs/concepts/workloads/controllers/replicaset/ )
29+ * [ Deployment] ( /docs/concepts/workloads/controllers/deployment/ ) and [ ReplicaSet] ( /docs/concepts/workloads/controllers/replicaset/ )
3030 (replacing the legacy resource
3131 {{< glossary_tooltip text="ReplicationController" term_id="replication-controller" >}}).
32- ` Deployment ` is a good fit for managing a stateless application workload on your cluster,
33- where any ` Pod ` in the ` Deployment ` is interchangeable and can be replaced if needed.
34- * [ ` StatefulSet ` ] ( /docs/concepts/workloads/controllers/statefulset/ ) lets you
32+ Deployment is a good fit for managing a stateless application workload on your cluster,
33+ where any Pod in the Deployment is interchangeable and can be replaced if needed.
34+ * [ StatefulSet] ( /docs/concepts/workloads/controllers/statefulset/ ) lets you
3535 run one or more related Pods that do track state somehow. For example, if your workload
36- records data persistently, you can run a ` StatefulSet ` that matches each ` Pod ` with a
37- [ ` PersistentVolume ` ] ( /docs/concepts/storage/persistent-volumes/ ) . Your code, running in the
38- ` Pods ` for that ` StatefulSet ` , can replicate data to other ` Pods ` in the same ` StatefulSet `
36+ records data persistently, you can run a StatefulSet that matches each Pod with a
37+ [ PersistentVolume] ( /docs/concepts/storage/persistent-volumes/ ) . Your code, running in the
38+ Pods for that StatefulSet, can replicate data to other Pods in the same StatefulSet
3939 to improve overall resilience.
40- * [ ` DaemonSet ` ] ( /docs/concepts/workloads/controllers/daemonset/ ) defines ` Pods ` that provide
41- node-local facilities. These might be fundamental to the operation of your cluster, such
42- as a networking helper tool, or be part of an
43- {{< glossary_tooltip text="add-on" term_id="addons" >}}.
44- Every time you add a node to your cluster that matches the specification in a ` DaemonSet ` ,
45- the control plane schedules a ` Pod ` for that ` DaemonSet ` onto the new node.
46- * [ ` Job ` ] ( /docs/concepts/workloads/controllers/job/ ) and
47- [ ` CronJob ` ] ( /docs/concepts/workloads/controllers/cron-jobs/ )
48- define tasks that run to completion and then stop. Jobs represent one-off tasks, whereas
49- ` CronJobs ` recur according to a schedule.
40+ * [ DaemonSet] ( /docs/concepts/workloads/controllers/daemonset/ ) defines Pods that provide
41+ facilities that are local to nodes.
42+ Every time you add a node to your cluster that matches the specification in a DaemonSet,
43+ the control plane schedules a Pod for that DaemonSet onto the new node.
44+ Each pod in a DaemonSet performs a job similar to a system daemon on a classic Unix / POSIX
45+ server. A DaemonSet might be fundamental to the operation of your cluster, such as
46+ a plugin to run [ cluster networking] ( /docs/concepts/cluster-administration/networking/#how-to-implement-the-kubernetes-network-model ) ,
47+ it might help you to manage the node,
48+ or it could provide optional behavior that enhances the container platform you are running.
49+ * [ Job] ( /docs/concepts/workloads/controllers/job/ ) and
50+ [ CronJob] ( /docs/concepts/workloads/controllers/cron-jobs/ ) provide different ways to
51+ define tasks that run to completion and then stop.
52+ You can use a [ Job] ( /docs/concepts/workloads/controllers/job/ ) to
53+ define a task that runs to completion, just once. You can use a
54+ [ CronJob] ( /docs/concepts/workloads/controllers/cron-jobs/ ) to run
55+ the same Job multiple times according a schedule.
5056
5157In the wider Kubernetes ecosystem, you can find third-party workload resources that provide
5258additional behaviors. Using a
5359[ custom resource definition] ( /docs/concepts/extend-kubernetes/api-extension/custom-resources/ ) ,
5460you can add in a third-party workload resource if you want a specific behavior that's not part
55- of Kubernetes' core. For example, if you wanted to run a group of ` Pods ` for your application but
61+ of Kubernetes' core. For example, if you wanted to run a group of Pods for your application but
5662stop work unless _ all_ the Pods are available (perhaps for some high-throughput distributed task),
5763then you can implement or install an extension that does provide that feature.
5864
5965## {{% heading "whatsnext" %}}
6066
61- As well as reading about each resource, you can learn about specific tasks that relate to them:
67+ As well as reading about each API kind for workload management, you can read how to
68+ do specific tasks:
6269
63- * [ Run a stateless application using a ` Deployment ` ] ( /docs/tasks/run-application/run-stateless-application-deployment/ )
70+ * [ Run a stateless application using a Deployment] ( /docs/tasks/run-application/run-stateless-application-deployment/ )
6471* Run a stateful application either as a [ single instance] ( /docs/tasks/run-application/run-single-instance-stateful-application/ )
6572 or as a [ replicated set] ( /docs/tasks/run-application/run-replicated-stateful-application/ )
66- * [ Run automated tasks with a ` CronJob ` ] ( /docs/tasks/job/automated-tasks-with-cron-jobs/ )
73+ * [ Run automated tasks with a CronJob] ( /docs/tasks/job/automated-tasks-with-cron-jobs/ )
6774
6875To learn about Kubernetes' mechanisms for separating code from configuration,
6976visit [ Configuration] ( /docs/concepts/configuration/ ) .
@@ -76,6 +83,6 @@ for applications:
7683 removes Jobs once a defined time has passed since they completed.
7784
7885Once your application is running, you might want to make it available on the internet as
79- a [ ` Service ` ] ( /docs/concepts/services-networking/service/ ) or, for web application only,
80- using an [ ` Ingress ` ] ( /docs/concepts/services-networking/ingress ) .
86+ a [ Service] ( /docs/concepts/services-networking/service/ ) or, for web application only,
87+ using an [ Ingress] ( /docs/concepts/services-networking/ingress ) .
8188
0 commit comments