Istio command line cheatsheet.

Intro

Istioctl Overview

Usage

istioctl command line usage overview.

istioctl cheatsheet

experimental/x

Experimental commands that may be modified or deprecated.

istioctl-x

See Istio docs for details.

dashboard/dash/d

controlz

Open the ControlZ web UI for a pod in the Istio control plane.

istioctl dashboard controlz [<type>/]<name>[.<namespace>] [flags]

Example

istioctl d controlz istiod-6bc78ccdb-sgdgh -n istio-system

You will see the ControlZ UI at http://localhost:9876.

envoy

Open the Envoy admin dashboard for a sidecar.

istioctl dashboard envoy [<type>/]<name>[.<namespace>] [flags]

Example

istioctl d envoy details-v1-7d88846999-ptz54 -n default

You can see the UI at http://localhost:15000/.

grafana

Open Istio’s Grafana dashboard.

istioctl dashboard grafana [flags]

Example

istioctl d grafana

You can see the Grafana UI at http://localhost:3000.

jaeger

Open Istio’s Jaeger dashboard.

istioctl dashboard jaeger [flags]

Jaeger is not installed by default, run the following command to install Jaeger.

kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.14/samples/addons/jaeger.yaml

See Istio docs for details.

Example

istioctl d jaeger

you can see the Jaeger UI at http://localhost:16686.

kiali

Open Istio’s Kiali dashboard.

istioctl dashboard kiali [flags]

Kiali is not installed by default, run the following command to install Kiali.

kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.14/samples/addons/kiali.yaml

See Istio docs for details.

Example

istioctl d kiali

You can see the Kiali UI at http://localhost:20001/kiali.

prometheus

Open Istio’s Prometheus dashboard.

istioctl dashboard prometheus [flags]

Example

istioctl d prometheus

See the Prometheus UI at http://localhost:9090.

skywalking

Open the Istio dashboard in the SkyWalking UI.

istioctl dashboard skywalking [flags]

SkyWalking is not installed by default, refer to the SkyWalking docs to see how to install.

Example

istioctl d skywalking

zipkin

Open Istio’s Zipkin dashboard.

istioctl dashboard zipkin [flags]

Zipkin is not installed by default, run the following command to install Zipkin.

kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.14/samples/addons/extras/zipkin.yaml

See Istio docs for details.

Example

istioctl d zipkin

You can see the Zipkin UI at http://localhost:9411.

Frequently Used Commands

install

The install command generates an Istio install manifest and applies it to a cluster.

Example

# Apply a default Istio installation
istioctl install

# Enable Tracing
istioctl install --set meshConfig.enableTracing=true

# Generate the demo profile and don't wait for confirmation
istioctl install --set profile=demo --skip-confirmation

# To override a setting that includes dots, escape them with a backslash (\).  Your shell may require enclosing quotes.
istioctl install --set "values.sidecarInjectorWebhook.injectedAnnotations.container\.apparmor\.security\.beta\.kubernetes\.io/istio-proxy=runtime/default"

# For setting boolean-string option, it should be enclosed quotes and escaped with a backslash (\).
istioctl install --set meshConfig.defaultConfig.proxyMetadata.PROXY_XDS_VIA_AGENT=\"false\"

manifest

The manifest command generates and diffs Istio manifests.

istioctl manifest install

# Apply a default Istio installation
istioctl install

# Enable Tracing
istioctl install --set meshConfig.enableTracing=true

# Generate the demo profile and don't wait for confirmation
istioctl install --set profile=demo --skip-confirmation

# To override a setting that includes dots, escape them with a backslash (\).  Your shell may require enclosing quotes.
istioctl install --set "values.sidecarInjectorWebhook.injectedAnnotations.container\.apparmor\.security\.beta\.kubernetes\.io/istio-proxy=runtime/default"

# For setting boolean-string option, it should be enclosed quotes and escaped with a backslash (\).
istioctl install --set meshConfig.defaultConfig.proxyMetadata.PROXY_XDS_VIA_AGENT=\"false\"

istioctl manifest generate

# Generate a default Istio installation
istioctl manifest generate

# Enable Tracing
istioctl manifest generate --set meshConfig.enableTracing=true

# Generate the demo profile
istioctl manifest generate --set profile=demo

# To override a setting that includes dots, escape them with a backslash (\).  Your shell may require enclosing quotes.
istioctl manifest generate --set "values.sidecarInjectorWebhook.injectedAnnotations.container\.apparmor\.security\.beta\.kubernetes\.io/istio-proxy=runtime/default"

# For setting boolean-string option, it should be enclosed quotes and escaped with a backslash (\).
istioctl manifest generate --set meshConfig.defaultConfig.proxyMetadata.PROXY_XDS_VIA_AGENT=\"false\"

proxy-config/pc

A group of commands used to retrieve information about proxy configuration from the Envoy config dump.

# Retrieve information about proxy configuration from an Envoy instance.
istioctl proxy-config <clusters|listeners|routes|endpoints|bootstrap|log|secret> <pod-name[.namespace]>

Example

# Retrieve cluster summary.
istioctl pc all

# Show a human-readable Istio and Envoy version summary.
istioctl pc b reviews-v1-55b668fc65-9twc9 -o short

# Retrieve summary about cluster configuration for a given pod from Envoy.

istioctl pc c reviews-v1-55b668fc65-9twc9

# Retrieve full endpoint configuration for a given pod from Envoy.
istioctl pc ep reviews-v1-55b668fc65-9twc9

# Retrieve summary about listener configuration for a given pod from Envoy.
istioctl pc l reviews-v1-55b668fc65-9twc9

# Retrieve summary about route configuration for a given pod from Envoy.
istioctl pc r reviews-v1-55b668fc65-9twc9

proxy-status/ps

Retrieves last sent and last acknowledged xDS sync from Istiod to each Envoy in the mesh.

Examples

# Retrieve sync status for all Envoys in a mesh
istioctl proxy-status

# Retrieve sync diff for a single Envoy and Istiod
istioctl proxy-status istio-egressgateway-59585c5b9c-ndc59.istio-system

# Retrieve sync diff between Istiod and one pod under a deployment
istioctl proxy-status deployment/productpage-v1

# Write proxy config-dump to file, and compare to Istio control plane
kubectl port-forward -n istio-system istio-egressgateway-59585c5b9c-ndc59 15000 &
curl localhost:15000/config_dump > cd.json
istioctl proxy-status istio-egressgateway-59585c5b9c-ndc59.istio-system --file cd.json