istioctl

Istio configuration command line utility.

Create, list, modify, and delete configuration resources in the Istio system.

Available routing and traffic management configuration types:

[virtualservice gateway destinationrule serviceentry httpapispec httpapispecbinding quotaspec quotaspecbinding servicerole servicerolebinding policy]

Legacy routing and traffic management configuration types:

[routerule egressrule destinationpolicy]

See https://istio.io/docs/reference/ for an overview of Istio routing.

FlagsShorthandDescription
--istioNamespace <string>-iIstio system namespace (default `istio-system`)
--kubeconfig <string>-cKubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_jsonWhether to format output as JSON or in plain console-friendly format
--log_caller <string>Comma-separated list of scopes for which to include called information, scopes can be any of [default] (default ``)
--log_output_level <string>The minimum logging level of messages to output, can be one of [debug, info, warn, error, none] (default `default:info`)
--log_rotate <string>The path for the optional rotating log file (default ``)
--log_rotate_max_age <int>The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)
--log_rotate_max_backups <int>The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)
--log_rotate_max_size <int>The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)
--log_stacktrace_level <string>The minimum logging level at which stack traces are captured, can be one of [debug, info, warn, error, none] (default `default:none`)
--log_target <stringArray>The set of paths where to output the log. This can be any path as well as the special values stdout and stderr (default `[stdout]`)
--namespace <string>-nConfig namespace (default ``)
--platform <string>-pIstio host platform (default `kube`)

istioctl context-create

Create a kubeconfig file suitable for use with istioctl in a non kubernetes environment

istioctl context-create --api-server http://<ip>:<port> [flags]
FlagsShorthandDescription
--api-server <string>URL for Istio api server (default ``)
--context <string>Kubernetes configuration file context name (default `istio`)
--istioNamespace <string>-iIstio system namespace (default `istio-system`)
--kubeconfig <string>-cKubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_jsonWhether to format output as JSON or in plain console-friendly format
--log_caller <string>Comma-separated list of scopes for which to include called information, scopes can be any of [default] (default ``)
--log_output_level <string>The minimum logging level of messages to output, can be one of [debug, info, warn, error, none] (default `default:info`)
--log_rotate <string>The path for the optional rotating log file (default ``)
--log_rotate_max_age <int>The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)
--log_rotate_max_backups <int>The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)
--log_rotate_max_size <int>The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)
--log_stacktrace_level <string>The minimum logging level at which stack traces are captured, can be one of [debug, info, warn, error, none] (default `default:none`)
--log_target <stringArray>The set of paths where to output the log. This can be any path as well as the special values stdout and stderr (default `[stdout]`)
--namespace <string>-nConfig namespace (default ``)
--platform <string>-pIstio host platform (default `kube`)

Examples

# Create a config file for the api server.
istioctl context-create --api-server http://127.0.0.1:8080

istioctl create

Create policies and rules

istioctl create [flags]
FlagsShorthandDescription
--file <string>-fInput file with the content of the configuration objects (if not set, command reads from the standard input) (default ``)
--istioNamespace <string>-iIstio system namespace (default `istio-system`)
--kubeconfig <string>-cKubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_jsonWhether to format output as JSON or in plain console-friendly format
--log_caller <string>Comma-separated list of scopes for which to include called information, scopes can be any of [default] (default ``)
--log_output_level <string>The minimum logging level of messages to output, can be one of [debug, info, warn, error, none] (default `default:info`)
--log_rotate <string>The path for the optional rotating log file (default ``)
--log_rotate_max_age <int>The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)
--log_rotate_max_backups <int>The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)
--log_rotate_max_size <int>The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)
--log_stacktrace_level <string>The minimum logging level at which stack traces are captured, can be one of [debug, info, warn, error, none] (default `default:none`)
--log_target <stringArray>The set of paths where to output the log. This can be any path as well as the special values stdout and stderr (default `[stdout]`)
--namespace <string>-nConfig namespace (default ``)
--platform <string>-pIstio host platform (default `kube`)

Examples

istioctl create -f example-routing.yaml

istioctl delete

Delete policies or rules

istioctl delete <type> <name> [<name2> ... <nameN>] [flags]
FlagsShorthandDescription
--file <string>-fInput file with the content of the configuration objects (if not set, command reads from the standard input) (default ``)
--istioNamespace <string>-iIstio system namespace (default `istio-system`)
--kubeconfig <string>-cKubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_jsonWhether to format output as JSON or in plain console-friendly format
--log_caller <string>Comma-separated list of scopes for which to include called information, scopes can be any of [default] (default ``)
--log_output_level <string>The minimum logging level of messages to output, can be one of [debug, info, warn, error, none] (default `default:info`)
--log_rotate <string>The path for the optional rotating log file (default ``)
--log_rotate_max_age <int>The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)
--log_rotate_max_backups <int>The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)
--log_rotate_max_size <int>The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)
--log_stacktrace_level <string>The minimum logging level at which stack traces are captured, can be one of [debug, info, warn, error, none] (default `default:none`)
--log_target <stringArray>The set of paths where to output the log. This can be any path as well as the special values stdout and stderr (default `[stdout]`)
--namespace <string>-nConfig namespace (default ``)
--platform <string>-pIstio host platform (default `kube`)

Examples

# Delete a rule using the definition in example-routing.yaml.
istioctl delete -f example-routing.yaml

# Delete the virtual service bookinfo
istioctl delete virtualservice bookinfo

istioctl deregister

De-registers a service instance

istioctl deregister <svcname> <ip> [flags]
FlagsShorthandDescription
--istioNamespace <string>-iIstio system namespace (default `istio-system`)
--kubeconfig <string>-cKubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_jsonWhether to format output as JSON or in plain console-friendly format
--log_caller <string>Comma-separated list of scopes for which to include called information, scopes can be any of [default] (default ``)
--log_output_level <string>The minimum logging level of messages to output, can be one of [debug, info, warn, error, none] (default `default:info`)
--log_rotate <string>The path for the optional rotating log file (default ``)
--log_rotate_max_age <int>The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)
--log_rotate_max_backups <int>The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)
--log_rotate_max_size <int>The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)
--log_stacktrace_level <string>The minimum logging level at which stack traces are captured, can be one of [debug, info, warn, error, none] (default `default:none`)
--log_target <stringArray>The set of paths where to output the log. This can be any path as well as the special values stdout and stderr (default `[stdout]`)
--namespace <string>-nConfig namespace (default ``)
--platform <string>-pIstio host platform (default `kube`)

istioctl experimental

Experimental commands that may be modified or deprecated

FlagsShorthandDescription
--istioNamespace <string>-iIstio system namespace (default `istio-system`)
--kubeconfig <string>-cKubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_jsonWhether to format output as JSON or in plain console-friendly format
--log_caller <string>Comma-separated list of scopes for which to include called information, scopes can be any of [default] (default ``)
--log_output_level <string>The minimum logging level of messages to output, can be one of [debug, info, warn, error, none] (default `default:info`)
--log_rotate <string>The path for the optional rotating log file (default ``)
--log_rotate_max_age <int>The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)
--log_rotate_max_backups <int>The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)
--log_rotate_max_size <int>The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)
--log_stacktrace_level <string>The minimum logging level at which stack traces are captured, can be one of [debug, info, warn, error, none] (default `default:none`)
--log_target <stringArray>The set of paths where to output the log. This can be any path as well as the special values stdout and stderr (default `[stdout]`)
--namespace <string>-nConfig namespace (default ``)
--platform <string>-pIstio host platform (default `kube`)

istioctl experimental convert-networking-config

Converts sets of v1alpha1 configs to v1alpha3 equivalents on a best effort basis. The output should be considered a starting point for your v1alpha3 configs and probably require some minor modification. Warnings will (hopefully) be generated where configs cannot be converted perfectly, or in certain edge cases. The input must be the set of configs that would be in place in an environment at a given time. This allows the command to attempt to create and merge output configs intelligently.Output configs are given the namespace and domain of the first input config so it is recommended that input configs be part of the same namespace and domain.

istioctl experimental convert-networking-config [flags]
FlagsShorthandDescription
--filenames <stringSlice>-fInput filenames (default `[]`)
--istioNamespace <string>-iIstio system namespace (default `istio-system`)
--kubeconfig <string>-cKubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_jsonWhether to format output as JSON or in plain console-friendly format
--log_caller <string>Comma-separated list of scopes for which to include called information, scopes can be any of [default] (default ``)
--log_output_level <string>The minimum logging level of messages to output, can be one of [debug, info, warn, error, none] (default `default:info`)
--log_rotate <string>The path for the optional rotating log file (default ``)
--log_rotate_max_age <int>The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)
--log_rotate_max_backups <int>The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)
--log_rotate_max_size <int>The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)
--log_stacktrace_level <string>The minimum logging level at which stack traces are captured, can be one of [debug, info, warn, error, none] (default `default:none`)
--log_target <stringArray>The set of paths where to output the log. This can be any path as well as the special values stdout and stderr (default `[stdout]`)
--namespace <string>-nConfig namespace (default ``)
--output <string>-oOutput filename (default `-`)
--platform <string>-pIstio host platform (default `kube`)

Examples

istioctl experimental convert-networking-config -f v1alpha1/default-route.yaml -f v1alpha1/header-delay.yaml

istioctl experimental metrics

Prints the metrics for the specified service(s) when running in Kubernetes.

This command finds a Prometheus pod running in the specified istio system namespace. It then executes a series of queries per requested service to find the following top-level service metrics: total requests per second, error rate, and request latency at p50, p90, and p99 percentiles. The query results are printed to the console, organized by service name.

All metrics returned are from server-side reports. This means that latencies and error rates are from the perspective of the service itself and not of an individual client (or aggregate set of clients). Rates and latencies are calculated over a time interval of 1 minute.

istioctl experimental metrics <service name>...
FlagsShorthandDescription
--istioNamespace <string>-iIstio system namespace (default `istio-system`)
--kubeconfig <string>-cKubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_jsonWhether to format output as JSON or in plain console-friendly format
--log_caller <string>Comma-separated list of scopes for which to include called information, scopes can be any of [default] (default ``)
--log_output_level <string>The minimum logging level of messages to output, can be one of [debug, info, warn, error, none] (default `default:info`)
--log_rotate <string>The path for the optional rotating log file (default ``)
--log_rotate_max_age <int>The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)
--log_rotate_max_backups <int>The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)
--log_rotate_max_size <int>The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)
--log_stacktrace_level <string>The minimum logging level at which stack traces are captured, can be one of [debug, info, warn, error, none] (default `default:none`)
--log_target <stringArray>The set of paths where to output the log. This can be any path as well as the special values stdout and stderr (default `[stdout]`)
--namespace <string>-nConfig namespace (default ``)
--platform <string>-pIstio host platform (default `kube`)

Examples


# Retrieve service metrics for productpage service
istioctl experimental metrics productpage

# Retrieve service metrics for various services in the different namespaces
istioctl experimental metrics productpage.foo reviews.bar ratings.baz

istioctl experimental rbac

A group of commands used to interact with Istio RBAC policies. For example, Query whether a specific request is allowed or denied under the current Istio RBAC policies.

FlagsShorthandDescription
--istioNamespace <string>-iIstio system namespace (default `istio-system`)
--kubeconfig <string>-cKubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_jsonWhether to format output as JSON or in plain console-friendly format
--log_caller <string>Comma-separated list of scopes for which to include called information, scopes can be any of [default] (default ``)
--log_output_level <string>The minimum logging level of messages to output, can be one of [debug, info, warn, error, none] (default `default:info`)
--log_rotate <string>The path for the optional rotating log file (default ``)
--log_rotate_max_age <int>The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)
--log_rotate_max_backups <int>The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)
--log_rotate_max_size <int>The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)
--log_stacktrace_level <string>The minimum logging level at which stack traces are captured, can be one of [debug, info, warn, error, none] (default `default:none`)
--log_target <stringArray>The set of paths where to output the log. This can be any path as well as the special values stdout and stderr (default `[stdout]`)
--namespace <string>-nConfig namespace (default ``)
--platform <string>-pIstio host platform (default `kube`)

Examples

# Query if user test is allowed to GET /v1/health of service rating.
istioctl experimental rbac can -u test GET rating /v1/health

istioctl experimental rbac can

This command lets you query whether a specific request will be allowed or denied under current Istio RBAC policies. It constructs a fake request with the custom subject and action specified in the command line to check if your Istio RBAC policies are working as expected. Note the fake request is only used locally to evaluate the effect of the Istio RBAC policies, no actual request will be issued.

METHOD is the HTTP method being taken, like GET, POST, etc. SERVICE is the short service name the action is being taken on. PATH is the HTTP path within the service.

istioctl experimental rbac can METHOD SERVICE PATH [flags]
FlagsShorthandDescription
--action-properties <stringArray>-a[Action] Additional data about the action. Specified as name1=value1,name2=value2,... (default `[]`)
--groups <string>-g[Subject] Group name/ID that the subject represents. (default ``)
--istioNamespace <string>-iIstio system namespace (default `istio-system`)
--kubeconfig <string>-cKubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_jsonWhether to format output as JSON or in plain console-friendly format
--log_caller <string>Comma-separated list of scopes for which to include called information, scopes can be any of [default] (default ``)
--log_output_level <string>The minimum logging level of messages to output, can be one of [debug, info, warn, error, none] (default `default:info`)
--log_rotate <string>The path for the optional rotating log file (default ``)
--log_rotate_max_age <int>The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)
--log_rotate_max_backups <int>The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)
--log_rotate_max_size <int>The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)
--log_stacktrace_level <string>The minimum logging level at which stack traces are captured, can be one of [debug, info, warn, error, none] (default `default:none`)
--log_target <stringArray>The set of paths where to output the log. This can be any path as well as the special values stdout and stderr (default `[stdout]`)
--namespace <string>-nConfig namespace (default ``)
--platform <string>-pIstio host platform (default `kube`)
--subject-properties <stringArray>-s[Subject] Additional data about the subject. Specified as name1=value1,name2=value2,... (default `[]`)
--user <string>-u[Subject] User name/ID that the subject represents. (default ``)

Examples

# Query if user test is allowed to GET /v1/health of service rating.
istioctl experimental rbac can -u test GET rating /v1/health

# Query if service product-page is allowed to POST to /data of service rating with label version=dev.
istioctl experimental rbac can -s service=product-page POST rating /data -a version=dev

istioctl gen-deploy

istioctl gen-deploy produces deployment files to run the Istio.

istioctl gen-deploy [flags]
FlagsShorthandDescription
--debugIf true, uses debug images instead of release images
--helm-chart-dir <string>The directory to find the helm charts used to render Istio deployments. -o yaml uses these to render the helm chart locally. (default `.`)
--hyperkube-hub <string>The container registry to pull Hyperkube images from (default `quay.io/coreos/hyperkube`)
--hyperkube-tag <Hyperkube>The tag to use to pull the Hyperkube container (default `v1.7.6_coreos.0`)
--ingress-node-port <uint16>If provided, Istio ingress proxies will run as a NodePort service mapped to the port provided by this flag. Note that this flag is ignored unless the "ingress" feature flag is provided too. (default `0`)
--istioNamespace <string>-iIstio system namespace (default `istio-system`)
--kubeconfig <string>-cKubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_jsonWhether to format output as JSON or in plain console-friendly format
--log_caller <string>Comma-separated list of scopes for which to include called information, scopes can be any of [default] (default ``)
--log_output_level <string>The minimum logging level of messages to output, can be one of [debug, info, warn, error, none] (default `default:info`)
--log_rotate <string>The path for the optional rotating log file (default ``)
--log_rotate_max_age <int>The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)
--log_rotate_max_backups <int>The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)
--log_rotate_max_size <int>The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)
--log_stacktrace_level <string>The minimum logging level at which stack traces are captured, can be one of [debug, info, warn, error, none] (default `default:none`)
--log_target <stringArray>The set of paths where to output the log. This can be any path as well as the special values stdout and stderr (default `[stdout]`)
--namespace <string>-nConfig namespace (default ``)
--platform <string>-pIstio host platform (default `kube`)
--values <string>Path to the Helm values.yaml file used to render YAML deployments locally when --out=yaml. Flag values are ignored in favor of using the file directly. (default ``)

Examples

istioctl gen-deploy --values myvalues.yaml

istioctl get

Retrieve policies and rules

istioctl get <type> [<name>] [flags]
FlagsShorthandDescription
--istioNamespace <string>-iIstio system namespace (default `istio-system`)
--kubeconfig <string>-cKubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_jsonWhether to format output as JSON or in plain console-friendly format
--log_caller <string>Comma-separated list of scopes for which to include called information, scopes can be any of [default] (default ``)
--log_output_level <string>The minimum logging level of messages to output, can be one of [debug, info, warn, error, none] (default `default:info`)
--log_rotate <string>The path for the optional rotating log file (default ``)
--log_rotate_max_age <int>The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)
--log_rotate_max_backups <int>The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)
--log_rotate_max_size <int>The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)
--log_stacktrace_level <string>The minimum logging level at which stack traces are captured, can be one of [debug, info, warn, error, none] (default `default:none`)
--log_target <stringArray>The set of paths where to output the log. This can be any path as well as the special values stdout and stderr (default `[stdout]`)
--namespace <string>-nConfig namespace (default ``)
--output <string>-oOutput format. One of:yaml|short (default `short`)
--platform <string>-pIstio host platform (default `kube`)

Examples

# List all virtual services
istioctl get virtualservices

# List all destination rules
istioctl get destinationrules

# Get a specific virtual service named bookinfo
istioctl get virtualservice bookinfo

istioctl kube-inject

kube-inject manually injects envoy sidecar into kubernetes workloads. Unsupported resources are left unmodified so it is safe to run kube-inject over a single file that contains multiple Service, ConfigMap, Deployment, etc. definitions for a complex application. Its best to do this when the resource is initially created.

k8s.io/docs/concepts/workloads/pods/pod-overview/#pod-templates is updated for Job, DaemonSet, ReplicaSet, and Deployment YAML resource documents. Support for additional pod-based resource types can be added as necessary.

The Istio project is continually evolving so the Istio sidecar configuration may change unannounced. When in doubt re-run istioctl kube-inject on deployments to get the most up-to-date changes.

To override the sidecar injection template built into istioctl, the parameters --injectConfigFile or --injectConfigMapName can be used. Both options override any other template configuration parameters, eg. --hub and --tag. These options would typically be used with the file/configmap created with a new Istio release.

istioctl kube-inject [flags]
FlagsShorthandDescription
--filename <string>-fInput Kubernetes resource filename (default ``)
--injectConfigFile <string>injection configuration filename. Cannot be used with --injectConfigMapName (default ``)
--injectConfigMapName <string>ConfigMap name for Istio sidecar injection, key should be "config".This option overrides any other sidecar injection config options, eg. --hub (default `istio-sidecar-injector`)
--istioNamespace <string>-iIstio system namespace (default `istio-system`)
--kubeconfig <string>-cKubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_jsonWhether to format output as JSON or in plain console-friendly format
--log_caller <string>Comma-separated list of scopes for which to include called information, scopes can be any of [default] (default ``)
--log_output_level <string>The minimum logging level of messages to output, can be one of [debug, info, warn, error, none] (default `default:info`)
--log_rotate <string>The path for the optional rotating log file (default ``)
--log_rotate_max_age <int>The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)
--log_rotate_max_backups <int>The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)
--log_rotate_max_size <int>The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)
--log_stacktrace_level <string>The minimum logging level at which stack traces are captured, can be one of [debug, info, warn, error, none] (default `default:none`)
--log_target <stringArray>The set of paths where to output the log. This can be any path as well as the special values stdout and stderr (default `[stdout]`)
--meshConfigFile <string>mesh configuration filename. Takes precedence over --meshConfigMapName if set (default ``)
--meshConfigMapName <string>ConfigMap name for Istio mesh configuration, key should be "mesh" (default `istio`)
--namespace <string>-nConfig namespace (default ``)
--output <string>-oModified output Kubernetes resource filename (default ``)
--platform <string>-pIstio host platform (default `kube`)

Examples


# Update resources on the fly before applying.
kubectl apply -f <(istioctl kube-inject -f <resource.yaml>)

# Create a persistent version of the deployment with Envoy sidecar
# injected.
istioctl kube-inject -f deployment.yaml -o deployment-injected.yaml

# Update an existing deployment.
kubectl get deployment -o yaml | istioctl kube-inject -f - | kubectl apply -f -

# Create a persistent version of the deployment with Envoy sidecar
# injected configuration from kubernetes configmap 'istio-inject'
istioctl kube-inject -f deployment.yaml -o deployment-injected.yaml --injectConfigMapName istio-inject

istioctl proxy-config

Retrieves proxy configuration for the specified pod from the endpoint proxy or Pilot when running in Kubernetes. It is also able to retrieve the state of the entire mesh by using mesh instead of <pod-name>. This is only available when querying Pilot.

Available configuration types:

Endpoint: [clusters listeners routes static]

Pilot: [ads eds]

istioctl proxy-config <endpoint|pilot> <pod-name|mesh> [<configuration-type>] [flags]
FlagsShorthandDescription
--istioNamespace <string>-iIstio system namespace (default `istio-system`)
--kubeconfig <string>-cKubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_jsonWhether to format output as JSON or in plain console-friendly format
--log_caller <string>Comma-separated list of scopes for which to include called information, scopes can be any of [default] (default ``)
--log_output_level <string>The minimum logging level of messages to output, can be one of [debug, info, warn, error, none] (default `default:info`)
--log_rotate <string>The path for the optional rotating log file (default ``)
--log_rotate_max_age <int>The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)
--log_rotate_max_backups <int>The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)
--log_rotate_max_size <int>The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)
--log_stacktrace_level <string>The minimum logging level at which stack traces are captured, can be one of [debug, info, warn, error, none] (default `default:none`)
--log_target <stringArray>The set of paths where to output the log. This can be any path as well as the special values stdout and stderr (default `[stdout]`)
--namespace <string>-nConfig namespace (default ``)
--platform <string>-pIstio host platform (default `kube`)

Examples

# Retrieve all config for productpage-v1-bb8d5cbc7-k7qbm pod from the endpoint proxy
istioctl proxy-config endpoint productpage-v1-bb8d5cbc7-k7qbm

# Retrieve eds config for productpage-v1-bb8d5cbc7-k7qbm pod from Pilot
istioctl proxy-config pilot productpage-v1-bb8d5cbc7-k7qbm eds

# Retrieve ads config for the mesh from Pilot
istioctl proxy-config pilot mesh ads

# Retrieve static config for productpage-v1-bb8d5cbc7-k7qbm pod in the application namespace from the endpoint proxy
istioctl proxy-config endpoint -n application productpage-v1-bb8d5cbc7-k7qbm static

istioctl register

Registers a service instance (e.g. VM) joining the mesh

istioctl register <svcname> <ip> [name1:]port1 [name2:]port2 ... [flags]
FlagsShorthandDescription
--annotations <stringSlice>-aList of string annotations to apply if creating a service/endpoint; e.g. -a foo=bar,test,x=y (default `[]`)
--istioNamespace <string>-iIstio system namespace (default `istio-system`)
--kubeconfig <string>-cKubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--labels <stringSlice>-lList of labels to apply if creating a service/endpoint; e.g. -l env=prod,vers=2 (default `[]`)
--log_as_jsonWhether to format output as JSON or in plain console-friendly format
--log_caller <string>Comma-separated list of scopes for which to include called information, scopes can be any of [default] (default ``)
--log_output_level <string>The minimum logging level of messages to output, can be one of [debug, info, warn, error, none] (default `default:info`)
--log_rotate <string>The path for the optional rotating log file (default ``)
--log_rotate_max_age <int>The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)
--log_rotate_max_backups <int>The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)
--log_rotate_max_size <int>The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)
--log_stacktrace_level <string>The minimum logging level at which stack traces are captured, can be one of [debug, info, warn, error, none] (default `default:none`)
--log_target <stringArray>The set of paths where to output the log. This can be any path as well as the special values stdout and stderr (default `[stdout]`)
--namespace <string>-nConfig namespace (default ``)
--platform <string>-pIstio host platform (default `kube`)
--serviceaccount <string>-sService account to link to the service (default `default`)

istioctl replace

Replace existing policies and rules

istioctl replace [flags]
FlagsShorthandDescription
--file <string>-fInput file with the content of the configuration objects (if not set, command reads from the standard input) (default ``)
--istioNamespace <string>-iIstio system namespace (default `istio-system`)
--kubeconfig <string>-cKubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_jsonWhether to format output as JSON or in plain console-friendly format
--log_caller <string>Comma-separated list of scopes for which to include called information, scopes can be any of [default] (default ``)
--log_output_level <string>The minimum logging level of messages to output, can be one of [debug, info, warn, error, none] (default `default:info`)
--log_rotate <string>The path for the optional rotating log file (default ``)
--log_rotate_max_age <int>The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)
--log_rotate_max_backups <int>The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)
--log_rotate_max_size <int>The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)
--log_stacktrace_level <string>The minimum logging level at which stack traces are captured, can be one of [debug, info, warn, error, none] (default `default:none`)
--log_target <stringArray>The set of paths where to output the log. This can be any path as well as the special values stdout and stderr (default `[stdout]`)
--namespace <string>-nConfig namespace (default ``)
--platform <string>-pIstio host platform (default `kube`)

Examples

istioctl replace -f example-routing.yaml

istioctl version

Prints out build version information

istioctl version [flags]
FlagsShorthandDescription
--istioNamespace <string>-iIstio system namespace (default `istio-system`)
--kubeconfig <string>-cKubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_jsonWhether to format output as JSON or in plain console-friendly format
--log_caller <string>Comma-separated list of scopes for which to include called information, scopes can be any of [default] (default ``)
--log_output_level <string>The minimum logging level of messages to output, can be one of [debug, info, warn, error, none] (default `default:info`)
--log_rotate <string>The path for the optional rotating log file (default ``)
--log_rotate_max_age <int>The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)
--log_rotate_max_backups <int>The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)
--log_rotate_max_size <int>The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)
--log_stacktrace_level <string>The minimum logging level at which stack traces are captured, can be one of [debug, info, warn, error, none] (default `default:none`)
--log_target <stringArray>The set of paths where to output the log. This can be any path as well as the special values stdout and stderr (default `[stdout]`)
--namespace <string>-nConfig namespace (default ``)
--platform <string>-pIstio host platform (default `kube`)
--short-sDisplays a short form of the version information