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:15053 | DNS 代理的自定义地址。如果以 :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) 规范处理主机` |
ENABLE_MCS_HOST | 布尔值 | false | 如果启用,Istiod 将为每个导出的服务(通过 ServiceExport)在至少一个集群中配置 Kubernetes 多集群服务 (MCS) 主机(` |
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 | 整数 | 15090 | Envoy Prometheus 重定向端口值。 |
ENVOY_STATUS_PORT | 整数 | 15021 | Envoy 健康状态端口值。 |
ENVOY_USER | 字符串 | istio-proxy | Envoy 代理用户名。 |
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 | 时间持续时间 | 30s | gRPC 保持活动间隔。 |
GRPC_KEEPALIVE_TIMEOUT | 时间持续时间 | 10s | gRPC 保持活动超时。 |
GRPC_XDS_BOOTSTRAP | 字符串 | etc/istio/proxy/grpc-bootstrap.json | gRPC 预期读取引导文件的路径。如果设置,代理将生成一个。 |
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-jwt | JWT 验证策略。 |
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 | 字符串 | istiod | Pilot 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 | 布尔值 | true | EnableMongoFilter 启用在过滤器链中注入 `envoy.filters.network.mongo_proxy`。 |
PILOT_ENABLE_MYSQL_FILTER | 布尔值 | false | EnableMysqlFilter 启用在过滤器链中注入 `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 | 布尔值 | false | EnableRedisFilter 启用在过滤器链中注入 `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 | 时间持续时间 | 20m0s | istiod 获取 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 | 布尔值 | false | UseRemoteAddress 将 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 | 整数 | 100 | Pilot 将用于保持配置状态更新的最大工作程序数。较小的数字会导致较高的状态延迟,但较大的数字可能会影响大规模环境中的 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 | 时间持续时间 | 5s | xds 缓存索引清除的间隔。 |
PILOT_XDS_CACHE_SIZE | 整数 | 60000 | XDS 缓存的最大缓存条目数。 |
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 | 时间持续时间 | 24h0m0s | Istio 代理请求的证书生命周期。 |
SERVICE_ACCOUNT | 字符串 |
| 服务帐户名称。 |
SHARED_MESH_CONFIG | 字符串 |
| 要加载的其他 ConfigMap,用于共享 MeshConfig 设置。标准网格配置将优先。 |
TOKEN_AUDIENCES | 字符串 | istio-ca | 在颁发证书之前,要检查 JWT 令牌中的一系列以逗号分隔的受众。如果令牌与其中一个受众匹配,则接受该令牌。 |
TRUSTED_GATEWAY_CIDR | 字符串 |
| 如果设置,来自网关到 Istiod 的具有此 CIDR 范围的任何连接都将被视为可信,用于使用 XFCC 等身份验证机制。仅当 Istiod 和身份验证网关所在的网络处于可信/安全网络中时,才能使用此选项。 |
TRUST_DOMAIN | 字符串 | cluster.local | SPIFFE 证书的信任域。 |
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 | 时间持续时间 | 24h0m0s | Wasm 模块的缓存过期时间。 |
WASM_PURGE_INTERVAL | 时间持续时间 | 1h0m0s | 检查 Wasm 模块过期时间之间的间隔。 |
WORKLOAD_IDENTITY_SOCKET_FILE | 字符串 | socket | SPIRE 工作负载身份 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_seconds | LastValue | 证书链过期前剩余时间(以秒为单位)。负值表示证书已过期。 |
dns_requests_total | Sum | DNS 请求总数。 |
dns_upstream_failures_total | Sum | DNS 失败总数。 |
dns_upstream_request_duration_seconds | Distribution | Istio 从上游获取 DNS 响应所花费的总时间(以秒为单位)。 |
dns_upstream_requests_total | Sum | 转发到上游的 DNS 请求总数。 |
envoy_connection_terminations | Sum | Envoy 连接错误总数。 |
istio_build | LastValue | Istio 组件构建信息。 |
istiod_connection_failures | Sum | 到 Istiod 的连接失败总数。 |
istiod_connection_terminations | Sum | 到 Istiod 的连接错误总数。 |
num_failed_outgoing_requests | Sum | 失败的传出请求数(例如,到令牌交换服务器、CA 等)。 |
num_file_secret_failures_total | Sum | 文件密钥生成失败的次数。 |
num_file_watcher_failures_total | Sum | 文件监视器无法添加监视器的次数。 |
num_outgoing_requests | Sum | 传出请求总数(例如,到令牌交换服务器、CA 等)。 |
num_outgoing_retries | Sum | 传出重试请求数(例如,到令牌交换服务器、CA 等)。 |
outgoing_latency | Sum | 传出请求(例如,到令牌交换服务器、CA 等)的延迟(以毫秒为单位)。 |
pilot_total_xds_internal_errors | Sum | Pilot 中的 XDS 内部错误总数。 |
pilot_total_xds_rejects | Sum | 代理拒绝的 Pilot XDS 响应总数。 |
pilot_worker_queue_depth | LastValue | 控制器的队列深度。 |
pilot_worker_queue_duration | Distribution | 处理一项项目所需的时间。 |
pilot_worker_queue_latency | Distribution | 处理项目之前的延迟。 |
pilot_xds_cds_reject | LastValue | Pilot 拒绝的 CDS 配置。 |
pilot_xds_eds_reject | LastValue | Pilot 拒绝的 EDS。 |
pilot_xds_expired_nonce | Sum | nonce 过期的 XDS 请求总数。 |
pilot_xds_lds_reject | LastValue | Pilot 拒绝的 LDS。 |
pilot_xds_rds_reject | LastValue | Pilot 拒绝的 RDS。 |
pilot_xds_send_time | Distribution | Pilot 发送生成的配置所花费的总时间(以秒为单位)。 |
pilot_xds_write_timeout | Sum | Pilot XDS 响应写入超时。 |
scrape_failures_total | Sum | 抓取失败总数。 |
scrapes_total | Sum | 抓取总数。 |
startup_duration_seconds | LastValue | 从进程启动到标记为就绪的时间。 |
wasm_cache_entries | LastValue | Wasm 远程获取缓存条目的数量。 |
wasm_cache_lookup_count | Sum | Wasm 远程获取缓存查找次数。 |
wasm_config_conversion_count | Sum | Wasm 配置转换计数和结果的数量,包括成功、没有远程加载、编组失败、远程获取失败、缺少远程获取提示。 |
wasm_config_conversion_duration | Distribution | Istio 代理在转换 Wasm 配置中的远程加载时花费的总时间(以毫秒为单位)。 |
wasm_remote_fetch_count | Sum | Wasm 远程获取次数和结果的数量,包括成功、下载失败和校验和不匹配。 |
xds_proxy_requests | Sum | Xds 代理请求总数。 |
xds_proxy_responses | Sum | Xds 代理响应总数。 |