There are two Kubernetes Objects that you need to be aware of when deploying your Kubernetes application.
The Kubernetes Deployment and the Kubernetes Pod Resource. These objects serve different purposes, but it is important to know what each one does in order to maximize your Kubernetes experience. In this blog post, we will go over the difference between a Kubernetes deployment vs pod resource and how these two can work together for a successful Kubernetes application deployment!
Kubernetes Deployments are used to manage a set of Kubernetes Pods, ReplicaSets and/or Stateful Sets as they would appear during a single update. Kubernetes deployments help us control how the application is updated on our Kubernetes cluster. Kubernetes Deployments allow us to update the application without rolling updates. Ku
Kubernetes Deployments are Kubernetes Objects that can be managed by a Kubernetes Controller. Kubernetes Deployments give us the ability to scale our pods and replica sets up or down as needed, allowing for zero downtime updates on your Kubernetes cluster!
Kubernetes Pod Resource
Kubernetes Pods are a group of containers that run on one node in our Kubernetes cluster and can be managed as a single unit for scale, restart or rollback purposes. Kubernetes pods can have one or more containers. Kubernetes Pods are the smallest deployable unit in Kubernetes and they manage their own application logs, network ports (if exposed), etc… A Kubernetes pod is an abstraction on top of a set of Linux cgroups running with specific parameters such as CPU/Memory Shares, Namespaces, Volumes, etc. Kubernetes Pods are the smallest deployable unit in Kubernetes.
When it comes to best practices, using a deployment resource is a better choice because the deployment controller will recreate the deployment on a node in case of a failure. when using a pod resource failover and recovery options do not exist in case of a node failure.