website/content/en/docs/concepts/workloads/_index.md

3.2 KiB

title weight description no_list
Workloads 50 Understand Pods, the smallest deployable compute object in Kubernetes, and the higher-level abstractions that help you to run them. true

{{< glossary_definition term_id="workload" length="short" >}} Whether your workload is a single component or several that work together, on Kubernetes you run it inside a set of Pods. In Kubernetes, a Pod represents a set of running {{< glossary_tooltip text="containers" term_id="container" >}} on your cluster.

A Pod has a defined lifecycle. For example, once a Pod is running in your cluster then a critical failure on the {{< glossary_tooltip text="node" term_id="node" >}} where that Pod is running means that all the Pods on that node fail. Kubernetes treats that level of failure as final: you would need to create a new Pod even if the node later recovers.

However, to make life considerably easier, you don't need to manage each Pod directly. Instead, you can use workload resources that manage a set of Pods on your behalf. These resources configure {{< glossary_tooltip term_id="controller" text="controllers" >}} that make sure the right number of the right kind of Pod are running, to match the state you specified.

Those workload resources include:

  • Deployment and ReplicaSet (replacing the legacy resource {{< glossary_tooltip text="ReplicationController" term_id="replication-controller" >}});
  • StatefulSet;
  • DaemonSet for running Pods that provide node-local facilities, such as a storage driver or network plugin;
  • Job and CronJob for tasks that run to completion.

There are also two supporting concepts that you might find relevant:

{{% heading "whatsnext" %}}

As well as reading about each resource, you can learn about specific tasks that relate to them:

Once your application is running, you might want to make it available on the internet as a Service or, for web application only, using an Ingress.

You can also visit Configuration to learn about Kubernetes' mechanisms for separating code from configuration.