Skip to main content
All of the catalog
Scenario

Multi-Env Promotion (Dev → Staging → Prod)

Run a real release pipeline by hand: build versioned go-api images, deploy one to dev, and promote it forward to staging then prod with plain kubectl. Promotion here is a genuine image rollout (new ReplicaSet), not a ConfigMap edit - you build vNEXT, roll it out per environment, and watch each env's /version change as the release moves down the pipeline.

DeliveryVerifiedk3dkind
Definition on GitHub

What you'll do

  • Understand environment separation as Kubernetes namespace isolation (env-dev / env-staging / env-prod)
  • Build multiple immutable, versioned images (go-api:v1.0.0, v1.1.0, …) and load them into the cluster
  • Deploy a new version to dev only, and prove the other environments are unchanged
  • Promote a version dev → staging → prod with 'kubectl set image' + 'kubectl rollout status' - a real rollout
  • Roll back a bad promotion with 'kubectl rollout undo'
  • Verify the pipeline: every environment's running image matches its declared tag

Stages

  1. 1seed-baseline

    Build the go-api:v1.0.0 baseline image and load it into the cluster

    baseline-image
  2. 2dev-env

    Deploy go-api:v1.0.0 into the dev environment (namespace env-dev)

    dev-environment
  3. 3staging-env

    Deploy go-api:v1.0.0 into the staging environment (namespace env-staging)

    staging-environment
  4. 4prod-env

    Deploy go-api:v1.0.0 into the prod environment (namespace env-prod)

    prod-environmentpromotion-dashboard

Prerequisites

--deploy-prereqs installs these into the lab for you. They are listed so you know what the scenario depends on.

ingressmonitoring/metricsgo-api

Get updates

New scenarios and faults, release notes, and news about hosted labs if and when there is some. A few emails a month at most.

We'll email you about new releases, new lab content and paid offerings such as hosted labs, courses and workshops. Unsubscribe any time.