Skip to content
ICAInstallation, Upgrade & ConfigurationSingle nodeHard

Canary upgrade with control-plane revisions

Scenario ica-ins-003 · about 12 minutes · 10 points · 6 grader checks

Run a second Istio control plane as a revision and move one namespace to it while another stays on the old revision.

  • canary-upgrade
  • revisions
  • istioctl
  • sidecar-injection
  • installation-upgrades-configuration

What you will practise

  • Install a revisioned control plane next to an existing one
  • Select a revision per namespace with the istio.io/rev label
  • Verify which control plane and proxy version a workload uses

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 ica-ins-003

Task

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

Istio 1.29.9 runs in "istio-system" as revision "1-29-9" (minimal profile, installed from /opt/ica/mesh.yaml with --set revision=1-29-9). Namespaces "shop" and "legacy" use it. The istioctl on the PATH is version 1.29.10; the 1.29.9 binary is /opt/istio-1.29.9/bin/istioctl. Perform a canary upgrade: 1. Install Istio 1.29.10 as a second control plane with revision "1-29-10", from /opt/ica/mesh.yaml. Do not remove or modify revision "1-29-9". 2. Move namespace "shop" to revision "1-29-10" and restart its Deployments so that their pods run the 1.29.10 sidecar. 3. Namespace "legacy" must keep using revision "1-29-9".

Requirements and details

Certification
ICA · Istio Certified Associate
Domain
Installation, Upgrade & Configuration
Difficulty
Hard
Cluster topology
Single node
Cluster features
None beyond the base cluster
Recommended time
12 minutes
Points
10
Grader checks
6
Kubernetes version
1.35
Minimum CLI version
0.1.0
Scenario version
1
Published

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

ICAInstallation, Upgrade & ConfigurationEasy

Install Istio with istioctl and enable sidecar injection

Install the Istio control plane with the default profile and bring an existing namespace into the sidecar mesh.

Single node · ~8 min · 8 points

  • istioctl
  • installation
  • default-profile
  • sidecar-injection
  • installation-upgrades-configuration

goldenkube start ica-ins-001

ICAInstallation, Upgrade & ConfigurationMedium

Customise the installation and upgrade Istio in place

Write an IstioOperator that changes mesh defaults and gateways, then use it for an in-place upgrade from 1.29.9 to 1.29.10.

Single node · ~10 min · 9 points

  • istiooperator
  • in-place-upgrade
  • meshconfig
  • egress-gateway
  • installation-upgrades-configuration

goldenkube start ica-ins-002

ICAInstallation, Upgrade & ConfigurationMedium

Install Istio in ambient mode and enrol a namespace

Install the ambient profile and add an existing namespace to the ambient data plane without sidecars.

Single node · ~10 min · 8 points

  • ambient
  • ztunnel
  • istio-cni
  • istioctl
  • installation-upgrades-configuration

goldenkube start ica-ins-004

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