- A functioning Kubernetes cluster (managed: EKS/GKE/AKS or local: kind/Minikube).
- A valid
kubeconfigcontext pointing to the cluster. kubectlinstalled and configured to talk to your cluster.istioctldownloaded for the Istio version you plan to install (example below uses1.26.3).
Install the
istioctl client that matches the major/minor version you intend to run in-cluster. Minor version mismatches can work in some cases, but matching versions reduces surprises during labs or exams.Install or verify tooling
Installistioctl (example: 1.26.3)
On Linux/macOS you can download the official release with the Istio download script:
istioctl to your PATH:
istioctl is the client binary. The control plane components are installed into the cluster separately (via istioctl install or Helm).
Install kubectl (if needed)
Examples for Linux downloads (adjust release and arch as required):
istioctl via Homebrew, confirm the version matches the one required for your tasks (e.g., 1.26.3).
Istio installation profiles
Istio provides multiple install profiles suitable for different use cases:
In this guide we use the
demo profile for quick examples and reference ambient conceptually where relevant.
Install Istio with istioctl (recommended for most labs)
Install thedemo profile:
Avoid mixing widely different
istioctl and control plane versions. Use compatible versions to prevent unexpected behavior. When in doubt, match istioctl to your desired control plane version.Install Istio with Helm (modular approach)
When you prefer Helm, install three logical charts:base, istiod, and gateway (ingress/egress). First add the Istio Helm repository:
istioctl install and Helm produce functionally equivalent installations. Sidecar injection is still required for application pods.
Deploy and validate the Bookinfo sample application
Apply the Bookinfo sample for Istio release1.26:
1/1 READY because the application pods have not had an Istio sidecar injected yet.
Enable automatic sidecar injection (namespace labeling)
Label the namespace to enable automatic sidecar injection (example:default):
2/2 indicates the application container plus the injected istio-proxy sidecar.
Inspect a pod to verify the sidecar
Describe a pod to check containers and images:Manual sidecar injection (alternative)
If you prefer to inject sidecars only for selected manifests, use manual injection (note that commands and tooling have evolved across versions):Validate and analyze Istio configuration
Istio provides commands to validate YAML and analyze in-cluster configuration. Preferistioctl analyze as it is the recommended diagnostic tool.
istioctl analyze helps catch configuration issues (missing references, invalid fields, etc.). Make it part of your workflow when authoring Istio YAML, during CI, or while preparing for labs and exams.
Quick reference tables
Installation methods comparison:
Common validation commands:
Summary
- Prepare
kubectlandistioctland ensure versions are compatible. - Install Istio either with
istioctl(simple/demo installs) or Helm (modular installs). - Enable sidecar injection via namespace labels for automatic injection, or use manual injection for selective workloads.
- Use
istioctl analyzeandistioctl verify-installto validate configuration and catch issues early. - Deploy the Bookinfo sample to verify sidecar injection and gateway behavior.
- Istio Documentation
- Kubernetes Basics
- Istio Helm charts repository
- ICA exam reference: https://learn.kodekloud.com/user/courses/istio-certified-associate