Skip to content
CKADApplication DeploymentSingle nodeMedium

Canary release with two Deployments and one Service

Scenario ckad-dep-002 · about 8 minutes · 9 points · 9 grader checks

Run a stable and a canary Deployment side by side behind one Service and split traffic by replica count.

  • deployment
  • canary
  • service
  • labels
  • selectors

What you will practise

  • Implement a canary with plain Kubernetes primitives
  • Use labels and selectors to group pods of two Deployments
  • Verify Service endpoints with EndpointSlices

Start this lab

With the CLI installed and signed in, this command provisions a single node cluster on your Mac, applies the scenario setup and prints the task below.

goldenkube start ckad-dep-002

Task

The task text exactly as the CLI shows it. Solve it on the cluster, then run goldenkube submit.

In namespace "canary" the Deployment "shop-v1" (image nginx:1.26, 4 replicas, pod labels app=shop and track=stable) is exposed by the Service "shop" (port 80). Start a canary release that sends about 25 % of the traffic to a new version: 1. Create a Deployment "shop-v2" with image nginx:1.27 and 1 replica whose pods carry the labels app=shop and track=canary. 2. Scale "shop-v1" to 3 replicas. Do not change its image. 3. Make the Service "shop" send traffic to the pods of both Deployments (and only to them). All 4 pods must be Ready and be endpoints of the Service.

Requirements and details

Certification
CKAD · Certified Kubernetes Application Developer
Domain
Application Deployment
Difficulty
Medium
Cluster topology
Single node
Cluster features
None beyond the base cluster
Recommended time
8 minutes
Points
9
Grader checks
9
Kubernetes version
1.37
Minimum CLI version
0.1.0
Scenario version
1
Published

Grading runs locally: 9 state checks read your cluster when you submit; the scenario passes when every check passes. Hints, the reference solution and the check definitions are available only inside the CLI, not on this page.

CKADApplication DeploymentMedium

Roll back a failed rollout and tune the strategy

Recover a Deployment whose latest rollout is stuck by rolling back, then make future rollouts zero-downtime.

Single node · ~6 min · 9 points

  • deployment
  • rollout
  • rollback
  • rolling-update
  • strategy

goldenkube start ckad-dep-001

CKADApplication DeploymentEasy

Install a local Helm chart with a value override

Deploy an application from an existing Helm chart into a namespace and override one chart value.

Single node · ~6 min · 8 points

  • helm
  • chart
  • release
  • deployment

goldenkube start ckad-dep-003

CKADApplication DeploymentMedium

Kustomize overlay for production

Write a Kustomize overlay that changes namespace, names, labels, replicas and image of an existing base, then apply it.

Single node · ~8 min · 9 points

  • kustomize
  • overlay
  • deployment
  • labels

goldenkube start ckad-dep-004

Independent community project, not affiliated with or endorsed by CNCF or The Linux Foundation. Lab results are practice feedback, not an exam score.