pilot-agent

Istio Pilot 代理运行在 Sidecar 或网关容器中,并引导 Envoy。

标志描述
--log_as_json是否以 JSON 格式或纯控制台友好格式输出
--log_caller <string>要包含调用者信息的范围的逗号分隔列表,范围可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的任意一个(默认值为空)
--log_output_level <string>

以 <scope>:<level>,<scope>:<level>,... 的形式指定每个作用域的最小日志级别,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 "")。
--log_stacktrace_level <string>以 <scope>:<level>,<scope:level>,... 的形式指定每个作用域的最小日志级别,在此级别上捕获堆栈跟踪,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 `default:none`)。
--log_target <stringArray>输出日志的路径集合。可以是任意路径,以及特殊值 stdout 和 stderr(默认为 `[stdout]`)。
--vklog <Level>日志级别详细程度的数字。类似 -v 标记。例如:--vklog=9(默认为 `0`)。

pilot-agent completion

为指定 shell 生成 pilot-agent 的自动补全脚本。有关如何使用生成的脚本的详细信息,请参阅每个子命令的帮助。

标志描述
--log_as_json是否以 JSON 格式或纯控制台友好格式输出
--log_caller <string>要包含调用者信息的范围的逗号分隔列表,范围可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的任意一个(默认值为空)
--log_output_level <string>

以 <scope>:<level>,<scope>:<level>,... 的形式指定每个作用域的最小日志级别,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 "")。
--log_stacktrace_level <string>以 <scope>:<level>,<scope:level>,... 的形式指定每个作用域的最小日志级别,在此级别上捕获堆栈跟踪,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 `default:none`)。
--log_target <stringArray>输出日志的路径集合。可以是任意路径,以及特殊值 stdout 和 stderr(默认为 `[stdout]`)。
--vklog <Level>日志级别详细程度的数字。类似 -v 标记。例如:--vklog=9(默认为 `0`)。

pilot-agent completion bash

为 bash shell 生成自动补全脚本。

此脚本依赖于 'bash-completion' 包。如果尚未安装,可以通过操作系统的包管理器安装它。

在当前 shell 会话中加载补全

source <(pilot-agent completion bash)

为每个新会话加载补全,执行一次

Linux

pilot-agent completion bash > /etc/bash_completion.d/pilot-agent

macOS

pilot-agent completion bash > /usr/local/etc/bash_completion.d/pilot-agent

您需要启动一个新的 shell 以使此设置生效。

pilot-agent completion bash
标志描述
--log_as_json是否以 JSON 格式或纯控制台友好格式输出
--log_caller <string>要包含调用者信息的范围的逗号分隔列表,范围可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的任意一个(默认值为空)
--log_output_level <string>

以 <scope>:<level>,<scope>:<level>,... 的形式指定每个作用域的最小日志级别,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 "")。
--log_stacktrace_level <string>以 <scope>:<level>,<scope:level>,... 的形式指定每个作用域的最小日志级别,在此级别上捕获堆栈跟踪,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 `default:none`)。
--log_target <stringArray>输出日志的路径集合。可以是任意路径,以及特殊值 stdout 和 stderr(默认为 `[stdout]`)。
--no-descriptions禁用补全描述
--vklog <Level>日志级别详细程度的数字。类似 -v 标记。例如:--vklog=9(默认为 `0`)。

pilot-agent completion fish

为 fish shell 生成自动补全脚本。

在当前 shell 会话中加载补全

pilot-agent completion fish | source

为每个新会话加载补全,执行一次

pilot-agent completion bash > ~/.config/fish/completions/pilot-agent.fish

您需要启动一个新的 shell 以使此设置生效。

pilot-agent completion fish [flags]
标志描述
--log_as_json是否以 JSON 格式或纯控制台友好格式输出
--log_caller <string>要包含调用者信息的范围的逗号分隔列表,范围可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的任意一个(默认值为空)
--log_output_level <string>

以 <scope>:<level>,<scope>:<level>,... 的形式指定每个作用域的最小日志级别,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 "")。
--log_stacktrace_level <string>以 <scope>:<level>,<scope:level>,... 的形式指定每个作用域的最小日志级别,在此级别上捕获堆栈跟踪,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 `default:none`)。
--log_target <stringArray>输出日志的路径集合。可以是任意路径,以及特殊值 stdout 和 stderr(默认为 `[stdout]`)。
--no-descriptions禁用补全描述
--vklog <Level>日志级别详细程度的数字。类似 -v 标记。例如:--vklog=9(默认为 `0`)。

pilot-agent completion powershell

为 PowerShell 生成自动补全脚本。

在当前 shell 会话中加载补全

pilot-agent completion powershell | Out-String | Invoke-Expression

要为每个新会话加载补全,请将上述命令的输出添加到您的 powershell 配置文件中。

pilot-agent completion powershell [flags]
标志描述
--log_as_json是否以 JSON 格式或纯控制台友好格式输出
--log_caller <string>要包含调用者信息的范围的逗号分隔列表,范围可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的任意一个(默认值为空)
--log_output_level <string>

以 <scope>:<level>,<scope>:<level>,... 的形式指定每个作用域的最小日志级别,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 "")。
--log_stacktrace_level <string>以 <scope>:<level>,<scope:level>,... 的形式指定每个作用域的最小日志级别,在此级别上捕获堆栈跟踪,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 `default:none`)。
--log_target <stringArray>输出日志的路径集合。可以是任意路径,以及特殊值 stdout 和 stderr(默认为 `[stdout]`)。
--no-descriptions禁用补全描述
--vklog <Level>日志级别详细程度的数字。类似 -v 标记。例如:--vklog=9(默认为 `0`)。

pilot-agent completion zsh

为 zsh shell 生成自动补全脚本。

如果您的环境中尚未启用 shell 补全,则需要启用它。您可以执行以下操作一次

echo "autoload -U compinit; compinit" >> ~/.zshrc

在当前 shell 会话中加载补全

source <(pilot-agent completion zsh)

为每个新会话加载补全,执行一次

Linux

pilot-agent completion zsh > "${fpath[1]}/_pilot-agent"

macOS

pilot-agent completion zsh > $(brew --prefix)/share/zsh/site-functions/_pilot-agent

您需要启动一个新的 shell 以使此设置生效。

pilot-agent completion zsh [flags]
标志描述
--log_as_json是否以 JSON 格式或纯控制台友好格式输出
--log_caller <string>要包含调用者信息的范围的逗号分隔列表,范围可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的任意一个(默认值为空)
--log_output_level <string>

以 <scope>:<level>,<scope>:<level>,... 的形式指定每个作用域的最小日志级别,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 "")。
--log_stacktrace_level <string>以 <scope>:<level>,<scope:level>,... 的形式指定每个作用域的最小日志级别,在此级别上捕获堆栈跟踪,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 `default:none`)。
--log_target <stringArray>输出日志的路径集合。可以是任意路径,以及特殊值 stdout 和 stderr(默认为 `[stdout]`)。
--no-descriptions禁用补全描述
--vklog <Level>日志级别详细程度的数字。类似 -v 标记。例如:--vklog=9(默认为 `0`)。

pilot-agent istio-clean-iptables

负责清理 iptables 规则的脚本

pilot-agent istio-clean-iptables [flags]
标志简写描述
--capture-all-dns不只捕获到 DNS 服务器 IP 的 DNS 流量,而是捕获端口 53 上的所有 DNS 流量。此设置仅在启用重定向 DNS 时有效。
--dry-run-n不调用任何外部依赖项,如 iptables。
--istio-inbound-interception-mode <string>-m用于将入站连接重定向到 Envoy 的模式,可以是 "REDIRECT" 或 "TPROXY"。(默认为 "")。
--istio-inbound-tproxy-mark <string>-t(默认为 "")。
--log_as_json是否以 JSON 格式或纯控制台友好格式输出
--log_caller <string>要包含调用者信息的范围的逗号分隔列表,范围可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的任意一个(默认值为空)
--log_output_level <string>

以 <scope>:<level>,<scope>:<level>,... 的形式指定每个作用域的最小日志级别,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 "")。
--log_stacktrace_level <string>以 <scope>:<level>,<scope:level>,... 的形式指定每个作用域的最小日志级别,在此级别上捕获堆栈跟踪,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 `default:none`)。
--log_target <stringArray>输出日志的路径集合。可以是任意路径,以及特殊值 stdout 和 stderr(默认为 `[stdout]`)。
--proxy-gid <string>-g指定不应用重定向的用户 GID(与 -u 参数的默认值相同)。(默认为 "")。
--proxy-uid <string>-u指定不应用重定向的用户 UID。通常,这是代理容器的 UID。(默认为 "")。
--redirect-dns启用 istio-agent 对 dns 流量的捕获。
--vklog <Level>日志级别详细程度的数字。类似 -v 标记。例如:--vklog=9(默认为 `0`)。

pilot-agent istio-iptables

istio-iptables 负责为 Istio Sidecar 设置端口转发。

pilot-agent istio-iptables [flags]
标志简写描述
--capture-all-dns不只捕获到 DNS 服务器 IP 的 DNS 流量,而是捕获端口 53 上的所有 DNS 流量。此设置仅在启用重定向 DNS 时有效。
--cleanup-only执行强制清理,而无需创建新的 iptables 链或规则。
--cni-mode是否以 CNI 插件的形式运行。
--drop-invalid在 iptables 规则中启用无效丢弃。
--dry-run-n不调用任何外部依赖项,如 iptables。
--dual-stack为双栈启用 ipv4/ipv6 重定向。
--envoy-port <string>-p指定将所有 TCP 流量重定向到的 envoy 端口。(默认为 `15001`)。
--force-apply即使 iptables 更改似乎已存在,也应用它们。
--inbound-capture-port <string>-z将所有入站 TCP 流量重定向到的端口。(默认为 `15006`)。
--inbound-tunnel-port <string>-e指定入站 tcp 流量的 istio 隧道端口。(默认为 `15008`)。
--iptables-probe-port <uint16>设置故障检测的监听端口。(默认为 `15002`)。
--iptables-trace-logging使用 LOG 链为每个 iptables 规则插入跟踪日志。
--istio-exclude-interfaces <string>-c以逗号分隔的 NIC 列表(可选)。不会捕获入站和出站流量。(默认为 "")。
--istio-inbound-interception-mode <string>-m用于将入站连接重定向到 Envoy 的模式,可以是 "REDIRECT" 或 "TPROXY"。(默认为 "")。
--istio-inbound-ports <string>-b要将流量重定向到 Envoy 的入站端口的逗号分隔列表(可选)。可以使用通配符 "*" 配置所有端口的重定向。空列表将禁用。(默认为 "")。
--istio-inbound-tproxy-mark <string>-t(默认为 `1337`)。
--istio-inbound-tproxy-route-table <string>-r(默认为 `133`)。
--istio-local-exclude-ports <string>-d要从重定向到 Envoy 中排除的入站端口的逗号分隔列表(可选)。仅当重定向所有入站流量(即 "*")时才适用。(默认为 "")。
--istio-local-outbound-ports-exclude <string>-o要从重定向到 Envoy 中排除的出站端口的逗号分隔列表。(默认为 "")。
--istio-outbound-ports <string>-q要明确包含以重定向到 Envoy 的出站端口的逗号分隔列表。(默认为 "")。
--istio-service-cidr <string>-i要重定向到 envoy 的 CIDR 格式的 IP 范围的逗号分隔列表(可选)。可以使用通配符 "*" 重定向所有出站流量。空列表将禁用所有出站。(默认为 "")。
--istio-service-exclude-cidr <string>-x要从重定向中排除的 CIDR 格式的 IP 范围的逗号分隔列表。仅当重定向所有出站流量(即 "*")时才适用。(默认为 "")。
--kube-virt-interfaces <string>-k其入站流量(来自 VM)将被视为出站的虚拟接口的逗号分隔列表。(默认为 "")。
--log_as_json是否以 JSON 格式或纯控制台友好格式输出
--log_caller <string>要包含调用者信息的范围的逗号分隔列表,范围可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的任意一个(默认值为空)
--log_output_level <string>

以 <scope>:<level>,<scope>:<level>,... 的形式指定每个作用域的最小日志级别,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 "")。
--log_stacktrace_level <string>以 <scope>:<level>,<scope:level>,... 的形式指定每个作用域的最小日志级别,在此级别上捕获堆栈跟踪,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 `default:none`)。
--log_target <stringArray>输出日志的路径集合。可以是任意路径,以及特殊值 stdout 和 stderr(默认为 `[stdout]`)。
--network-namespace <string>应将 iptables 规则应用到的网络命名空间。(默认为 "")。
--probe-timeout <duration>故障检测超时。(默认为 `5s`)。
--proxy-gid <string>-g指定不应用重定向的用户 GID(与 -u 参数的默认值相同)。(默认为 "")。
--proxy-uid <string>-u指定不应用重定向的用户 UID。通常,这是代理容器的 UID。(默认为 "")。
--reconcile协调预先存在的和不兼容的 iptables 规则,而不是在检测到漂移时失败。
--redirect-dns启用 istio-agent 对 dns 流量的捕获。
--run-validation验证 iptables。
--skip-rule-apply跳过 iptables 应用。
--vklog <Level>日志级别详细程度的数字。类似 -v 标记。例如:--vklog=9(默认为 `0`)。

pilot-agent proxy

XDS 代理代理

pilot-agent proxy [flags]
标志描述
--concurrency <int>要运行的工作线程数(默认为 `0`)。
--domain <string>DNS 域名后缀。如果未提供,则使用 ${POD_NAMESPACE}.svc.cluster.local(默认为 "")。
--log_as_json是否以 JSON 格式或纯控制台友好格式输出
--log_caller <string>要包含调用者信息的范围的逗号分隔列表,范围可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的任意一个(默认值为空)
--log_output_level <string>

以 <scope>:<level>,<scope>:<level>,... 的形式指定每个作用域的最小日志级别,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 "")。
--log_stacktrace_level <string>以 <scope>:<level>,<scope:level>,... 的形式指定每个作用域的最小日志级别,在此级别上捕获堆栈跟踪,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 `default:none`)。
--log_target <stringArray>输出日志的路径集合。可以是任意路径,以及特殊值 stdout 和 stderr(默认为 `[stdout]`)。
--meshConfig <string>Istio 网格配置的文件名。如果未指定,将使用默认网格。这可能会被 PROXY_CONFIG 环境变量或 proxy.istio.io/config 注解覆盖。(默认为 `./etc/istio/config/mesh`)。
--outlierLogPath <string>异常值检测的日志路径(默认为 "")。
--profiling通过 Web 界面 host:port/debug/pprof/ 启用分析。
--proxyComponentLogLevel <string>用于启动 Envoy 代理的组件日志级别。已弃用,请使用 proxyLogLevel 代替(默认为 "")。
--proxyLogLevel <string>用于启动 Envoy 代理的日志级别(从 {trace, debug, info, warning, error, critical, off} 中选择)。级别还可以包含一个或多个作用域,例如 'info,misc:error,upstream:debug'(默认为 `warning,misc:error`)。
--serviceCluster <string>服务集群(默认为 `istio-proxy`)。
--stsPort <int>提供安全令牌服务 (STS) 的 HTTP 端口。如果为零,则不提供 STS 服务。(默认为 `0`)。
--templateFile <string>Go 模板引导配置(默认为 "")。
--tokenManagerPlugin <string>令牌提供程序特定的插件名称。(默认为 "")。
--vklog <Level>日志级别详细程度的数字。类似 -v 标记。例如:--vklog=9(默认为 `0`)。

pilot-agent request

向 Envoy 管理 API 发出 HTTP 请求。

pilot-agent request <method> <path> [<body>] [flags]
标志描述
--debug-port <int32>设置要发出本地请求的端口。默认值指向 Envoy 管理 API。(默认为 `15000`)。
--log_as_json是否以 JSON 格式或纯控制台友好格式输出
--log_caller <string>要包含调用者信息的范围的逗号分隔列表,范围可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的任意一个(默认值为空)
--log_output_level <string>

以 <scope>:<level>,<scope>:<level>,... 的形式指定每个作用域的最小日志级别,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 "")。
--log_stacktrace_level <string>以 <scope>:<level>,<scope:level>,... 的形式指定每个作用域的最小日志级别,在此级别上捕获堆栈跟踪,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 `default:none`)。
--log_target <stringArray>输出日志的路径集合。可以是任意路径,以及特殊值 stdout 和 stderr(默认为 `[stdout]`)。
--vklog <Level>日志级别详细程度的数字。类似 -v 标记。例如:--vklog=9(默认为 `0`)。

pilot-agent version

打印构建版本信息。

pilot-agent version [flags]
标志简写描述
--log_as_json是否以 JSON 格式或纯控制台友好格式输出
--log_caller <string>要包含调用者信息的范围的逗号分隔列表,范围可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的任意一个(默认值为空)
--log_output_level <string>

以 <scope>:<level>,<scope>:<level>,... 的形式指定每个作用域的最小日志级别,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 "")。
--log_stacktrace_level <string>以 <scope>:<level>,<scope:level>,... 的形式指定每个作用域的最小日志级别,在此级别上捕获堆栈跟踪,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 `default:none`)。
--log_target <stringArray>输出日志的路径集合。可以是任意路径,以及特殊值 stdout 和 stderr(默认为 `[stdout]`)。
--output <string>-o'yaml' 或 'json' 之一。(默认为 "")。
--short-s使用 --short=false 生成完整的版本信息。
--vklog <Level>日志级别详细程度的数字。类似 -v 标记。例如:--vklog=9(默认为 `0`)。

pilot-agent wait

等待 Envoy 代理准备就绪。

pilot-agent wait [flags]
标志描述
--log_as_json是否以 JSON 格式或纯控制台友好格式输出
--log_caller <string>要包含调用者信息的范围的逗号分隔列表,范围可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的任意一个(默认值为空)
--log_output_level <string>

以 <scope>:<level>,<scope>:<level>,... 的形式指定每个作用域的最小日志级别,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 "")。
--log_stacktrace_level <string>以 <scope>:<level>,<scope:level>,... 的形式指定每个作用域的最小日志级别,在此级别上捕获堆栈跟踪,其中 scope 可以是 [ads, all, ca, cache, citadelclient, default, dns, gcecred, grpc, healthcheck, iptables, klog, mockcred, monitoring, sds, security, spiffe, validation, wasm, xdsproxy] 中的一个,level 可以是 [debug, info, warn, error, fatal, none] 中的一个(默认为 `default:none`)。
--log_target <stringArray>输出日志的路径集合。可以是任意路径,以及特殊值 stdout 和 stderr(默认为 `[stdout]`)。
--periodMillis <int>两次尝试之间等待的毫秒数(默认为 `500`)。
--requestTimeoutMillis <int>等待响应的毫秒数(默认为 `500`)。
--timeoutSeconds <int>等待 Envoy 准备就绪的最大秒数(默认为 `60`)。
--url <string>在请求中使用的 URL(默认为 `https://127.0.0.1:15021/healthz/ready`)。
--vklog <Level>日志级别详细程度的数字。类似 -v 标记。例如:--vklog=9(默认为 `0`)。

环境变量

这些环境变量会影响 pilot-agent 命令的行为。
变量名称类型默认值描述
AMBIENT_ENABLE_STATUS布尔值false如果启用,则环境模式的状态消息将写入资源。目前,这不会进行领导者选举,因此在启用多个副本时可能不安全。
BYPASS_OVERLOAD_MANAGER_FOR_STATIC_LISTENERS布尔值true如果启用,则不会将过载管理器应用于静态侦听器。
CA_ADDR字符串SPIFFE 证书提供程序的地址。默认为 discoveryAddress。
CA_PROVIDER字符串Citadel身份验证提供程序的名称。
CA_ROOT_CA字符串显式设置对 CA 连接的预期根 CA。
CA_TRUSTED_NODE_ACCOUNTS字符串如果设置,则允许使用节点身份验证为 CSR 创建的的服务帐户列表。节点身份验证允许一个身份代表其他身份创建 CSR,但前提是在同一节点上运行具有该身份的 Pod。这旨在与节点代理一起使用。
CERT_SIGNER_DOMAIN字符串证书签名者域名信息。
CLOUD_PLATFORM字符串代理运行的云平台,如果未指定,Istio 将尝试发现平台。有效的平台值为 aws、azure、gcp、none。
CLUSTER_ID字符串Kubernetes定义此 Istiod 实例所属的集群和服务注册表。
COMPLIANCE_POLICY字符串如果设置,则对所有现有的 TLS 设置应用特定于策略的限制,包括网内 mTLS 和外部 TLS。有效值为:* '' 或未设置不会添加其他限制。* 'fips-140-2' 强制执行 TLS 协议的版本和密码套件的子集,覆盖所有运行时组件(包括 Envoy、gRPC Go SDK 和 gRPC C++ SDK)的任何用户首选项或默认值。警告:在控制平面中设置合规性策略是实现合规性的必要条件,但不是充分条件。还需要其他步骤才能声明合规性,包括使用经过验证的加密模块(请参阅 https://envoy.k8s.ac.cn/docs/envoy/latest/intro/arch_overview/security/ssl#fips-140-2)。
CREDENTIAL_FETCHER_TYPE字符串JWT凭据提取器的类型。当前支持的类型包括 GoogleComputeEngine。
CREDENTIAL_IDENTITY_PROVIDER字符串GoogleComputeEngine凭据的身份提供程序。当前默认支持的身份提供程序是 GoogleComputeEngine。
DISABLE_ENVOY布尔值false禁用所有 Envoy 代理功能。
DNS_FORWARD_PARALLEL布尔值false如果设置为 true,代理将向所有上游名称服务器发送并行的 DNS 查询。
DNS_PROXY_ADDR字符串localhost:15053DNS 代理的自定义地址。如果以 :53 结尾并以 root 身份运行,则允许在没有 iptable DNS 捕获的情况下运行。
DRY_RUN_FILE_PATH字符串如果提供,StdoutStubDependencies 将把来自 stdin 的输入写入给定的文件。
ECC_CURVE字符串P256当 ECC_SIGNATURE_ALGORITHM 设置为 ECDSA 时使用的椭圆曲线。
ECC_SIGNATURE_ALGORITHM字符串生成私钥时使用的 ECC 签名算法的类型。
ENABLE_100_CONTINUE_HEADERS布尔值true如果启用,istiod 将按原样代理 100-continue 标头。
ENABLE_AUTO_SNI布尔值true如果启用,则在 `DestinationRules` 未指定相同内容时自动设置 SNI。
ENABLE_CA_SERVER布尔值true如果将其设置为 false,则不会在 istiod 中创建 CA 服务器。
ENABLE_DEBUG_ON_HTTP布尔值true如果将其设置为 false,则不会启用调试接口,建议用于生产环境。
ENABLE_DEFERRED_CLUSTER_CREATION布尔值true如果启用,Istio 将仅在有请求时创建集群。这将在存在大量非活动集群且工作线程数 > 1 的情况下节省内存和 CPU 周期。

ENABLE_DEFERRED_STATS_CREATION布尔值true如果启用,Istio 将延迟初始化一部分统计信息。
ENABLE_DELIMITED_STATS_TAG_REGEX布尔值true如果为真,Pilot 将使用新的分隔符统计标签正则表达式来生成 Envoy 统计标签。
ENABLE_ENHANCED_DESTINATIONRULE_MERGE布尔值true如果启用,Istio 会考虑 DestinationRule 的 exportTo 字段来合并规则,如果 exportTo 不相等,则将其保留为独立规则。
ENABLE_ENHANCED_RESOURCE_SCOPING布尔值true如果启用,meshConfig.discoverySelectors 将限制 Pilot 可以处理的自定义资源配置(例如 Gateway、VirtualService、DestinationRule、Ingress 等)。这也会限制根 CA 证书的分发。
ENABLE_HCM_INTERNAL_NETWORKS布尔值false如果启用,在网格网络中定义的端点将在 HTTP 连接管理器中配置为内部地址。
ENABLE_INBOUND_RETRY_POLICY布尔值true如果为真,则启用入站路由的重试策略,该策略会自动重试在到达服务之前重置的请求。
ENABLE_INGRESS_WAYPOINT_ROUTING布尔值false如果为真,如果服务上设置了“istio.io/ingress-use-waypoint”标签,则网关将调用服务途径点。
ENABLE_LEADER_ELECTION布尔值true如果启用(默认),则启动领导者选举客户端并在执行控制器之前获得领导权。如果为假,则假定仅运行一个 Istiod 实例,并跳过领导者选举。
ENABLE_LOCALITY_WEIGHTED_LB_CONFIG布尔值false如果启用,则始终为集群设置 LocalityWeightedLbConfig,否则仅在 DestinationRule 为服务指定了区域负载均衡时应用它。
ENABLE_MCS_AUTO_EXPORT布尔值false如果启用,Istiod 将为网格中的每个服务自动生成 Kubernetes 多集群服务 (MCS) ServiceExport 资源。MeshConfig 中定义为集群本地服务的除外。
ENABLE_MCS_CLUSTER_LOCAL布尔值false如果启用,Istiod 将按照 Kubernetes 多集群服务 (MCS) 规范处理主机`..svc.cluster.local`。在此模式下,到`cluster.local`的请求将仅路由到与客户端位于同一集群中的那些端点。需要同时启用 ENABLE_MCS_SERVICE_DISCOVERY 和 ENABLE_MCS_HOST。
ENABLE_MCS_HOST布尔值false如果启用,Istiod 将为每个导出的服务(通过 ServiceExport)在至少一个集群中配置 Kubernetes 多集群服务 (MCS) 主机(`..svc.clusterset.local`)。但是,客户端必须能够成功查找这些 DNS 主机。这意味着必须启用 Istio DNS 拦截或使用 MCS 控制器。需要启用 ENABLE_MCS_SERVICE_DISCOVERY。
ENABLE_MCS_SERVICE_DISCOVERY布尔值false如果启用,Istiod 将启用 Kubernetes 多集群服务 (MCS) 服务发现模式。在此模式下,集群中的服务端点仅在同一集群内可发现,除非通过 ServiceExport 显式导出。
ENABLE_MULTICLUSTER_HEADLESS布尔值true如果为真,则无头服务的 DNS 名称表将解析为任何集群中的同一网络端点。
ENABLE_NATIVE_SIDECARS布尔值false如果设置,则使用 Kubernetes 原生 Sidecar 容器支持。需要 SidecarContainer 功能标志。
ENABLE_PROBE_KEEPALIVE_CONNECTIONS布尔值false如果启用,就绪探测将保持 pilot-agent 与应用程序的连接处于活动状态。这反映了旧版 Istio 的行为,但不是 kubelet 的行为。
ENABLE_RESOLUTION_NONE_TARGET_PORT布尔值true如果启用,则 targetPort 将支持 resolution=NONE ServiceEntry。
ENABLE_SELECTOR_BASED_K8S_GATEWAY_POLICY布尔值true如果禁用,Gateway API 网关将忽略 workloadSelector 策略,仅应用使用 targetRef 选择网关的策略。
ENABLE_TLS_ON_SIDECAR_INGRESS布尔值false如果启用,Sidecar.ingress 上的 TLS 配置将生效。
ENABLE_VTPROTOBUF布尔值true如果为真,将使用基于 vtprotobuf 的优化编组。需要使用 -tags=vtprotobuf 进行构建。
ENVOY_PROMETHEUS_PORT整数15090Envoy Prometheus 重定向端口值。
ENVOY_STATUS_PORT整数15021Envoy 健康状态端口值。
ENVOY_USER字符串istio-proxyEnvoy 代理用户名。
EXCLUDE_UNSAFE_503_FROM_DEFAULT_RETRY布尔值true如果为真,则从默认重试策略中排除 503 上的不安全重试。
EXIT_ON_ZERO_ACTIVE_CONNECTIONS布尔值false设置为 true 时,在排空期间活动连接数变为零时终止代理。
EXTERNAL_ISTIOD布尔值false如果将其设置为 true,则一个 Istiod 将控制远程集群,包括 CA。
FILE_DEBOUNCE_DURATION时间持续时间100ms检测到文件更新后延迟文件读取操作的持续时间。
FILE_MOUNTED_CERTS布尔值false
GCP_METADATA字符串用管道分隔的 GCP 元数据,格式为 PROJECT_ID|PROJECT_NUMBER|CLUSTER_NAME|CLUSTER_ZONE。
GCP_QUOTA_PROJECT字符串允许指定一个配额项目,用于对 GCP API 的请求。
GRPC_KEEPALIVE_INTERVAL时间持续时间30sgRPC 保持活动间隔。
GRPC_KEEPALIVE_TIMEOUT时间持续时间10sgRPC 保持活动超时。
GRPC_XDS_BOOTSTRAP字符串etc/istio/proxy/grpc-bootstrap.jsongRPC 预期读取引导文件的路径。如果设置,代理将生成一个。
HTTP_STRIP_FRAGMENT_FROM_PATH_UNSAFE_IF_DISABLED布尔值true
INBOUND_INTERCEPTION_MODE字符串用于将入站连接重定向到 Envoy 的模式,“REDIRECT”或“TPROXY”。
INBOUND_TPROXY_MARK字符串
INJECTION_WEBHOOK_CONFIG_NAME字符串istio-sidecar-injector要修补的 mutatingwebhookconfiguration 的名称,如果不使用 istioctl。
INSTANCE_IP字符串
IPTABLES_TRACE_LOGGING布尔值false启用时,所有 iptables 操作都将记录。这需要 NET_ADMIN 权限并且具有嘈杂的日志;因此,这仅用于调试。
ISTIOD_CUSTOM_HOST字符串Istiod 签名服务器证书的自定义主机名。支持多个自定义主机名,多个值用逗号分隔。
ISTIOD_SAN字符串覆盖用于验证 Istiod 证书的 ServerName。可以用作设置 /etc/hosts 的替代方案(用于虚拟机) - 发现地址将是 IP:端口。
ISTIO_AGENT_ENABLE_WASM_REMOTE_LOAD_CONVERSION布尔值true如果启用,Istio 代理将拦截 ECDS 资源更新,下载 Wasm 模块,并将 Wasm 模块远程加载替换为下载的本地模块文件。
ISTIO_BOOTSTRAP字符串
ISTIO_BOOTSTRAP_OVERRIDE字符串
ISTIO_CPU_LIMIT整数0当前进程的 CPU 限制。表示为整数,向上取整。
ISTIO_DELTA_XDS布尔值true如果启用,Pilot 将仅发送增量配置,而不是在资源请求上发送世界状态。此功能使用增量 xds api,但目前不发送实际的增量。
ISTIO_DUAL_STACK布尔值false如果为真,Istio 将启用双栈功能。
ISTIO_ENABLE_CONTROLLER_QUEUE_METRICS布尔值false如果启用,则发布队列深度、延迟和处理时间的指标。
ISTIO_ENABLE_HTTP2_PROBING布尔值true如果启用,则将为 HTTPS 探测启用 HTTP2 探测,遵循 Kubernetes。
ISTIO_ENABLE_IPV4_OUTBOUND_LISTENER_FOR_IPV6_CLUSTERS布尔值false如果为真,Pilot 将为 IPv6 仅集群(例如 AWS EKS IPv6 仅集群)中的出站流量配置一个额外的 IPv4 侦听器。
ISTIO_ENVOY_ENABLE_CORE_DUMP布尔值false
ISTIO_GPRC_MAXRECVMSGSIZE整数4194304设置 gRPC 流的最大接收缓冲区大小(以字节为单位)。
ISTIO_GPRC_MAXSTREAMS整数100000设置并发 gRPC 流的最大数量。
ISTIO_KUBE_APP_PROBERS字符串
ISTIO_KUBE_CLIENT_CONTENT_TYPE字符串protobuf用于 Kubernetes 客户端的内容类型。默认为 protobuf。有效选项:[protobuf、json]。
ISTIO_META_CERT_SIGNER字符串工作负载证书的证书签名者信息。
ISTIO_META_CLUSTER_ID字符串
ISTIO_META_DNS_CAPTURE布尔值false如果设置为 true,则启用捕获端口 53 上的传出 DNS 数据包,将其重定向到 istio-agent 上的 :15053。
ISTIO_META_ENABLE_DNS_SERVER布尔值false如果设置为 true,则在 :15053 上启动 DNS 服务器。这不会自动捕获 DNS 流量,并且可以在我们希望网关使用此作为解析器来解决诸如动态转发代理之类的用例时使用。
ISTIO_MULTIROOT_MESH布尔值false如果启用,则网格将支持由多个信任锚为 ISTIO_MUTUAL mTLS 签名的证书。
ISTIO_OUTBOUND_IPV4_LOOPBACK_CIDR字符串127.0.0.1/32用于识别环回接口上打算用于应用程序容器的出站流量的 IPv4 CIDR 范围。
ISTIO_OUTBOUND_OWNER_GROUPS字符串*其出站流量需要重定向到 Envoy 的组的逗号分隔列表。可以通过名称或数字 GID 指定组。通配符字符“*”可用于配置来自所有组的流量的重定向。
ISTIO_OUTBOUND_OWNER_GROUPS_EXCLUDE字符串其出站流量需要从重定向到 Envoy 中排除的组的逗号分隔列表。可以通过名称或数字 GID 指定组。仅当来自所有组(即“*”)的流量被重定向到 Envoy 时才适用。
ISTIO_PROMETHEUS_ANNOTATIONS字符串
ISTIO_WATCH_NAMESPACE字符串如果设置,则将 Kubernetes 监视限制到单个命名空间。警告:只能设置一个命名空间。
ISTIO_WORKLOAD_ENTRY_VALIDATE_IDENTITY布尔值true如果启用,将验证工作负载的身份是否与其关联的工作负载条目的身份匹配,以进行健康检查和自动注册。此标志仅为了向后兼容性而添加,将在将来的版本中删除。
JWKS_RESOLVER_INSECURE_SKIP_VERIFY布尔值false如果启用,Istiod 将跳过验证 JWKS 服务器的证书。
JWT_POLICY字符串third-party-jwtJWT 验证策略。
KUBERNETES_SERVICE_HOST字符串Kubernetes 服务主机,在集群内运行时自动设置。
LABEL_CANONICAL_SERVICES_FOR_MESH_EXTERNAL_SERVICE_ENTRIES布尔值false如果启用,则表示位置为 mesh_external 的 ServiceEntry 资源的规范服务的元数据将填充在这些端点的集群元数据中。
LOCAL_CLUSTER_SECRET_WATCHER布尔值false如果启用,集群密钥观察者将监视外部集群的命名空间,而不是配置集群。
MCS_API_GROUP字符串multicluster.x-k8s.io要用于 Kubernetes 多集群服务 (MCS) API 的组。
MCS_API_VERSION字符串v1alpha1要用于 Kubernetes 多集群服务 (MCS) API 的版本。
METRICS_LOCALHOST_ACCESS_ONLY布尔值false这将禁用来自 Pod 外部的指标端点,仅允许 localhost 访问。
METRIC_GRACEFUL_DELETION_INTERVAL时间持续时间5m0s指标过期优雅删除间隔。如果禁用 METRIC_ROTATION_INTERVAL,则不执行任何操作。
METRIC_ROTATION_INTERVAL时间持续时间0s指标范围旋转间隔,设置为 0 以禁用指标范围旋转。
MINIMUM_DRAIN_DURATION时间持续时间5s代理在检查活动连接并终止代理(当活动连接数变为零时)之前等待的最短持续时间。
MUTEX_PROFILE_FRACTION整数1000如果设置为非零值,则启用互斥体分析,速率为 1/MUTEX_PROFILE_FRACTION 事件。例如,“1000”将记录 0.1% 的事件。设置为 0 以完全禁用。
OUTPUT_CERTS字符串密钥和证书的输出目录。如果为空,则不会保存密钥和证书。必须为使用预配证书的虚拟机设置。
PEER_METADATA_DISCOVERY布尔值false如果设置为 true,则在 Envoy 中启用对等元数据发现扩展。
PILOT_ALLOW_SIDECAR_SERVICE_INBOUND_LISTENER_MERGE布尔值false如果设置,则允许为服务端口和 Sidecar 入站侦听器创建入站侦听器。
PILOT_ANALYSIS_INTERVAL时间持续时间10s如果启用了分析,Pilot 将使用此值(以秒为单位)作为 Istio 资源的分析器运行间隔。
PILOT_AUTO_ALLOW_WAYPOINT_POLICY布尔值false如果启用,zTunnel 将为每个工作负载接收合成授权策略,允许途径点身份。除非创建其他允许策略,否则这实际上会拒绝不通过途径点的流量。
PILOT_CERT_PROVIDER字符串istiodPilot DNS 证书的提供者。K8S RA 将用于 k8s.io/NAME。'istiod' 值将使用 Istio 内置 CA 进行签名。其他值不会生成 TLS 证书,但仍会分发 ./etc/certs/root-cert.pem。仅在未安装自定义证书时使用。
PILOT_CONVERT_SIDECAR_SCOPE_CONCURRENCY整数1用于调整 SidecarScope 转换的并发性。当 Istiod 部署在多核 CPU 服务器上时,增加此值将有助于使用 CPU 加速配置推送,但这也意味着 Istiod 将消耗更多 CPU 资源。
PILOT_DEBOUNCE_AFTER时间持续时间100ms添加到配置/注册表事件以进行去抖动的延迟。这将至少延迟推送此间隔。如果在此期间未检测到更改,则将发生推送,否则我们将继续延迟,直到情况稳定,最多 PILOT_DEBOUNCE_MAX。
PILOT_DEBOUNCE_MAX时间持续时间10s在去抖动时等待事件的最长时间。如果事件在此时间内持续出现而没有间断,我们将触发推送。
PILOT_DISABLE_MX_ALPN布尔值false如果为真,Pilot 将不会将 istio-peer-exchange ALPN 放入 TLS 握手配置中。
PILOT_DRAINING_LABEL字符串istio.io/draining

如果非空,则带有该标签值的端点将以 DRAINING 状态发送。
PILOT_ENABLE_ALPHA_GATEWAY_API布尔值false如果将其设置为 true,则将启用对 Kubernetes gateway-api(github.com/kubernetes-sigs/gateway-api)中 alpha API 的支持。除了启用此功能外,还需要安装 gateway-api CRD。
PILOT_ENABLE_ALPN_FILTER布尔值true如果为 true,pilot 将添加 Istio ALPN 过滤器,这是正确协议嗅探所必需的。
PILOT_ENABLE_AMBIENT布尔值false如果启用,则可以使用环境模式。各个标志配置细粒度的启用;任何环境功能都必须启用此功能。
PILOT_ENABLE_AMBIENT_WAYPOINTS布尔值false如果启用,则环境所需的控制器将运行。这是运行环境网格所必需的。
PILOT_ENABLE_ANALYSIS布尔值false如果启用,pilot 将运行 istio 分析器并将分析错误写入任何 Istio 资源的状态字段。
PILOT_ENABLE_CDS_CACHE布尔值true如果为 true,Pilot 将缓存 CDS 响应。注意:这取决于 PILOT_ENABLE_XDS_CACHE。
PILOT_ENABLE_CROSS_CLUSTER_WORKLOAD_ENTRY布尔值true如果启用,pilot 将读取其他集群中的 WorkloadEntry,这些集群可由该集群中的服务选择。
PILOT_ENABLE_EDS_DEBOUNCE布尔值true如果启用,Pilot 将在由 PILOT_DEBOUNCE_AFTER 和 PILOT_DEBOUNCE_MAX 配置的推送去抖动中包含 EDS 推送。EDS 推送可能会延迟,但推送次数会减少。默认情况下,此功能已启用。
PILOT_ENABLE_EDS_FOR_HEADLESS_SERVICES布尔值false如果启用,对于 Kubernetes 中的无头服务,pilot 将通过 EDS 发送端点,允许 sidecar 在无头服务中的 pod 之间进行负载均衡。如果应用程序通过 sidecar 中的 HTTP 代理端口显式访问所有服务,则应启用此功能。
PILOT_ENABLE_GATEWAY_API布尔值true如果将其设置为 true,则将启用对 Kubernetes gateway-api(github.com/kubernetes-sigs/gateway-api)的支持。除了启用此功能外,还需要安装 gateway-api CRD。
PILOT_ENABLE_GATEWAY_API_DEPLOYMENT_CONTROLLER布尔值true如果将其设置为 true,gateway-api 资源将自动在集群中配置部署、服务等。
PILOT_ENABLE_GATEWAY_API_GATEWAYCLASS_CONTROLLER布尔值true如果将其设置为 true,istiod 将创建和管理其默认的 GatewayClass。
PILOT_ENABLE_GATEWAY_API_STATUS布尔值true如果将其设置为 true,gateway-api 资源将写入其状态。
PILOT_ENABLE_IP_AUTOALLOCATE布尔值false如果启用,pilot 将启动一个控制器,为没有用户提供的 IP 的 ServiceEntry 分配 IP 地址。这与 DNS 捕获结合使用,允许对发送到 ServiceEntry 的流量进行 tcp 路由。
PILOT_ENABLE_K8S_SELECT_WORKLOAD_ENTRIES布尔值true如果启用,具有选择器的 Kubernetes 服务将选择具有匹配标签的负载项。如果您非常确定不需要此功能,则可以安全地禁用它。
PILOT_ENABLE_METADATA_EXCHANGE布尔值true如果为 true,pilot 将添加元数据交换过滤器,这些过滤器将被遥测过滤器使用。
PILOT_ENABLE_MONGO_FILTER布尔值trueEnableMongoFilter 启用在过滤器链中注入 `envoy.filters.network.mongo_proxy`。
PILOT_ENABLE_MYSQL_FILTER布尔值falseEnableMysqlFilter 启用在过滤器链中注入 `envoy.filters.network.mysql_proxy`。
PILOT_ENABLE_NODE_UNTAINT_CONTROLLERS布尔值false如果启用,则将运行取消标记具有 cni pod 就绪的节点的控制器。如果您禁用了环境 init 容器,则应启用此功能。
PILOT_ENABLE_PERSISTENT_SESSION_FILTER布尔值false如果启用,Istiod 将为侦听器设置持久会话过滤器,如果服务设置了 'PILOT_PERSISTENT_SESSION_LABEL'。
PILOT_ENABLE_QUIC_LISTENERS布尔值false如果为 true,则在网关上终止 TLS 的任何侦听器存在时,都将生成 QUIC 侦听器,前提是网关服务公开了具有相同编号的 UDP 端口(例如 443/TCP 和 443/UDP)。
PILOT_ENABLE_RDS_CACHE布尔值true如果为 true,Pilot 将缓存 RDS 响应。注意:这取决于 PILOT_ENABLE_XDS_CACHE。
PILOT_ENABLE_REDIS_FILTER布尔值falseEnableRedisFilter 启用在过滤器链中注入 `envoy.filters.network.redis_proxy`。
PILOT_ENABLE_ROUTE_COLLAPSE_OPTIMIZATION布尔值true如果为 true,Pilot 将作为优化将具有相同路由的虚拟主机合并到单个虚拟主机中。
PILOT_ENABLE_SENDING_HBONE布尔值false如果启用,则在发送到目标时将允许 HBONE。
PILOT_ENABLE_SERVICEENTRY_SELECT_PODS布尔值true如果启用,具有选择器的服务条目将选择集群中的 pod。如果您非常确定不需要此功能,则可以安全地禁用它。
PILOT_ENABLE_SIDECAR_LISTENING_HBONE布尔值false如果启用,可以为代理配置 HBONE 支持。
PILOT_ENABLE_TELEMETRY_LABEL布尔值true如果为 true,pilot 将向集群和端点资源添加与遥测相关的元数据,这些元数据将被遥测过滤器使用。
PILOT_ENABLE_WORKLOAD_ENTRY_AUTOREGISTRATION布尔值true基于工作负载连接时关联的工作负载组,启用自动注册 WorkloadEntries。
PILOT_ENABLE_WORKLOAD_ENTRY_HEALTHCHECKS布尔值true根据关联的工作负载组中提供的配置,启用 WorkloadEntries 的自动健康检查。
PILOT_ENABLE_XDS_CACHE布尔值true如果为 true,Pilot 将缓存 XDS 响应。
PILOT_ENABLE_XDS_IDENTITY_CHECK布尔值true如果启用,pilot 将授权 XDS 客户端,以确保它们仅作为其拥有权限的命名空间运行。
PILOT_ENDPOINT_TELEMETRY_LABEL布尔值true如果为 true,pilot 将向 Endpoint 资源添加与遥测相关的元数据,这些元数据将被遥测过滤器使用。
PILOT_ENVOY_FILTER_STATS布尔值false如果为 true,Pilot 将收集 envoy 过滤器操作的指标。
PILOT_FILTER_GATEWAY_CLUSTER_CONFIG布尔值false如果启用,Pilot 将仅发送网关虚拟服务中引用的集群附加到网关。
PILOT_GATEWAY_API_CONTROLLER_NAME字符串istio.io/gateway-controller网关 API 控制器名称。istiod 仅会协调引用具有此控制器名称的 GatewayClass 的网关 API 资源。
PILOT_GATEWAY_API_DEFAULT_GATEWAYCLASS_NAME字符串istio默认 GatewayClass 的名称。
PILOT_HTTP10布尔值false启用在出站 HTTP 侦听器中使用 HTTP 1.0,以支持旧版应用程序。
PILOT_INSECURE_MULTICLUSTER_KUBECONFIG_OPTIONS字符串允许用于多集群身份验证的潜在不安全 kubeconfig 身份验证选项的逗号分隔列表。支持的值:所有 authProviders(`gcp`、`azure`、`exec`、`openstack`)、`clientKey`、`clientCertificate`、`tokenFile` 和 `exec`。
PILOT_JWT_ENABLE_REMOTE_JWKS字符串false从 RequestAuthentication 中的 JwksUri 获取 JWKs 的模式。支持的值:istiod、false、hybrid、true、envoy。获取 JWKs 的客户端如下:istiod/false - Istiod;hybrid/true - Envoy,如果 JWKs 服务器是外部的,则回退到 Istiod;envoy - Envoy。
PILOT_JWT_PUB_KEY_REFRESH_INTERVAL时间持续时间20m0sistiod 获取 jwks 公钥的 jwks_uri 的间隔。
PILOT_MAX_REQUESTS_PER_SECOND浮点数0限制每秒传入的 XDS 请求数。在较大的机器上,可以增加此值以同时处理更多代理。如果设置为 0 或未设置,则最大值将根据机器大小自动确定。
PILOT_MULTI_NETWORK_DISCOVER_GATEWAY_API布尔值true如果为 true,Pilot 将发现标记的 Kubernetes 网关对象作为多网络网关。
PILOT_PERSISTENT_SESSION_HEADER_LABEL字符串istio.io/persistent-session-header如果非空,则具有此标签的服务将使用基于标头的持久会话。
PILOT_PERSISTENT_SESSION_LABEL字符串istio.io/persistent-session如果非空,则具有此标签的服务将使用基于 cookie 的持久会话。
PILOT_PREFER_SENDING_HBONE布尔值false如果启用,则在发送到目标时将优先使用 HBONE。
PILOT_PUSH_THROTTLE整数0限制允许的并发推送数量。在较大的机器上,可以增加此值以加快推送速度。如果设置为 0 或未设置,则最大值将根据机器大小自动确定。
PILOT_REMOTE_CLUSTER_TIMEOUT时间持续时间30s在此超时到期后,pilot 可以在不从通过远程机密添加的集群同步数据的情况下变为就绪状态。将超时设置为 0 将禁用此行为。
PILOT_SCOPE_GATEWAY_TO_NAMESPACE布尔值false如果启用,网关工作负载只能选择同一命名空间中的网关资源。不同命名空间中具有相同选择器的网关将不适用。
PILOT_SEND_UNHEALTHY_ENDPOINTS布尔值false如果启用,Pilot 将在 EDS 推送中包含不健康的端点,即使它们被发送,Envoy 也不会将它们用于负载均衡。为了避免将流量发送到非就绪端点,启用此标志将禁用 Envoy 中的恐慌阈值,即即使健康主机百分比低于最小健康百分比(恐慌阈值),Envoy 也不会将请求负载均衡到不健康/非就绪主机。
PILOT_SIDECAR_USE_REMOTE_ADDRESS布尔值falseUseRemoteAddress 将 sidecar 出站侦听器的 useRemoteAddress 设置为 true。
PILOT_SKIP_VALIDATE_TRUST_DOMAIN布尔值false在身份验证策略中启用 mTLS 时,跳过验证对等方是否来自同一信任域。
PILOT_STATUS_BURST整数500如果启用了状态,则控制将更新状态的突发速率。请参阅 https://godoc.org/k8s.io/client-go/rest#Config Burst。
PILOT_STATUS_MAX_WORKERS整数100Pilot 将用于保持配置状态更新的最大工作程序数。较小的数字会导致较高的状态延迟,但较大的数字可能会影响大规模环境中的 CPU。
PILOT_STATUS_QPS整数100如果启用了状态,则控制将更新状态的 QPS。请参阅 https://godoc.org/k8s.io/client-go/rest#Config QPS。
PILOT_STATUS_UPDATE_INTERVAL时间持续时间500ms更新 XDS 分发状态的间隔。
PILOT_TRACE_SAMPLING浮点数1设置网格范围内的跟踪采样百分比。应为 0.0 - 100.0。精度为 0.01。默认为 1.0。
PILOT_UNIFIED_SIDECAR_SCOPE布尔值true如果为 true,将使用统一的 SidecarScope 创建。这仅作为向后兼容的临时功能标志。
PILOT_WORKLOAD_ENTRY_GRACE_PERIOD时间持续时间10s自动注册的工作负载可以在与所有 Pilot 实例断开连接之前保持断开连接的时间,然后清理关联的 WorkloadEntry。
PILOT_XDS_CACHE_INDEX_CLEAR_INTERVAL时间持续时间5sxds 缓存索引清除的间隔。
PILOT_XDS_CACHE_SIZE整数60000XDS 缓存的最大缓存条目数。
PILOT_XDS_CACHE_STATS布尔值false如果为 true,Pilot 将收集 XDS 缓存效率的指标。
PKCS8_KEY布尔值false是否生成 PKCS#8 私钥。
POD_NAME字符串
POD_NAMESPACE字符串
PREFER_DESTINATIONRULE_TLS_FOR_EXTERNAL_SERVICES布尔值true如果为 true,外部服务将优先使用 DestinationRules 中的 TLS 设置而不是元数据 TLS 设置。
PROV_CERT字符串设置为包含预配证书的目录,用于虚拟机。
PROXY_CONFIG字符串代理配置。这将由注入设置 - 网关将使用文件挂载。
PROXY_CONFIG_XDS_AGENT布尔值false如果设置为 true,代理将通过 xds 通道检索动态代理配置更新。
PROXY_XDS_DEBUG_VIA_AGENT布尔值true如果设置为 true,代理将在 tap 端口上侦听并在那里提供 pilot 的 XDS istio.io/debug 调试 API。
PROXY_XDS_DEBUG_VIA_AGENT_PORT

整数15004代理调试端口。
RESOLVE_HOSTNAME_GATEWAYS布尔值true如果为真,服务负载均衡器地址中的主机名将在控制平面解析,用于跨网络网关。
REWRITE_PROBE_LEGACY_LOCALHOST_DESTINATION布尔值false如果启用,就绪探测将发送到“localhost”。否则,它们将发送到 Pod 的 IP,与 Kubernetes 的行为匹配。
SECRET_GRACE_PERIOD_RATIO浮点数0.5证书轮换的宽限期比率,默认为 0.5。
SECRET_GRACE_PERIOD_RATIO_JITTER浮点数0.01将宽限期比率随机向上或向下调整此数量,以交错证书续订,默认为 .01(24 小时内约 15 分钟)。
SECRET_TTL时间持续时间24h0m0sIstio 代理请求的证书生命周期。
SERVICE_ACCOUNT字符串服务帐户名称。
SHARED_MESH_CONFIG字符串要加载的其他 ConfigMap,用于共享 MeshConfig 设置。标准网格配置将优先。
TOKEN_AUDIENCES字符串istio-ca在颁发证书之前,要检查 JWT 令牌中的一系列以逗号分隔的受众。如果令牌与其中一个受众匹配,则接受该令牌。
TRUSTED_GATEWAY_CIDR字符串如果设置,来自网关到 Istiod 的具有此 CIDR 范围的任何连接都将被视为可信,用于使用 XFCC 等身份验证机制。仅当 Istiod 和身份验证网关所在的网络处于可信/安全网络中时,才能使用此选项。
TRUST_DOMAIN字符串cluster.localSPIFFE 证书的信任域。
UNSAFE_ENABLE_ADMIN_ENDPOINTS布尔值false如果将其设置为 true,则将在调试接口上公开危险的管理端点。不建议在生产环境中使用。
UNSAFE_PILOT_ENABLE_DELTA_TEST布尔值false如果启用,则会添加用于 Delta XDS 效率的附加运行时测试。这些检查非常昂贵,因此应仅用于测试,而不是生产环境。
UNSAFE_PILOT_ENABLE_RUNTIME_ASSERTIONS布尔值false如果启用,则会执行附加运行时断言。这些检查既昂贵,又会在失败时引发 panic。因此,应仅用于测试。
USE_CACERTS_FOR_SELF_SIGNED_CA布尔值false如果启用,Istiod 将使用名为 cacerts 的密钥存储其自签名 Istio 生成的根证书。
VALIDATION_WEBHOOK_CONFIG_NAME字符串istio-istio-system如果非空,则控制器将在 CA 证书更改时自动修补 validatingwebhookconfiguration。仅在 Kubernetes 环境中有效。
WASM_HTTP_REQUEST_MAX_RETRIES整数5通过 http/https 拉取 Wasm 模块时 HTTP/HTTPS 请求的最大重试次数。
WASM_HTTP_REQUEST_TIMEOUT时间持续时间15s通过 http/https 拉取 Wasm 模块时每个 HTTP 请求的超时时间。
WASM_INSECURE_REGISTRIES字符串允许代理从不安全的注册表或 https 服务器拉取 wasm 插件,例如:'localhost:5000,docker-registry:5000'
WASM_MODULE_EXPIRY时间持续时间24h0m0sWasm 模块的缓存过期时间。
WASM_PURGE_INTERVAL时间持续时间1h0m0s检查 Wasm 模块过期时间之间的间隔。
WORKLOAD_IDENTITY_SOCKET_FILE字符串socketSPIRE 工作负载身份 SDS 套接字文件名。如果设置,则必须在 ./var/run/secrets/workload-spiffe-uds 中存在具有此名称的 SDS 套接字。
WORKLOAD_RSA_KEY_SIZE整数2048指定用于工作负载证书的 RSA 密钥大小。
XDS_AUTH布尔值true如果为真,将对 XDS 客户端进行身份验证。
XDS_AUTH_PLAINTEXT布尔值false对明文请求进行身份验证 - 如果 Istiod 运行在安全/可信网络中,则使用此选项。
XDS_AUTH_PROVIDER字符串XDS 身份验证的提供程序。
XDS_ROOT_CA字符串显式设置 XDS 连接预期的根 CA。

导出指标

指标名称类型描述
cert_expiry_secondsLastValue证书链过期前剩余时间(以秒为单位)。负值表示证书已过期。
dns_requests_totalSumDNS 请求总数。
dns_upstream_failures_totalSumDNS 失败总数。
dns_upstream_request_duration_secondsDistributionIstio 从上游获取 DNS 响应所花费的总时间(以秒为单位)。
dns_upstream_requests_totalSum转发到上游的 DNS 请求总数。
envoy_connection_terminationsSumEnvoy 连接错误总数。
istio_buildLastValueIstio 组件构建信息。
istiod_connection_failuresSum到 Istiod 的连接失败总数。
istiod_connection_terminationsSum到 Istiod 的连接错误总数。
num_failed_outgoing_requestsSum失败的传出请求数(例如,到令牌交换服务器、CA 等)。
num_file_secret_failures_totalSum文件密钥生成失败的次数。
num_file_watcher_failures_totalSum文件监视器无法添加监视器的次数。
num_outgoing_requestsSum传出请求总数(例如,到令牌交换服务器、CA 等)。
num_outgoing_retriesSum传出重试请求数(例如,到令牌交换服务器、CA 等)。
outgoing_latencySum传出请求(例如,到令牌交换服务器、CA 等)的延迟(以毫秒为单位)。
pilot_total_xds_internal_errorsSumPilot 中的 XDS 内部错误总数。
pilot_total_xds_rejectsSum代理拒绝的 Pilot XDS 响应总数。
pilot_worker_queue_depthLastValue控制器的队列深度。
pilot_worker_queue_durationDistribution处理一项项目所需的时间。
pilot_worker_queue_latencyDistribution处理项目之前的延迟。
pilot_xds_cds_rejectLastValuePilot 拒绝的 CDS 配置。
pilot_xds_eds_rejectLastValuePilot 拒绝的 EDS。
pilot_xds_expired_nonceSumnonce 过期的 XDS 请求总数。
pilot_xds_lds_rejectLastValuePilot 拒绝的 LDS。
pilot_xds_rds_rejectLastValuePilot 拒绝的 RDS。
pilot_xds_send_timeDistributionPilot 发送生成的配置所花费的总时间(以秒为单位)。
pilot_xds_write_timeoutSumPilot XDS 响应写入超时。
scrape_failures_totalSum抓取失败总数。
scrapes_totalSum抓取总数。
startup_duration_secondsLastValue从进程启动到标记为就绪的时间。
wasm_cache_entriesLastValueWasm 远程获取缓存条目的数量。
wasm_cache_lookup_countSumWasm 远程获取缓存查找次数。
wasm_config_conversion_countSumWasm 配置转换计数和结果的数量,包括成功、没有远程加载、编组失败、远程获取失败、缺少远程获取提示。
wasm_config_conversion_durationDistributionIstio 代理在转换 Wasm 配置中的远程加载时花费的总时间(以毫秒为单位)。
wasm_remote_fetch_countSumWasm 远程获取次数和结果的数量,包括成功、下载失败和校验和不匹配。
xds_proxy_requestsSumXds 代理请求总数。
xds_proxy_responsesSumXds 代理响应总数。
这些信息是否有用?
您是否有任何改进建议?

感谢您的反馈!