Thursday, November 21, 2024

Deployment Strategies in Kubernetes

                             


                             Deployment Strategies in Kubernetes

Kubernetes is a powerful container orchestration tool that simplifies the management of containerized applications. It handles provision, deployment, resource allocation, load balancing and Service discovery.

Kubernetes deployments are essentially just a wrapper around ReplicaSets. The ReplicaSet manages the number of running pods, and the Deployment implements features on top of that to allow rolling updates, health checks on pods, and easy roll-back of updates. During normal operations, the Deployment will just manage a single ReplicaSet which ensures that desired number of pods are running: When using Deployments, you should not directly manage the ReplicaSet that is created by the Deployment. All operations that you would perform on a ReplicaSet should be performed on the Deployment instead, which then manages the process for updating the ReplicaSet. 

Deployment strategies:

Rolling update Deployment : It will replace a old version of pod with new version one by one and reduce the downtime.

Recreate Deployment: It will bring down the old version and scale up with new version. It will require a downtime to perform this deployment.

Blue Green Deployment: It keeps one version alive while testing a new version and reduce a downtime/risk.

Canery Deployment: It allows gradual users to perform a testing with new version with subset of users before full rollout.






Few  Roll updates commend examples in the K8S.



The most important option to configure rolling updates is the update strategy. In your 
Deployment manifest, spec.strategy.type has two possible values:

• RollingUpdate: New pods are added gradually, and old pods are terminated gradually
• Recreate: All old pods are terminated before any new pods are added.


No comments:

Post a Comment