istio.io/content/docs/reference/commands/pilot-agent/index.html

616 lines
21 KiB
HTML

---
WARNING: THIS IS AN AUTO-GENERATED FILE, DO NOT EDIT. PLEASE MODIFY THE ORIGINAL SOURCE IN THE https://github.com/istio/istio REPO
source_repo: https://github.com/istio/istio
title: pilot-agent
description: Istio Pilot agent.
generator: pkg-collateral-docs
number_of_entries: 5
---
<p>Istio Pilot agent runs in the sidecar or gateway container and bootstraps Envoy.</p>
<table class="command-flags">
<thead>
<tr>
<th>Flags</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>--log_as_json</code></td>
<td>Whether to format output as JSON or in plain console-friendly format </td>
</tr>
<tr>
<td><code>--log_caller &lt;string&gt;</code></td>
<td>Comma-separated list of scopes for which to include caller information, scopes can be any of [all, default, model, rbac] (default ``)</td>
</tr>
<tr>
<td><code>--log_output_level &lt;string&gt;</code></td>
<td>Comma-separated minimum per-scope logging level of messages to output, in the form of &lt;scope&gt;:&lt;level&gt;,&lt;scope&gt;:&lt;level&gt;,... where scope can be one of [all, default, model, rbac] and level can be one of [debug, info, warn, error, fatal, none] (default `default:info`)</td>
</tr>
<tr>
<td><code>--log_rotate &lt;string&gt;</code></td>
<td>The path for the optional rotating log file (default ``)</td>
</tr>
<tr>
<td><code>--log_rotate_max_age &lt;int&gt;</code></td>
<td>The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)</td>
</tr>
<tr>
<td><code>--log_rotate_max_backups &lt;int&gt;</code></td>
<td>The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)</td>
</tr>
<tr>
<td><code>--log_rotate_max_size &lt;int&gt;</code></td>
<td>The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)</td>
</tr>
<tr>
<td><code>--log_stacktrace_level &lt;string&gt;</code></td>
<td>Comma-separated minimum per-scope logging level at which stack traces are captured, in the form of &lt;scope&gt;:&lt;level&gt;,&lt;scope:level&gt;,... where scope can be one of [all, default, model, rbac] and level can be one of [debug, info, warn, error, fatal, none] (default `default:none`)</td>
</tr>
<tr>
<td><code>--log_target &lt;stringArray&gt;</code></td>
<td>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]`)</td>
</tr>
</tbody>
</table>
<h2 id="pilot-agent-proxy">pilot-agent proxy</h2>
<p>Envoy proxy agent</p>
<pre class="language-bash"><code>pilot-agent proxy [flags]
</code></pre>
<table class="command-flags">
<thead>
<tr>
<th>Flags</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>--applicationPorts &lt;stringSlice&gt;</code></td>
<td>Ports exposed by the application. Used to determine that Envoy is configured and ready to receive traffic. (default `[]`)</td>
</tr>
<tr>
<td><code>--binaryPath &lt;string&gt;</code></td>
<td>Path to the proxy binary (default `/usr/local/bin/envoy`)</td>
</tr>
<tr>
<td><code>--concurrency &lt;int&gt;</code></td>
<td>number of worker threads to run (default `0`)</td>
</tr>
<tr>
<td><code>--configPath &lt;string&gt;</code></td>
<td>Path to the generated configuration file directory (default `/etc/istio/proxy`)</td>
</tr>
<tr>
<td><code>--connectTimeout &lt;duration&gt;</code></td>
<td>Connection timeout used by Envoy for supporting services (default `1s`)</td>
</tr>
<tr>
<td><code>--controlPlaneAuthPolicy &lt;string&gt;</code></td>
<td>Control Plane Authentication Policy (default `NONE`)</td>
</tr>
<tr>
<td><code>--controlPlaneBootstrap</code></td>
<td>Process bootstrap provided via templateFile to be used by control plane components. </td>
</tr>
<tr>
<td><code>--customConfigFile &lt;string&gt;</code></td>
<td>Path to the custom configuration file (default ``)</td>
</tr>
<tr>
<td><code>--datadogAgentAddress &lt;string&gt;</code></td>
<td>Address of the Datadog Agent (default ``)</td>
</tr>
<tr>
<td><code>--disableInternalTelemetry</code></td>
<td>Disable internal telemetry </td>
</tr>
<tr>
<td><code>--discoveryAddress &lt;string&gt;</code></td>
<td>Address of the discovery service exposing xDS (e.g. istio-pilot:8080) (default `istio-pilot:15010`)</td>
</tr>
<tr>
<td><code>--dnsRefreshRate &lt;string&gt;</code></td>
<td>The dns_refresh_rate for bootstrap STRICT_DNS clusters (default `300s`)</td>
</tr>
<tr>
<td><code>--domain &lt;string&gt;</code></td>
<td>DNS domain suffix. If not provided uses ${POD_NAMESPACE}.svc.cluster.local (default ``)</td>
</tr>
<tr>
<td><code>--drainDuration &lt;duration&gt;</code></td>
<td>The time in seconds that Envoy will drain connections during a hot restart (default `45s`)</td>
</tr>
<tr>
<td><code>--envoyMetricsServiceAddress &lt;string&gt;</code></td>
<td>Host and Port of an Envoy Metrics Service API implementation (e.g. metrics-service:15000) (default ``)</td>
</tr>
<tr>
<td><code>--id &lt;string&gt;</code></td>
<td>Proxy unique ID. If not provided uses ${POD_NAME}.${POD_NAMESPACE} from environment variables (default ``)</td>
</tr>
<tr>
<td><code>--ip &lt;string&gt;</code></td>
<td>Proxy IP address. If not provided uses ${INSTANCE_IP} environment variable. (default ``)</td>
</tr>
<tr>
<td><code>--lightstepAccessToken &lt;string&gt;</code></td>
<td>Access Token for LightStep Satellite pool (default ``)</td>
</tr>
<tr>
<td><code>--lightstepAddress &lt;string&gt;</code></td>
<td>Address of the LightStep Satellite pool (default ``)</td>
</tr>
<tr>
<td><code>--lightstepCacertPath &lt;string&gt;</code></td>
<td>Path to the trusted cacert used to authenticate the pool (default ``)</td>
</tr>
<tr>
<td><code>--lightstepSecure</code></td>
<td>Should connection to the LightStep Satellite pool be secure </td>
</tr>
<tr>
<td><code>--log_as_json</code></td>
<td>Whether to format output as JSON or in plain console-friendly format </td>
</tr>
<tr>
<td><code>--log_caller &lt;string&gt;</code></td>
<td>Comma-separated list of scopes for which to include caller information, scopes can be any of [all, default, model, rbac] (default ``)</td>
</tr>
<tr>
<td><code>--log_output_level &lt;string&gt;</code></td>
<td>Comma-separated minimum per-scope logging level of messages to output, in the form of &lt;scope&gt;:&lt;level&gt;,&lt;scope&gt;:&lt;level&gt;,... where scope can be one of [all, default, model, rbac] and level can be one of [debug, info, warn, error, fatal, none] (default `default:info`)</td>
</tr>
<tr>
<td><code>--log_rotate &lt;string&gt;</code></td>
<td>The path for the optional rotating log file (default ``)</td>
</tr>
<tr>
<td><code>--log_rotate_max_age &lt;int&gt;</code></td>
<td>The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)</td>
</tr>
<tr>
<td><code>--log_rotate_max_backups &lt;int&gt;</code></td>
<td>The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)</td>
</tr>
<tr>
<td><code>--log_rotate_max_size &lt;int&gt;</code></td>
<td>The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)</td>
</tr>
<tr>
<td><code>--log_stacktrace_level &lt;string&gt;</code></td>
<td>Comma-separated minimum per-scope logging level at which stack traces are captured, in the form of &lt;scope&gt;:&lt;level&gt;,&lt;scope:level&gt;,... where scope can be one of [all, default, model, rbac] and level can be one of [debug, info, warn, error, fatal, none] (default `default:none`)</td>
</tr>
<tr>
<td><code>--log_target &lt;stringArray&gt;</code></td>
<td>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]`)</td>
</tr>
<tr>
<td><code>--mixerIdentity &lt;string&gt;</code></td>
<td>The identity used as the suffix for mixer&#39;s spiffe SAN. This would only be used by pilot all other proxy would get this value from pilot (default ``)</td>
</tr>
<tr>
<td><code>--parentShutdownDuration &lt;duration&gt;</code></td>
<td>The time in seconds that Envoy will wait before shutting down the parent process during a hot restart (default `1m0s`)</td>
</tr>
<tr>
<td><code>--pilotIdentity &lt;string&gt;</code></td>
<td>The identity used as the suffix for pilot&#39;s spiffe SAN (default ``)</td>
</tr>
<tr>
<td><code>--proxyAdminPort &lt;uint16&gt;</code></td>
<td>Port on which Envoy should listen for administrative commands (default `15000`)</td>
</tr>
<tr>
<td><code>--proxyComponentLogLevel &lt;string&gt;</code></td>
<td>The component log level used to start the Envoy proxy (default `misc:error`)</td>
</tr>
<tr>
<td><code>--proxyLogLevel &lt;string&gt;</code></td>
<td>The log level used to start the Envoy proxy (choose from {trace, debug, info, warning, error, critical, off}) (default `warning`)</td>
</tr>
<tr>
<td><code>--serviceCluster &lt;string&gt;</code></td>
<td>Service cluster (default `istio-proxy`)</td>
</tr>
<tr>
<td><code>--serviceregistry &lt;string&gt;</code></td>
<td>Select the platform for service registry, options are {Kubernetes, Consul, Mock} (default `Kubernetes`)</td>
</tr>
<tr>
<td><code>--statsdUdpAddress &lt;string&gt;</code></td>
<td>IP Address and Port of a statsd UDP listener (e.g. 10.75.241.127:9125) (default ``)</td>
</tr>
<tr>
<td><code>--statusPort &lt;uint16&gt;</code></td>
<td>HTTP Port on which to serve pilot agent status. If zero, agent status will not be provided. (default `0`)</td>
</tr>
<tr>
<td><code>--templateFile &lt;string&gt;</code></td>
<td>Go template bootstrap config (default ``)</td>
</tr>
<tr>
<td><code>--trust-domain &lt;string&gt;</code></td>
<td>The domain to use for identities (default ``)</td>
</tr>
<tr>
<td><code>--zipkinAddress &lt;string&gt;</code></td>
<td>Address of the Zipkin service (e.g. zipkin:9411) (default ``)</td>
</tr>
</tbody>
</table>
<h2 id="pilot-agent-request">pilot-agent request</h2>
<p>Makes an HTTP request to the Envoy admin API</p>
<pre class="language-bash"><code>pilot-agent request &lt;method&gt; &lt;path&gt; [&lt;body&gt;] [flags]
</code></pre>
<table class="command-flags">
<thead>
<tr>
<th>Flags</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>--log_as_json</code></td>
<td>Whether to format output as JSON or in plain console-friendly format </td>
</tr>
<tr>
<td><code>--log_caller &lt;string&gt;</code></td>
<td>Comma-separated list of scopes for which to include caller information, scopes can be any of [all, default, model, rbac] (default ``)</td>
</tr>
<tr>
<td><code>--log_output_level &lt;string&gt;</code></td>
<td>Comma-separated minimum per-scope logging level of messages to output, in the form of &lt;scope&gt;:&lt;level&gt;,&lt;scope&gt;:&lt;level&gt;,... where scope can be one of [all, default, model, rbac] and level can be one of [debug, info, warn, error, fatal, none] (default `default:info`)</td>
</tr>
<tr>
<td><code>--log_rotate &lt;string&gt;</code></td>
<td>The path for the optional rotating log file (default ``)</td>
</tr>
<tr>
<td><code>--log_rotate_max_age &lt;int&gt;</code></td>
<td>The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)</td>
</tr>
<tr>
<td><code>--log_rotate_max_backups &lt;int&gt;</code></td>
<td>The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)</td>
</tr>
<tr>
<td><code>--log_rotate_max_size &lt;int&gt;</code></td>
<td>The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)</td>
</tr>
<tr>
<td><code>--log_stacktrace_level &lt;string&gt;</code></td>
<td>Comma-separated minimum per-scope logging level at which stack traces are captured, in the form of &lt;scope&gt;:&lt;level&gt;,&lt;scope:level&gt;,... where scope can be one of [all, default, model, rbac] and level can be one of [debug, info, warn, error, fatal, none] (default `default:none`)</td>
</tr>
<tr>
<td><code>--log_target &lt;stringArray&gt;</code></td>
<td>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]`)</td>
</tr>
</tbody>
</table>
<h2 id="pilot-agent-version">pilot-agent version</h2>
<p>Prints out build version information</p>
<pre class="language-bash"><code>pilot-agent version [flags]
</code></pre>
<table class="command-flags">
<thead>
<tr>
<th>Flags</th>
<th>Shorthand</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>--log_as_json</code></td>
<td></td>
<td>Whether to format output as JSON or in plain console-friendly format </td>
</tr>
<tr>
<td><code>--log_caller &lt;string&gt;</code></td>
<td></td>
<td>Comma-separated list of scopes for which to include caller information, scopes can be any of [all, default, model, rbac] (default ``)</td>
</tr>
<tr>
<td><code>--log_output_level &lt;string&gt;</code></td>
<td></td>
<td>Comma-separated minimum per-scope logging level of messages to output, in the form of &lt;scope&gt;:&lt;level&gt;,&lt;scope&gt;:&lt;level&gt;,... where scope can be one of [all, default, model, rbac] and level can be one of [debug, info, warn, error, fatal, none] (default `default:info`)</td>
</tr>
<tr>
<td><code>--log_rotate &lt;string&gt;</code></td>
<td></td>
<td>The path for the optional rotating log file (default ``)</td>
</tr>
<tr>
<td><code>--log_rotate_max_age &lt;int&gt;</code></td>
<td></td>
<td>The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)</td>
</tr>
<tr>
<td><code>--log_rotate_max_backups &lt;int&gt;</code></td>
<td></td>
<td>The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)</td>
</tr>
<tr>
<td><code>--log_rotate_max_size &lt;int&gt;</code></td>
<td></td>
<td>The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)</td>
</tr>
<tr>
<td><code>--log_stacktrace_level &lt;string&gt;</code></td>
<td></td>
<td>Comma-separated minimum per-scope logging level at which stack traces are captured, in the form of &lt;scope&gt;:&lt;level&gt;,&lt;scope:level&gt;,... where scope can be one of [all, default, model, rbac] and level can be one of [debug, info, warn, error, fatal, none] (default `default:none`)</td>
</tr>
<tr>
<td><code>--log_target &lt;stringArray&gt;</code></td>
<td></td>
<td>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]`)</td>
</tr>
<tr>
<td><code>--output &lt;string&gt;</code></td>
<td><code>-o</code></td>
<td>One of &#39;yaml&#39; or &#39;json&#39;. (default ``)</td>
</tr>
<tr>
<td><code>--short</code></td>
<td><code>-s</code></td>
<td>Displays a short form of the version information </td>
</tr>
</tbody>
</table>
<h2 id="envvars">Environment variables</h2>
These environment variables affect the behavior of the <code>pilot-agent</code> command.
<table class="envvars">
<thead>
<tr>
<th>Variable Name</th>
<th>Type</th>
<th>Default Value</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>INSTANCE_IP</code></td>
<td>String</td>
<td><code></code></td>
<td></td>
</tr>
<tr>
<td><code>ISTIO_BOOTSTRAP</code></td>
<td>String</td>
<td><code></code></td>
<td></td>
</tr>
<tr>
<td><code>ISTIO_BOOTSTRAP_OVERRIDE</code></td>
<td>String</td>
<td><code></code></td>
<td></td>
</tr>
<tr>
<td><code>ISTIO_GPRC_MAXSTREAMS</code></td>
<td>Integer</td>
<td><code>100000</code></td>
<td></td>
</tr>
<tr>
<td><code>ISTIO_KUBE_APP_PROBERS</code></td>
<td>String</td>
<td><code></code></td>
<td></td>
</tr>
<tr>
<td><code>ISTIO_META_TLS_CLIENT_CERT_CHAIN</code></td>
<td>String</td>
<td><code>/etc/certs/cert-chain.pem</code></td>
<td></td>
</tr>
<tr>
<td><code>ISTIO_META_TLS_CLIENT_KEY</code></td>
<td>String</td>
<td><code>/etc/certs/key.pem</code></td>
<td></td>
</tr>
<tr>
<td><code>ISTIO_META_TLS_CLIENT_ROOT_CERT</code></td>
<td>String</td>
<td><code>/etc/certs/root-cert.pem</code></td>
<td></td>
</tr>
<tr>
<td><code>ISTIO_META_TLS_SERVER_CERT_CHAIN</code></td>
<td>String</td>
<td><code>/etc/certs/cert-chain.pem</code></td>
<td></td>
</tr>
<tr>
<td><code>ISTIO_META_TLS_SERVER_KEY</code></td>
<td>String</td>
<td><code>/etc/certs/key.pem</code></td>
<td></td>
</tr>
<tr>
<td><code>ISTIO_META_TLS_SERVER_ROOT_CERT</code></td>
<td>String</td>
<td><code>/etc/certs/root-cert.pem</code></td>
<td></td>
</tr>
<tr>
<td><code>ISTIO_NAMESPACE</code></td>
<td>String</td>
<td><code></code></td>
<td></td>
</tr>
<tr>
<td><code>PILOT_CERT_DIR</code></td>
<td>String</td>
<td><code></code></td>
<td></td>
</tr>
<tr>
<td><code>PILOT_DEBOUNCE_AFTER</code></td>
<td>Time Duration</td>
<td><code>100ms</code></td>
<td></td>
</tr>
<tr>
<td><code>PILOT_DEBOUNCE_MAX</code></td>
<td>Time Duration</td>
<td><code>10s</code></td>
<td></td>
</tr>
<tr>
<td><code>PILOT_DEBUG_ADSZ_CONFIG</code></td>
<td>Boolean</td>
<td><code>false</code></td>
<td></td>
</tr>
<tr>
<td><code>PILOT_DISABLE_EDS_ISOLATION</code></td>
<td>String</td>
<td><code></code></td>
<td></td>
</tr>
<tr>
<td><code>PILOT_DISABLE_XDS_MARSHALING_TO_ANY</code></td>
<td>String</td>
<td><code></code></td>
<td></td>
</tr>
<tr>
<td><code>PILOT_ENABLE_FALLTHROUGH_ROUTE</code></td>
<td>Boolean</td>
<td><code>true</code></td>
<td>EnableFallthroughRoute provides an option to add a final wildcard match for routes. When ALLOW_ANY traffic policy is used, a Passthrough cluster is used. When REGISTRY_ONLY traffic policy is used, a 502 error is returned.</td>
</tr>
<tr>
<td><code>PILOT_ENABLE_LOCALITY_LOAD_BALANCING</code></td>
<td>String</td>
<td><code></code></td>
<td></td>
</tr>
<tr>
<td><code>PILOT_ENABLE_MYSQL_FILTER</code></td>
<td>Boolean</td>
<td><code>false</code></td>
<td>EnableMysqlFilter enables injection of `envoy.filters.network.mysql_proxy` in the filter chain.</td>
</tr>
<tr>
<td><code>PILOT_ENABLE_REDIS_FILTER</code></td>
<td>Boolean</td>
<td><code>false</code></td>
<td>EnableRedisFilter enables injection of `envoy.filters.network.redis_proxy` in the filter chain.</td>
</tr>
<tr>
<td><code>PILOT_ENABLE_WAIT_CACHE_SYNC</code></td>
<td>String</td>
<td><code></code></td>
<td></td>
</tr>
<tr>
<td><code>PILOT_HTTP10</code></td>
<td>Boolean</td>
<td><code>false</code></td>
<td></td>
</tr>
<tr>
<td><code>PILOT_INITIAL_FETCH_TIMEOUT</code></td>
<td>Time Duration</td>
<td><code>0s</code></td>
<td>Specifies the initial_fetch_timeout for config. If this time is reached without a response to the config requested by Envoy, the Envoy will move on with the init phase. This prevents envoy from getting stuck waiting on config during startup.</td>
</tr>
<tr>
<td><code>PILOT_PUSH_BURST</code></td>
<td>Integer</td>
<td><code>100</code></td>
<td></td>
</tr>
<tr>
<td><code>PILOT_PUSH_THROTTLE</code></td>
<td>Integer</td>
<td><code>10</code></td>
<td></td>
</tr>
<tr>
<td><code>PILOT_TRACE_SAMPLING</code></td>
<td>Floating-Point</td>
<td><code>100</code></td>
<td></td>
</tr>
<tr>
<td><code>POD_NAME</code></td>
<td>String</td>
<td><code></code></td>
<td></td>
</tr>
<tr>
<td><code>POD_NAMESPACE</code></td>
<td>String</td>
<td><code></code></td>
<td></td>
</tr>
<tr>
<td><code>TERMINATION_DRAIN_DURATION_SECONDS</code></td>
<td>String</td>
<td><code></code></td>
<td></td>
</tr>
<tr>
<td><code>V2_REFRESH</code></td>
<td>Time Duration</td>
<td><code>0s</code></td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="annotations">Annotations</h2>
These resource annotations are used by the <code>pilot-agent</code> command.
<table class="annotations">
<thead>
<tr>
<th>Annotation Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>policy.istio.io/check</code></td>
<td>Determines the policy for behavior when unable to connect to Mixer. If not set, FAIL_CLOSE is set, rejecting requests.</td>
</tr>
<tr>
<td><code>policy.istio.io/checkBaseRetryWaitTime</code></td>
<td>Base time to wait between retries, will be adjusted by backoff and jitter. In duration format. If not set, this will be 80ms.</td>
</tr>
<tr>
<td><code>policy.istio.io/checkMaxRetryWaitTime</code></td>
<td>Maximum time to wait between retries to Mixer. In duration format. If not set, this will be 1000ms.</td>
</tr>
<tr>
<td><code>policy.istio.io/checkRetries</code></td>
<td>The maximum number of retries on transport errors to Mixer. If not set, this will be 0, indicating no retries.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/statsInclusionPrefixes</code></td>
<td>Specifies the comma separated list of prefixes of the stats to be emitted by Envoy.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/statsInclusionRegexps</code></td>
<td>Specifies the comma separated list of regexes the stats should match to be emitted by Envoy.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/statsInclusionSuffixes</code></td>
<td>Specifies the comma separated list of suffixes of the stats to be emitted by Envoy.</td>
</tr>
</tbody>
</table>
<h2 id="metrics">Exported metrics</h2>
<table class="metrics">
<thead>
<tr><th>Metric Name</th><th>Type</th><th>Description</th></tr>
</thead>
<tbody>
</tbody>
</table>