Skip to content

Deployment & Replicaset

homepage-banner

Deployments ReplicaSet
High-level abstractions that manage replica sets. It provides additional features such as rolling updates, rollbacks, and versioning of the application. A lower-level abstraction that manages the desired number of replicas of a pod. Additionally, it provides basic scaling and self-healing mechanisms.
Deployment manages a template of pods and uses replica sets to ensure that the specified number of replicas of the pod is running. ReplicaSet only manages the desired number of replicas of a pod.
Deployment provides a mechanism for rolling updates and rollbacks of the application, enabling seamless updates and reducing downtime. Applications must be manually updated or rolled back.
It provides versioning of the application, allowing us to manage multiple versions of the same application. It also makes it easy to roll back to a previous version if necessary. ReplicaSet doesn’t provide this feature.

Usage

kubectl run nginx-deployment --image=nginx:1.7.9 --replicas=3

kubectl get deployment nginx-deployment

kubectl describe deployment nginx-deployment

kubectl get replicaset

kubectld describe replicaset nginx-deployment-xxxxxxxxxx

kubectl scale deployment nginx-deployment-new --replicas=5

kubectl delete deployment nginx-deployment-new

Reference

  • https://thenewstack.io/kubernetes-deployments-work/
  • https://www.baeldung.com/ops/kubernetes-deployment-vs-replicaset
  • http://wiki.ciscolinux.co.uk/index.php/Kubernetes/Deployment,_ReplicaSet_and_Pod
Feedback