Definitions

Kubernetes is a tool that allows you to runarrow-up-right workloads in a cluster of computers called nodes. It automates deployment, scaling and management of containerized applications [1].

Workloads are abstracted as Podsarrow-up-right, the most atomical element of the Kubernetes architecture, that can group one or more containers.

Objects in Kubernetes are typically described in yaml files. Each object has the required properties apiVersion, kind, metadata and spec [2].

While pods can be run directly on the cluster is likely that based on the workload use case one of the following resource will be used.

When a reliable and scalable application is needed Deploymentarrow-up-right and ReplicaSetarrow-up-right will be used to describe the state of the application and the number of replica Pods desired. A StatefulSetarrow-up-right is used when a stateful application is desired. A DeamonSetarrow-up-right will make sure a Pod with the desired spec will be available on all nodes. For workloads that need to be executed once a Jobarrow-up-right is defined that allows specifying the number of completions and parallelism. Finally for workloads that need to be scheduled to run at specific time intervals a CronJobarrow-up-right is defined.

[1] https://kubernetes.io/arrow-up-right

[2] https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/#required-fieldsarrow-up-right

Last updated