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.
Flags | Shorthand | Description |
---|---|---|
--istioNamespace <string> |
-i |
Istio system namespace (default `istio-system`) |
--kubeconfig <string> |
-c |
Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`) |
--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> |
Kubernetes configuration file context name (default `istio`) | |
--istioNamespace <string> |
-i |
Istio system namespace (default `istio-system`) |
--kubeconfig <string> |
-c |
Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`) |
--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 |
---|---|---|
--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 `$KUBECONFIG else $HOME/.kube/config`) |
--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 |
---|---|---|
--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 `$KUBECONFIG else $HOME/.kube/config`) |
--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 |
---|---|---|
--istioNamespace <string> |
-i |
Istio system namespace (default `istio-system`) |
--kubeconfig <string> |
-c |
Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`) |
--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 |
---|---|---|
--istioNamespace <string> |
-i |
Istio system namespace (default `istio-system`) |
--kubeconfig <string> |
-c |
Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`) |
--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 |
---|---|---|
--filenames <stringSlice> |
-f |
Input filenames (default `[]`) |
--istioNamespace <string> |
-i |
Istio system namespace (default `istio-system`) |
--kubeconfig <string> |
-c |
Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`) |
--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 |
---|---|---|
--istioNamespace <string> |
-i |
Istio system namespace (default `istio-system`) |
--kubeconfig <string> |
-c |
Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`) |
--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 |
---|---|---|
--istioNamespace <string> |
-i |
Istio system namespace (default `istio-system`) |
--kubeconfig <string> |
-c |
Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`) |
--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 `[]`) |
--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 `$KUBECONFIG else $HOME/.kube/config`) |
--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 |
---|---|---|
--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 `$KUBECONFIG else $HOME/.kube/config`) |
--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 |
---|---|---|
--istioNamespace <string> |
-i |
Istio system namespace (default `istio-system`) |
--kubeconfig <string> |
-c |
Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`) |
--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 |
---|---|---|
--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 `$KUBECONFIG else $HOME/.kube/config`) |
--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 static]
Pilot: [ads eds]
istioctl proxy-config <endpoint|pilot> <pod-name|mesh> [<configuration-type>] [flags]
Flags | Shorthand | Description |
---|---|---|
--istioNamespace <string> |
-i |
Istio system namespace (default `istio-system`) |
--kubeconfig <string> |
-c |
Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`) |
--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 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]
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 `[]`) |
--istioNamespace <string> |
-i |
Istio system namespace (default `istio-system`) |
--kubeconfig <string> |
-c |
Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`) |
--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 |
---|---|---|
--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 `$KUBECONFIG else $HOME/.kube/config`) |
--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 |
---|---|---|
--istioNamespace <string> |
-i |
Istio system namespace (default `istio-system`) |
--kubeconfig <string> |
-c |
Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`) |
--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 |