Kubernetes Deployment Strategies with Theory & Hands-on
Rohan Rustagi Rohan Rustagi
303 subscribers
298 views
14

 Published On Aug 14, 2024

Kubernetes Deployment Strategies with Theory & Practical Demo #devops #k8s #deployment

Github Repo used : https://github.com/RohanRusta21/k8s-d...

Timestamps:

Theory : 00:00
Practical : 16:25

For Automated Rollouts Argo Rollouts Videos :

1. Canary Deployment :    • Deploy Applications using Canary Depl...  
2. Blue/Green Deployment :    • Deploy Applications using BlueGreen D...  

Kubernetes (K8s) offers several deployment strategies to manage how application updates and rollouts are conducted within a cluster. Each strategy serves different needs, balancing between zero downtime, resource efficiency, and risk mitigation.


1. Recreate Deployment Strategy

How it Works:In the Recreate strategy, all the existing Pods of a Deployment are terminated before the new Pods are brought up. This means there’s a brief period of downtime as old Pods are removed and new ones are created.

Use Cases:Suitable when your application cannot handle multiple versions running simultaneously.Use when downtime is acceptable or during non-critical times.


2. Rolling Update Deployment Strategy

How it Works:This is the default deployment strategy in Kubernetes. It gradually replaces old Pods with new ones. The process is done in a controlled manner, with a defined number of Pods being updated simultaneously (controlled by maxUnavailable and maxSurge parameters).

Use Cases:Ideal for applications that require zero downtime.Suitable when you want to update the application with minimal disruption to users.

3. Blue/Green Deployment Strategy

How it Works:In a Blue/Green deployment, two identical environments (Blue and Green) are maintained. The current version runs in the Blue environment, while the new version is deployed to the Green environment. Once the new version is tested and verified, traffic is switched to the Green environment. The Blue environment can then be used for future updates or remain as a backup.

Use Cases:Ideal when you want to minimize risk and have a quick rollback strategy.Suitable when you need to test the new version in a production-like environment before making it live.

4. Canary Deployment Strategy

How it Works:The Canary strategy involves releasing the new version of the application to a small subset of users first. If the new version works as expected, it is gradually rolled out to more users. This allows for real-world testing with minimal risk.

Use Cases:Ideal for testing new features on a small user base before a full rollout.Suitable when you want to monitor the impact of changes in a production environment with minimal risk.


5. A/B Testing Deployment Strategy

How it Works:Similar to Canary, A/B Testing involves deploying different versions of an application (version A and version B) to different segments of users simultaneously. The behavior and performance of each version are monitored to determine which one performs better.

Use Cases:Ideal for testing variations in features or performance optimizations to see which version performs better with users.Suitable for applications that need real-time feedback and comparison between two versions.


6. Shadow Deployment Strategy

How it Works:In Shadow deployment, the new version of the application is deployed alongside the existing version, but does not serve live user traffic. Instead, it receives a copy of the live traffic in parallel to the existing version. This allows the new version to be tested under real-world conditions without affecting users.

Use Cases:Ideal for testing new versions in a live environment without risking user experience.Suitable for validating the performance and behavior of new features with real traffic.


7. Rolling with Pause Deployment Strategy

How it Works:This strategy is similar to a Rolling Update, but with the ability to pause the deployment at any point. This is useful when you want to manually verify the state of the deployment before proceeding with further updates.

Use Cases:Ideal for scenarios where you need to manually verify each step of the deployment process.Suitable when you want a controlled and monitored rollout with checkpoints.

8. Shadow Canary Deployment Strategy

How it Works:A combination of Shadow and Canary deployments, where the new version is deployed to a small subset of users and simultaneously tested with duplicated traffic (like Shadow deployment). This strategy allows for both real-world testing and load validation.

Use Cases:Ideal for testing both user interaction and backend performance under real conditions.Suitable when you need high confidence in the new version’s stability before a full rollout.



Follow my mentors too :@PavanElthepu @MPrashant @GouravSharma @cloudwithraj @AntonPutra @AbhishekVeeramalla @kubesimplify @kshindi @DevOpsJourney

Tags : #prometheus #secrets #docker #k8s #kubernetes #cncf #rbac #serverless #grafana #autoscaling #deployment #opensource #devops #grafana #vault #terraform #strategy

show more

Share/Embed