--- title: istioctl description: Istio control interface generator: pkg-collateral-docs number_of_entries: 19 ---

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.

Flags | Shorthand | Description
--- | --- | ---
`--context <string>` |  | The name of the kubeconfig context to use (default ``)
`--istioNamespace <string>` | `-i` | Istio system namespace (default `istio-system`)
`--kubeconfig <string>` | `-c` | Kubernetes configuration file (default ``)
`--log_as_json` |  | Whether 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>` | `-n` | Config namespace (default ``)
`--platform <string>` | `-p` | Istio 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]

Flags | Shorthand | Description
--- | --- | ---
`--api-server <string>` |  | URL for Istio api server (default ``)
`--context <string>` |  | The name of the kubeconfig context to use (default ``)
`--istioNamespace <string>` | `-i` | Istio system namespace (default `istio-system`)
`--kubeconfig <string>` | `-c` | Kubernetes configuration file (default ``)
`--log_as_json` |  | Whether 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>` | `-n` | Config namespace (default ``)
`--platform <string>` | `-p` | Istio 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]

Flags | Shorthand | Description
--- | --- | ---
`--context <string>` |  | The name of the kubeconfig context to use (default ``)
`--file <string>` | `-f` | Input file with the content of the configuration objects (if not set, command reads from the standard input) (default ``)
`--istioNamespace <string>` | `-i` | Istio system namespace (default `istio-system`)
`--kubeconfig <string>` | `-c` | Kubernetes configuration file (default ``)
`--log_as_json` |  | Whether 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>` | `-n` | Config namespace (default ``)
`--platform <string>` | `-p` | Istio host platform (default `kube`)

### Examples

    istioctl create -f example-routing.yaml

## istioctl delete

Delete policies or rules

    istioctl delete <type> <name> [<name2> ... <nameN>] [flags]

Flags | Shorthand | Description
--- | --- | ---
`--context <string>` |  | The name of the kubeconfig context to use (default ``)
`--file <string>` | `-f` | Input file with the content of the configuration objects (if not set, command reads from the standard input) (default ``)
`--istioNamespace <string>` | `-i` | Istio system namespace (default `istio-system`)
`--kubeconfig <string>` | `-c` | Kubernetes configuration file (default ``)
`--log_as_json` |  | Whether 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>` | `-n` | Config namespace (default ``)
`--platform <string>` | `-p` | Istio 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]

Flags | Shorthand | Description
--- | --- | ---
`--context <string>` |  | The name of the kubeconfig context to use (default ``)
`--istioNamespace <string>` | `-i` | Istio system namespace (default `istio-system`)
`--kubeconfig <string>` | `-c` | Kubernetes configuration file (default ``)
`--log_as_json` |  | Whether 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>` | `-n` | Config namespace (default ``)
`--platform <string>` | `-p` | Istio host platform (default `kube`)

## istioctl experimental

Experimental commands that may be modified or deprecated

Flags | Shorthand | Description
--- | --- | ---
`--context <string>` |  | The name of the kubeconfig context to use (default ``)
`--istioNamespace <string>` | `-i` | Istio system namespace (default `istio-system`)
`--kubeconfig <string>` | `-c` | Kubernetes configuration file (default ``)
`--log_as_json` |  | Whether 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>` | `-n` | Config namespace (default ``)
`--platform <string>` | `-p` | Istio 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]

Flags | Shorthand | Description
--- | --- | ---
`--context <string>` |  | The name of the kubeconfig context to use (default ``)
`--filenames <stringSlice>` | `-f` | Input filenames (default `[]`)
`--istioNamespace <string>` | `-i` | Istio system namespace (default `istio-system`)
`--kubeconfig <string>` | `-c` | Kubernetes configuration file (default ``)
`--log_as_json` |  | Whether 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>` | `-n` | Config namespace (default ``)
`--output <string>` | `-o` | Output filename (default `-`)
`--platform <string>` | `-p` | Istio 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>...

Flags | Shorthand | Description
--- | --- | ---
`--context <string>` |  | The name of the kubeconfig context to use (default ``)
`--istioNamespace <string>` | `-i` | Istio system namespace (default `istio-system`)
`--kubeconfig <string>` | `-c` | Kubernetes configuration file (default ``)
`--log_as_json` |  | Whether 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>` | `-n` | Config namespace (default ``)
`--platform <string>` | `-p` | Istio 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.

Flags | Shorthand | Description
--- | --- | ---
`--context <string>` |  | The name of the kubeconfig context to use (default ``)
`--istioNamespace <string>` | `-i` | Istio system namespace (default `istio-system`)
`--kubeconfig <string>` | `-c` | Kubernetes configuration file (default ``)
`--log_as_json` |  | Whether 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>` | `-n` | Config namespace (default ``)
`--platform <string>` | `-p` | Istio 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]

Flags | Shorthand | Description
--- | --- | ---
`--action-properties <stringArray>` | `-a` | [Action] Additional data about the action. Specified as name1=value1,name2=value2,... (default `[]`)
`--context <string>` |  | The name of the kubeconfig context to use (default ``)
`--groups <string>` | `-g` | [Subject] Group name/ID that the subject represents. (default ``)
`--istioNamespace <string>` | `-i` | Istio system namespace (default `istio-system`)
`--kubeconfig <string>` | `-c` | Kubernetes configuration file (default ``)
`--log_as_json` |  | Whether 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>` | `-n` | Config namespace (default ``)
`--platform <string>` | `-p` | Istio 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]

Flags | Shorthand | Description
--- | --- | ---
`--context <string>` |  | The name of the kubeconfig context to use (default ``)
`--debug` |  | If 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>` | `-i` | Istio system namespace (default `istio-system`)
`--kubeconfig <string>` | `-c` | Kubernetes configuration file (default ``)
`--log_as_json` |  | Whether 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>` | `-n` | Config namespace (default ``)
`--platform <string>` | `-p` | Istio 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]

Flags | Shorthand | Description
--- | --- | ---
`--all-namespaces` |  | If present, list the requested object(s) across all namespaces. Namespace in current context is ignored even if specified with --namespace.
`--context <string>` |  | The name of the kubeconfig context to use (default ``)
`--istioNamespace <string>` | `-i` | Istio system namespace (default `istio-system`)
`--kubeconfig <string>` | `-c` | Kubernetes configuration file (default ``)
`--log_as_json` |  | Whether 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>` | `-n` | Config namespace (default ``)
`--output <string>` | `-o` | Output format. One of:yaml|short (default `short`)
`--platform <string>` | `-p` | Istio 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]

Flags | Shorthand | Description
--- | --- | ---
`--context <string>` |  | The name of the kubeconfig context to use (default ``)
`--filename <string>` | `-f` | Input 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>` | `-i` | Istio system namespace (default `istio-system`)
`--kubeconfig <string>` | `-c` | Kubernetes configuration file (default ``)
`--log_as_json` |  | Whether 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>` | `-n` | Config namespace (default ``)
`--output <string>` | `-o` | Modified output Kubernetes resource filename (default ``)
`--platform <string>` | `-p` | Istio 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 bootstrap]

Pilot: [ads eds]

    istioctl proxy-config <endpoint|pilot> <pod-name|mesh> [<configuration-type>] [flags]

Flags | Shorthand | Description
--- | --- | ---
`--context <string>` |  | The name of the kubeconfig context to use (default ``)
`--istioNamespace <string>` | `-i` | Istio system namespace (default `istio-system`)
`--kubeconfig <string>` | `-c` | Kubernetes configuration file (default ``)
`--log_as_json` |  | Whether 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>` | `-n` | Config namespace (default ``)
`--platform <string>` | `-p` | Istio 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 bootstrap 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 bootstrap

## istioctl register

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

    istioctl register <svcname> <ip> [name1:]port1 [name2:]port2 ... [flags]

Flags | Shorthand | Description
--- | --- | ---
`--annotations <stringSlice>` | `-a` | List of string annotations to apply if creating a service/endpoint; e.g. -a foo=bar,test,x=y (default `[]`)
`--context <string>` |  | The name of the kubeconfig context to use (default ``)
`--istioNamespace <string>` | `-i` | Istio system namespace (default `istio-system`)
`--kubeconfig <string>` | `-c` | Kubernetes configuration file (default ``)
`--labels <stringSlice>` | `-l` | List of labels to apply if creating a service/endpoint; e.g. -l env=prod,vers=2 (default `[]`)
`--log_as_json` |  | Whether 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>` | `-n` | Config namespace (default ``)
`--platform <string>` | `-p` | Istio host platform (default `kube`)
`--serviceaccount <string>` | `-s` | Service account to link to the service (default `default`)

## istioctl replace

Replace existing policies and rules

    istioctl replace [flags]

Flags | Shorthand | Description
--- | --- | ---
`--context <string>` |  | The name of the kubeconfig context to use (default ``)
`--file <string>` | `-f` | Input file with the content of the configuration objects (if not set, command reads from the standard input) (default ``)
`--istioNamespace <string>` | `-i` | Istio system namespace (default `istio-system`)
`--kubeconfig <string>` | `-c` | Kubernetes configuration file (default ``)
`--log_as_json` |  | Whether 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>` | `-n` | Config namespace (default ``)
`--platform <string>` | `-p` | Istio host platform (default `kube`)

### Examples

    istioctl replace -f example-routing.yaml

## istioctl version

Prints out build version information

    istioctl version [flags]

Flags | Shorthand | Description
--- | --- | ---
`--context <string>` |  | The name of the kubeconfig context to use (default ``)
`--istioNamespace <string>` | `-i` | Istio system namespace (default `istio-system`)
`--kubeconfig <string>` | `-c` | Kubernetes configuration file (default ``)
`--log_as_json` |  | Whether 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>` | `-n` | Config namespace (default ``)
`--platform <string>` | `-p` | Istio host platform (default `kube`)
`--short` | `-s` | Displays a short form of the version information