Skip to main content
This lesson reviews the essential concepts and operational tasks for installing, configuring, and managing Istio in Kubernetes clusters. It covers prerequisites, recommended installation patterns, sidecar vs. sidecarless (ambient) modes, operator-based customization, and the canary (revision) upgrade workflow.

Prerequisites

  • A running Kubernetes cluster (cloud or local). Examples: AWS EKS, GKE, or local kind.
  • Plan for additional cluster resources: Istio control plane and proxies consume CPU, memory, and network bandwidth.
  • kubectl and istioctl (or Helm) installed on your local machine for management and troubleshooting.

Installation methods

Choose the installation method based on how you manage cluster configuration (interactive installs vs GitOps). If you use Helm in GitOps (for example with Argo CD), you typically deploy three charts:
  • base
  • istiod
  • ingress / gateway (optional if you do not accept external traffic)
If you are using Helm as part of a GitOps workflow, you will commonly deploy the base, istiod, and the ingress/gateway chart. Use istioctl for ad-hoc installs or interactive setups.

Sidecar injection and namespace management

Istio does not modify namespaces by default. To enable automatic sidecar injection for workloads, label namespaces or perform manual injection. Examples:
Notes:
  • After labeling a namespace, existing pods must be restarted so that new sidecars get injected.
  • Revision-based labels map namespaces to a specific control plane revision and enable running multiple control planes concurrently.

Ambient mode (sidecarless) and Waypoint proxies

Ambient mode is Istio’s option for sidecarless security and traffic management:
  • In Ambient mode a ztunnel runs as a DaemonSet (one ztunnel per node) to enforce mTLS and network-level policies without per-pod sidecars.
  • If you require Layer 7 features (L7 routing, application-level proxies) at namespace granularity rather than per-workload sidecars, consider deploying Waypoint proxies which provide namespace-level application proxy functionality.
Understand the trade-offs:
  • Sidecar mode gives per-workload L7 capabilities and fine-grained routing.
  • Ambient mode reduces injection overhead and simplifies some operational aspects at the cost of some L7 control patterns.

Istio Operator and customization

The Istio Operator (the IstioOperator CR) is the canonical way to declaratively customize the control plane. Workflow:
  1. Create or edit an IstioOperator resource or Helm values file to express desired control plane configuration.
  2. Apply changes with istioctl or Helm; the operator reconciles and updates the control plane accordingly.
Example (install a revisioned control plane):
Key points:
  • Use the operator to manage profiles, component enablement, and resource sizing.
  • Keep your IstioOperator or Helm values in source control for reproducibility (ideal for GitOps).
The Istio Operator and revision-based installation workflow are frequently covered in certification exams. Be comfortable with configuring via IstioOperator, updating values, and applying changes with istioctl or Helm.

Canary (revision) upgrades for the Istio control plane

Canary upgrades let you run a new control plane revision in parallel with the old one, migrate workloads, and then remove the old revision once validated. Typical steps:
  1. Install the new control plane with a revision label:
  1. Label target namespaces to use the new revision:
  1. Restart workloads (or let rolling updates occur) so pods are recreated and injected with the new proxy. Examples:
  1. Validate application behavior and traffic routing with tests and telemetry (logs, metrics, traces).
  2. When stable, uninstall the old control plane revision:
Checklist during canary upgrades:
  • Confirm namespace labels target the intended revision.
  • Verify sidecar proxies in pods match the new revision.
  • Run integration and traffic-shift tests before decommissioning old revisions.

Quick commands reference

Final reminders

  • Always verify namespace labels before expecting automatic sidecar injection.
  • Know when to use sidecar vs ambient mode and how ztunnel and Waypoint proxies differ.
  • Use the Istio operator (IstioOperator CR) or Helm values for repeatable configuration; store these artifacts in version control.
  • Practice the canary revision upgrade flow: install revision, migrate namespaces, validate traffic, then remove the old revision.

Watch Video