Skip to content
CNPEGitOps and Continuous DeliverySingle nodeMedium

Progressive delivery: blue/green with a preview service and manual promotion

Scenario cnpe-git-005 · about 15 minutes · 8 points · 5 grader checks

Run checkout as an Argo Rollout with a blue/green strategy, verify the new version on the preview Service, then switch the active Service by promoting.

  • argo-rollouts
  • blue-green
  • progressive-delivery
  • preview
  • continuous-delivery

What you will practise

  • Configure a blueGreen Rollout with active and preview Services
  • Disable auto-promotion and promote by hand
  • Verify which ReplicaSet each Service selects

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 cnpe-git-005

Task

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

Argo Rollouts runs in namespace "argo-rollouts". Namespace "pay" contains the Services "checkout-active" and "checkout-preview" (both select app=checkout). 1. Create an Argo Rollout "checkout" in "pay": 3 replicas of ghcr.io/stefanprodan/podinfo:6.16.0 (container "podinfo", port 9898), pod label app=checkout, blue/green strategy with "checkout-active" as active Service and "checkout-preview" as preview Service, and no automatic promotion. 2. When it is healthy, update the Rollout to ghcr.io/stefanprodan/podinfo:6.17.0, check the new version through "checkout-preview", then promote it so "checkout-active" serves 6.17.0.

Requirements and details

Certification
CNPE · Certified Cloud Native Platform Engineer
Domain
GitOps and Continuous Delivery
Difficulty
Medium
Cluster topology
Single node
Cluster features
None beyond the base cluster
Recommended time
15 minutes
Points
8
Grader checks
5
Kubernetes version
1.35
Minimum CLI version
0.1.0
Scenario version
1
Published

Grading runs locally: 5 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.

CNPEGitOps and Continuous DeliveryMedium

GitOps with Argo CD: an automated Application from the platform repo

The shop manifests live in the in-cluster Git server. Deliver them with an Argo CD Application that creates its namespace, prunes and heals drift.

Single node · ~15 min · 10 points

  • argocd
  • gitops
  • application
  • self-heal
  • gitea
  • continuous-delivery

goldenkube start cnpe-git-001

CNPEGitOps and Continuous DeliveryHard

GitOps with Flux: reconcile infra from Git and fix the broken manifest

The infra repository should be reconciled by Flux, but one manifest in it does not apply. Wire up the GitRepository and Kustomization, then fix the repository so the reconciliation turns Ready.

Single node · ~18 min · 10 points

  • flux
  • gitops
  • kustomization
  • gitrepository
  • gitea
  • continuous-delivery

goldenkube start cnpe-git-002

CNPEGitOps and Continuous DeliveryHard

Progressive delivery: an Argo Rollouts canary with a manual gate

Replace the storefront Deployment with an Argo Rollout that sends 20% of the pods to a new version, waits for a human, then completes; ship podinfo 6.17.0 through it.

Single node · ~18 min · 9 points

  • argo-rollouts
  • canary
  • progressive-delivery
  • rollout
  • continuous-delivery

goldenkube start cnpe-git-003

CNPEGitOps and Continuous DeliveryHard

CI/CD with Tekton: a two-task release pipeline passing a result

Build a Tekton Pipeline whose first Task emits the release version as a result and whose second Task publishes it into the staging namespace with kubectl, then run it.

Single node · ~18 min · 9 points

  • tekton
  • pipeline
  • ci-cd
  • task-results
  • serviceaccount
  • continuous-delivery

goldenkube start cnpe-git-004

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