0
0
Kubernetesdevops~30 mins

Progressive delivery concept in Kubernetes - Mini Project: Build & Apply

Choose your learning style9 modes available
Progressive Delivery Concept with Kubernetes
📖 Scenario: You work as a DevOps engineer for a company that wants to safely release new versions of their web application. Instead of deploying the new version to all users at once, you will use progressive delivery to gradually roll out the update. This helps catch issues early and reduces risk.
🎯 Goal: Build a simple Kubernetes deployment manifest that uses labels and selectors to manage a canary release. You will create the initial deployment, add a canary version with a label, and then use a service selector to route traffic to both versions progressively.
📋 What You'll Learn
Create a Kubernetes deployment manifest for the stable version of the app
Add a canary deployment with a specific label
Create a service that selects both stable and canary pods using labels
Print the final combined manifest to verify the setup
💡 Why This Matters
🌍 Real World
Progressive delivery helps companies release new software versions safely by controlling how many users get the update at a time.
💼 Career
DevOps engineers use Kubernetes manifests with labels and services to manage canary deployments and reduce risk during software releases.
Progress0 / 4 steps
1
Create the stable deployment manifest
Create a Kubernetes deployment manifest named stable-deployment.yaml with these exact specifications: deployment name webapp-stable, app label webapp, container image nginx:1.21, and 3 replicas.
Kubernetes
Need a hint?

Use version: stable as a label to identify the stable pods.

2
Add the canary deployment manifest
Add a new deployment manifest named canary-deployment.yaml with deployment name webapp-canary, app label webapp, version label canary, container image nginx:1.22, and 1 replica.
Kubernetes
Need a hint?

Use version: canary label to identify the canary pods.

3
Create a service selecting both stable and canary pods
Create a Kubernetes service manifest named webapp-service.yaml that selects pods with label app: webapp (both stable and canary). Use port 80 for the service and target port 80 for the container.
Kubernetes
Need a hint?

The service selector should match app: webapp to include both stable and canary pods.

4
Print the combined manifest
Print the entire combined Kubernetes manifest containing the stable deployment, canary deployment, and service to verify the progressive delivery setup.
Kubernetes
Need a hint?

Use a print statement to output the full manifest string.