The Ops Community

Monikinderjit Singh
Monikinderjit Singh

Posted on

Objects in Kubernetes

In the previous article, you learnt about Kubernetes and its architecture. If not, I recommend going through it: Getting Started: Kubernetes.

In this article, you will go deeper about Kubernetes objects.

Objects in Kubernetes

  • Pods: Pods are atomic element within a cluster which provides the exceution environment for an application. A pod generally represents one or more containers that should be controlled as single application. Every pod has a container within it, that excutes an application from a docker image.

  • Replication Controller: Replication controller is an object that defines a pod template and control parameters to scale identical replicas of a pod horizontally by increasing or decreasing the number of running copies. It maintains the number of pods to be created according to the number of pods defined in configuration files. If the number of replicas in a controllers' configuration changes, it starts up or kills containers.

  • Replication Sets: They are an iteration of replication controller design with better capability of flexibility.

  • Deployments: Deployments are sets of identical pods. They use replication sets as a building block. They are high level object designed to ease the lifecycle management of replicated pods. Deployments can be modified easily changing the configuration.

  • Stateful Sets: These are specialised pod controller which are known for providing unique addresses to pods. This enables Kubernetes to track pods.

  • Daemon Sets: A specialised pod controller which runs copy of pods on each node in the cluster. Most useful when deployment nodes perform maintenance and provides services themselves.

  • Jobs and Cron Jobs: Kubernetes uses a workload called jobs to provide a more task based workflow where the running container are expected to exit successfully after some time once they have completed their work. If you need to perform one-off or batch processing instead of running a continuous service, jobs is the one required. Whereas, Cron jobs in kubernetes provide an interface to run jobs with scheduling component. Cron jobs can be used to schedule a job to exceute in the future,reoccuring basis.

  • Services: A service is a component that acts as a basic internal load balancer for pods. It provides API endpoints with a stable IP address that allows applications to discover pods running a particular application.

Discussion (0)