安装 CNI
在节点上安装和配置 Istio CNI 插件,检测并修复由竞争条件导致的故障 Pod。
install-cni [flags]
标志 | 描述 |
---|---|
--ambient-enabled | 是否启用环境控制器 |
--chained-cni-plugin | 是否将 CNI 插件安装为链式或独立式 |
--cni-agent-run-dir <string> | 节点上节点代理可写路径的位置(用于套接字等)(默认值 `/var/run/istio-cni`) |
--cni-conf-name <string> | CNI 配置文件的名称(默认值 ``) |
--cni-network-config <string> | CNI 配置模板作为字符串(默认值 ``) |
--cni-network-config-file <string> | CNI 配置模板作为文件(默认值 ``) |
--ctrlz_address <string> | 用于 ControlZ 自省功能的侦听 IP 地址。使用 '*' 表示所有地址。(默认值 `localhost`) |
--ctrlz_port <uint16> | 用于 ControlZ 自省功能的 IP 端口(默认值 `9876`) |
--kube-ca-file <string> | kubeconfig 的 CA 文件。默认为与 install-cni pod 相同(默认值 ``) |
--kubeconfig-mode <int> | kubeconfig 文件的文件模式(默认值 `384`) |
--log-level <string> | 如果在 helm 模板中未指定,则为 CNI 配置文件中日志级别的回退值(默认值 `warn`) |
--log_as_json | 是否以 JSON 格式或普通控制台友好格式输出 |
--log_caller <string> | 要包含调用者信息的范围的逗号分隔列表,范围可以是 [ads, all, cni-agent, cni-plugin, controllers, default, grpc, iptables, klog, model, monitoring, spiffe, trustBundle, validation] 中的任何一个(默认值 ``) |
--log_output_level <string> | 要输出的消息的每个范围的最小日志级别,以逗号分隔的形式表示为 <scope>:<level>,<scope>:<level>,...,其中范围可以是 [ads, all, cni-agent, cni-plugin, controllers, default, grpc, iptables, klog, model, monitoring, spiffe, trustBundle, validation] 中的一个,级别可以是 [debug, info, warn, error, fatal, none] 中的一个(默认值 ``) |
--log_stacktrace_level <string> | 捕获堆栈跟踪的每个范围的最小日志级别,以逗号分隔的形式表示为 <scope>:<level>,<scope:level>,...,其中范围可以是 [ads, all, cni-agent, cni-plugin, controllers, default, grpc, iptables, klog, model, monitoring, spiffe, trustBundle, validation] 中的一个,级别可以是 [debug, info, warn, error, fatal, none] 中的一个(默认值 `default:none`) |
--log_target <stringArray> | 输出日志的路径集。这可以是任何路径,也可以是 stdout 和 stderr 这些特殊值(默认值 `[stdout]`) |
--monitoring-port <int> | 用于提供 Prometheus 指标的 HTTP 端口(默认值 `15014`) |
--mounted-cni-net-dir <string> | 容器中安装 CNI 网络的目录(默认值 `/host/etc/cni/net.d`) |
--repair-broken-pod-label-key <string> | 如果 label pods 为 true,则由竞态修复设置的标签的关键部分(默认值 `cni.istio.io/uninitialized`) |
--repair-broken-pod-label-value <string> | 如果 label pods 为 true,则由竞态修复设置的标签的值部分(默认值 `true`) |
--repair-delete-pods | 控制器在检测到由竞态条件导致的 Pod 故障时会删除 Pod |
--repair-enabled | 是否启用竞态条件修复 |
--repair-field-selectors <string> | 将添加到 Pod 列表过滤器的一组以 label=value 格式表示的字段选择器(默认值 ``) |
--repair-init-container-exit-code <int> | 由于 CNI 配置错误而导致崩溃循环时,init 容器的预期退出代码(默认值 `126`) |
--repair-init-container-name <string> | Istio init 容器的名称(如果未为 Pod 配置 CNI,则会崩溃循环)(默认值 `istio-validation`) |
--repair-init-container-termination-message <string> | 由于 CNI 配置错误而导致崩溃循环时,init 容器的预期终止消息(默认值 ``) |
--repair-label-pods | 控制器在检测到由竞态条件导致的 Pod 故障时会标记 Pod |
--repair-label-selectors <string> | 将添加到 Pod 列表过滤器的一组以 label=value 格式表示的标签选择器(默认值 ``) |
--repair-node-name <string> | 受管节点的名称(如果未设置,将管理所有节点)(默认值 ``) |
--repair-sidecar-annotation <string> | 指示此 Pod 包含 Istio sidecar 的注释键。所有没有此注释的 Pod 将被忽略。注释的值将被忽略。(默认值 `sidecar.istio.io/status`) |
--skip-tls-verify | 是否在 kubeconfig 文件中使用不安全的 TLS |
--ztunnel-uds-address <string> | ztunnel 将连接到的 UDS 服务器地址(默认值 `/var/run/ztunnel/ztunnel.sock`) |
install-cni 完成
为指定 shell 生成 install-cni 的自动完成功能脚本。有关如何使用生成的脚本的详细信息,请参阅每个子命令的帮助信息。
标志 | 描述 |
---|---|
--ctrlz_address <string> | 用于 ControlZ 自省功能的侦听 IP 地址。使用 '*' 表示所有地址。(默认值 `localhost`) |
--ctrlz_port <uint16> | 用于 ControlZ 自省功能的 IP 端口(默认值 `9876`) |
--log_as_json | 是否以 JSON 格式或普通控制台友好格式输出 |
--log_caller <string> | 要包含调用者信息的范围的逗号分隔列表,范围可以是 [ads, all, cni-agent, cni-plugin, controllers, default, grpc, iptables, klog, model, monitoring, spiffe, trustBundle, validation] 中的任何一个(默认值 ``) |
--log_output_level <string> | 要输出的消息的每个范围的最小日志级别,以逗号分隔的形式表示为 <scope>:<level>,<scope>:<level>,...,其中范围可以是 [ads, all, cni-agent, cni-plugin, controllers, default, grpc, iptables, klog, model, monitoring, spiffe, trustBundle, validation] 中的一个,级别可以是 [debug, info, warn, error, fatal, none] 中的一个(默认值 ``) |
--log_stacktrace_level <string> | 捕获堆栈跟踪的每个范围的最小日志级别,以逗号分隔的形式表示为 <scope>:<level>,<scope:level>,...,其中范围可以是 [ads, all, cni-agent, cni-plugin, controllers, default, grpc, iptables, klog, model, monitoring, spiffe, trustBundle, validation] 中的一个,级别可以是 [debug, info, warn, error, fatal, none] 中的一个(默认值 `default:none`) |
--log_target <stringArray> | 输出日志的路径集。这可以是任何路径,也可以是 stdout 和 stderr 这些特殊值(默认值 `[stdout]`) |
install-cni completion bash
为 bash shell 生成自动完成功能脚本。
此脚本依赖于 'bash-completion' 软件包。如果尚未安装,可以通过操作系统的软件包管理器安装它。
在当前 shell 会话中加载完成功能
source <(install-cni completion bash)
为每个新会话加载完成功能,执行一次
Linux
install-cni completion bash > /etc/bash_completion.d/install-cni
macOS
install-cni completion bash > /usr/local/etc/bash_completion.d/install-cni
您需要启动一个新的 shell 才能使此设置生效。
install-cni completion bash
标志 | 描述 |
---|---|
--ctrlz_address <string> | 用于 ControlZ 自省功能的侦听 IP 地址。使用 '*' 表示所有地址。(默认值 `localhost`) |
--ctrlz_port <uint16> | 用于 ControlZ 自省功能的 IP 端口(默认值 `9876`) |
--log_as_json | 是否以 JSON 格式或普通控制台友好格式输出 |
--log_caller <string> | 要包含调用者信息的范围的逗号分隔列表,范围可以是 [ads, all, cni-agent, cni-plugin, controllers, default, grpc, iptables, klog, model, monitoring, spiffe, trustBundle, validation] 中的任何一个(默认值 ``) |
--log_output_level <string> | 要输出的消息的每个范围的最小日志级别,以逗号分隔的形式表示为 <scope>:<level>,<scope>:<level>,...,其中范围可以是 [ads, all, cni-agent, cni-plugin, controllers, default, grpc, iptables, klog, model, monitoring, spiffe, trustBundle, validation] 中的一个,级别可以是 [debug, info, warn, error, fatal, none] 中的一个(默认值 ``) |
--log_stacktrace_level <string> | 捕获堆栈跟踪的每个范围的最小日志级别,以逗号分隔的形式表示为 <scope>:<level>,<scope:level>,...,其中范围可以是 [ads, all, cni-agent, cni-plugin, controllers, default, grpc, iptables, klog, model, monitoring, spiffe, trustBundle, validation] 中的一个,级别可以是 [debug, info, warn, error, fatal, none] 中的一个(默认值 `default:none`) |
--log_target <stringArray> | 输出日志的路径集。这可以是任何路径,也可以是 stdout 和 stderr 这些特殊值(默认值 `[stdout]`) |
--no-descriptions | 禁用完成功能描述 |
install-cni completion fish
为 fish shell 生成自动完成功能脚本。
在当前 shell 会话中加载完成功能
install-cni completion fish | source
为每个新会话加载完成功能,执行一次
install-cni completion bash > ~/.config/fish/completions/install-cni.fish
您需要启动一个新的 shell 才能使此设置生效。
install-cni completion fish [flags]
标志 | 描述 |
---|---|
--ctrlz_address <string> | 用于 ControlZ 自省功能的侦听 IP 地址。使用 '*' 表示所有地址。(默认值 `localhost`) |
--ctrlz_port <uint16> | 用于 ControlZ 自省功能的 IP 端口(默认值 `9876`) |
--log_as_json | 是否以 JSON 格式或普通控制台友好格式输出 |
--log_caller <string> | 要包含调用者信息的范围的逗号分隔列表,范围可以是 [ads, all, cni-agent, cni-plugin, controllers, default, grpc, iptables, klog, model, monitoring, spiffe, trustBundle, validation] 中的任何一个(默认值 ``) |
--log_output_level <string> | 要输出的消息的每个范围的最小日志级别,以逗号分隔的形式表示为 <scope>:<level>,<scope>:<level>,...,其中范围可以是 [ads, all, cni-agent, cni-plugin, controllers, default, grpc, iptables, klog, model, monitoring, spiffe, trustBundle, validation] 中的一个,级别可以是 [debug, info, warn, error, fatal, none] 中的一个(默认值 ``) |
--log_stacktrace_level <string> | 捕获堆栈跟踪的每个范围的最小日志级别,以逗号分隔的形式表示为 <scope>:<level>,<scope:level>,...,其中范围可以是 [ads, all, cni-agent, cni-plugin, controllers, default, grpc, iptables, klog, model, monitoring, spiffe, trustBundle, validation] 中的一个,级别可以是 [debug, info, warn, error, fatal, none] 中的一个(默认值 `default:none`) |
--log_target <stringArray> | 输出日志的路径集。这可以是任何路径,也可以是 stdout 和 stderr 这些特殊值(默认值 `[stdout]`) |
--no-descriptions | 禁用完成功能描述 |
install-cni completion powershell
为 PowerShell 生成自动完成功能脚本。
在当前 shell 会话中加载完成功能
install-cni completion powershell | Out-String | Invoke-Expression
要为每个新会话加载完成功能,请将上述命令的输出添加到您的 powershell 配置文件中。
install-cni completion powershell [flags]
标志 | 描述 |
---|---|
--ctrlz_address <string> | 用于 ControlZ 自省功能的侦听 IP 地址。使用 '*' 表示所有地址。(默认值 `localhost`) |
--ctrlz_port <uint16> | 用于 ControlZ 自省功能的 IP 端口(默认值 `9876`) |
--log_as_json | 是否以 JSON 格式或普通控制台友好格式输出 |
--log_caller <string> | 要包含调用者信息的范围的逗号分隔列表,范围可以是 [ads, all, cni-agent, cni-plugin, controllers, default, grpc, iptables, klog, model, monitoring, spiffe, trustBundle, validation] 中的任何一个(默认值 ``) |
--log_output_level <string> | 要输出的消息的每个范围的最小日志级别,以逗号分隔的形式表示为 <scope>:<level>,<scope>:<level>,...,其中范围可以是 [ads, all, cni-agent, cni-plugin, controllers, default, grpc, iptables, klog, model, monitoring, spiffe, trustBundle, validation] 中的一个,级别可以是 [debug, info, warn, error, fatal, none] 中的一个(默认值 ``) |
--log_stacktrace_level <string> | 捕获堆栈跟踪的每个范围的最小日志级别,以逗号分隔的形式表示为 <scope>:<level>,<scope:level>,...,其中范围可以是 [ads, all, cni-agent, cni-plugin, controllers, default, grpc, iptables, klog, model, monitoring, spiffe, trustBundle, validation] 中的一个,级别可以是 [debug, info, warn, error, fatal, none] 中的一个(默认值 `default:none`) |
--log_target <stringArray> | 输出日志的路径集。这可以是任何路径,也可以是 stdout 和 stderr 这些特殊值(默认值 `[stdout]`) |
--no-descriptions | 禁用完成功能描述 |
install-cni completion zsh
为 zsh shell 生成自动完成功能脚本。
如果您的环境中尚未启用 shell 完成功能,则需要启用它。您可以执行以下操作一次
echo "autoload -U compinit; compinit" >> ~/.zshrc
在当前 shell 会话中加载完成功能
source <(install-cni completion zsh)
为每个新会话加载完成功能,执行一次
Linux
install-cni completion zsh > "${fpath[1]}/_install-cni"
macOS
install-cni completion zsh > $(brew --prefix)/share/zsh/site-functions/_install-cni
您需要启动一个新的 shell 才能使此设置生效。
install-cni completion zsh [flags]
标志 | 描述 |
---|---|
--ctrlz_address <string> | 用于 ControlZ 自省功能的侦听 IP 地址。使用 '*' 表示所有地址。(默认值 `localhost`) |
--ctrlz_port <uint16> | 用于 ControlZ 自省功能的 IP 端口(默认值 `9876`) |
--log_as_json | 是否以 JSON 格式或普通控制台友好格式输出 |
--log_caller <string> | 要包含调用者信息的范围的逗号分隔列表,范围可以是 [ads, all, cni-agent, cni-plugin, controllers, default, grpc, iptables, klog, model, monitoring, spiffe, trustBundle, validation] 中的任何一个(默认值 ``) |
--log_output_level <string> | 要输出的消息的每个范围的最小日志级别,以逗号分隔的形式表示为 <scope>:<level>,<scope>:<level>,...,其中范围可以是 [ads, all, cni-agent, cni-plugin, controllers, default, grpc, iptables, klog, model, monitoring, spiffe, trustBundle, validation] 中的一个,级别可以是 [debug, info, warn, error, fatal, none] 中的一个(默认值 ``) |
--log_stacktrace_level <string> | 捕获堆栈跟踪的每个范围的最小日志级别,以逗号分隔的形式表示为 <scope>:<level>,<scope:level>,...,其中范围可以是 [ads, all, cni-agent, cni-plugin, controllers, default, grpc, iptables, klog, model, monitoring, spiffe, trustBundle, validation] 中的一个,级别可以是 [debug, info, warn, error, fatal, none] 中的一个(默认值 `default:none`) |
--log_target <stringArray> | 输出日志的路径集。这可以是任何路径,也可以是 stdout 和 stderr 这些特殊值(默认值 `[stdout]`) |
--no-descriptions | 禁用完成功能描述 |
install-cni version
打印构建版本信息
install-cni version [flags]
标志 | 简写 | 描述 |
---|---|---|
--ctrlz_address <string> | 用于 ControlZ 自省功能的侦听 IP 地址。使用 '*' 表示所有地址。(默认值 `localhost`) | |
--ctrlz_port <uint16> | 用于 ControlZ 自省功能的 IP 端口(默认值 `9876`) | |
--log_as_json | 是否以 JSON 格式或普通控制台友好格式输出 | |
--log_caller <string> | 要包含调用者信息的范围的逗号分隔列表,范围可以是 [ads, all, cni-agent, cni-plugin, controllers, default, grpc, iptables, klog, model, monitoring, spiffe, trustBundle, validation] 中的任何一个(默认值 ``) | |
--log_output_level <string> | 要输出的消息的每个范围的最小日志级别,以逗号分隔的形式表示为 <scope>:<level>,<scope>:<level>,...,其中范围可以是 [ads, all, cni-agent, cni-plugin, controllers, default, grpc, iptables, klog, model, monitoring, spiffe, trustBundle, validation] 中的一个,级别可以是 [debug, info, warn, error, fatal, none] 中的一个(默认值 ``) | |
--log_stacktrace_level <string> | 捕获堆栈跟踪的每个范围的最小日志级别,以逗号分隔的形式表示为 <scope>:<level>,<scope:level>,...,其中范围可以是 [ads, all, cni-agent, cni-plugin, controllers, default, grpc, iptables, klog, model, monitoring, spiffe, trustBundle, validation] 中的一个,级别可以是 [debug, info, warn, error, fatal, none] 中的一个(默认值 `default:none`) | |
--log_target <stringArray> | 输出日志的路径集。这可以是任何路径,也可以是 stdout 和 stderr 这些特殊值(默认值 `[stdout]`) | |
--output <string> | -o | 'yaml' 或 'json' 之一。(默认值 ``) |
--short | -s | 使用 --short=false 生成完整的版本信息 |
环境变量
这些环境变量会影响install-cni
命令的行为。变量名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
AMBIENT_ENABLED | 布尔值 | false | 是否启用环境控制器 |
AMBIENT_ENABLE_STATUS | 布尔值 | false | 如果启用,则环境模式的状态消息将写入资源。目前,此功能不执行领导者选举,因此在使用多个副本时启用可能不安全。 |
BYPASS_OVERLOAD_MANAGER_FOR_STATIC_LISTENERS | 布尔值 | true | 如果启用,则不会将过载管理器应用于静态侦听器 |
CA_TRUSTED_NODE_ACCOUNTS | 字符串 |
| 如果设置,则允许使用节点身份验证为 CSR 创建的 Service Account 列表。节点身份验证允许某个身份代表其他身份创建 CSR,但前提是在同一节点上运行有具有该身份的 Pod。这旨在与节点代理一起使用。 |
CERT_SIGNER_DOMAIN | 字符串 |
| 证书签名者域信息 |
CHAINED_CNI_PLUGIN | 布尔值 | true | 是否将 CNI 插件安装为链式或独立式 |
CLUSTER_ID | 字符串 | Kubernetes | 定义此 Istiod 实例所属的集群和服务注册表 |
CNI_AGENT_RUN_DIR | 字符串 | /var/run/istio-cni | 节点上节点代理可写路径的位置(用于套接字等) |
CNI_CONF_NAME | 字符串 |
| CNI 配置文件的名称 |
CNI_NETWORK_CONFIG | 字符串 |
| CNI 配置模板作为字符串 |
CNI_NETWORK_CONFIG_FILE | 字符串 |
| CNI 配置模板作为文件 |
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)。 |
DRY_RUN_FILE_PATH | 字符串 |
| 如果提供,则 StdoutStubDependencies 会将来自 stdin 的输入写入给定文件。 |
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 | 如果为 true,则 pilot 将使用新的分隔符统计标签正则表达式生成 Envoy 统计标签。 |
ENABLE_ENHANCED_DESTINATIONRULE_MERGE | 布尔值 | true | 如果启用,Istio 将考虑其 exportTo 字段合并 destinationrules,如果 exportTos 不相等,则它们将被保留为独立规则。 |
ENABLE_ENHANCED_RESOURCE_SCOPING | 布尔值 | true | 如果启用,则 meshConfig.discoverySelectors 将限制 pilot 可以处理的 CustomResource 配置(如 Gateway、VirtualService、DestinationRule、Ingress 等)。这还将限制根 CA 证书分发。 |
ENABLE_HCM_INTERNAL_NETWORKS | 布尔值 | false | 如果启用,则在网格网络中定义的端点将在 Http Connection Manager 中配置为内部地址 |
ENABLE_INBOUND_RETRY_POLICY | 布尔值 | true | 如果为 true,则为入站路由启用重试策略,该策略会自动重试在到达服务之前重置的请求。 |
ENABLE_INGRESS_WAYPOINT_ROUTING | 布尔值 | false | 如果为 true,则如果在服务上设置了 'istio.io/ingress-use-waypoint' 标签,则网关将调用服务路点。 |
ENABLE_LEADER_ELECTION | 布尔值 | true | 如果启用(默认值),则启动领导者选举客户端并在执行控制器之前获得领导权。如果为 false,则假定仅运行一个 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>.<namespace>.svc.cluster.local`。在此模式下,对 `cluster.local` 的请求将仅路由到与客户端位于同一集群中的那些端点。要求还启用 ENABLE_MCS_SERVICE_DISCOVERY 和 ENABLE_MCS_HOST。 |
ENABLE_MCS_HOST | 布尔值 | false | 如果启用,istiod 将为在至少一个集群中导出的每个服务(通过 ServiceExport)配置 Kubernetes 多集群服务 (MCS) 主机(<svc>.<namespace>.svc.clusterset.local)。但是,客户端必须能够成功查找这些 DNS 主机。这意味着必须启用 Istio DNS 拦截或必须使用 MCS 控制器。要求还启用 ENABLE_MCS_SERVICE_DISCOVERY。 |
ENABLE_MCS_SERVICE_DISCOVERY | 布尔值 | false | 如果启用,istiod 将启用 Kubernetes 多集群服务 (MCS) 服务发现模式。在此模式下,集群中的服务端点将仅在同一集群内可发现,除非通过 ServiceExport 显式导出。 |
ENABLE_MULTICLUSTER_HEADLESS | 布尔值 | true | 如果为 true,则无头服务的 DNS 名称表将解析为任何集群中的相同网络端点。 |
ENABLE_NATIVE_SIDECARS | 布尔值 | false | 如果设置,则使用 Kubernetes 原生 Sidecar 容器支持。需要 SidecarContainer 功能标志。 |
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_USER | 字符串 | istio-proxy | Envoy 代理用户名 |
EXCLUDE_UNSAFE_503_FROM_DEFAULT_RETRY | 布尔值 | true | 如果为真,则从默认重试策略中排除 503 上的不安全重试。 |
EXTERNAL_ISTIOD | 布尔值 | false | 如果将其设置为 true,则一个 Istiod 将控制远程集群(包括 CA)。 |
GRPC_KEEPALIVE_INTERVAL | 时间持续时间 | 30s | gRPC 保活间隔 |
GRPC_KEEPALIVE_TIMEOUT | 时间持续时间 | 10s | gRPC 保活超时 |
HOST_PROBE_SNAT_IP | 字符串 | 169.254.7.127 | |
HOST_PROBE_SNAT_IPV6 | 字符串 | fd16:9254:7127:1337:ffff:ffff:ffff:ffff | |
INBOUND_INTERCEPTION_MODE | 字符串 |
| 用于将入站连接重定向到 Envoy 的模式,可以是“REDIRECT”或“TPROXY” |
INBOUND_TPROXY_MARK | 字符串 |
| |
INJECTION_WEBHOOK_CONFIG_NAME | 字符串 | istio-sidecar-injector | 如果未使用 istioctl,则要修补的 mutatingwebhookconfiguration 的名称。 |
IPTABLES_TRACE_LOGGING | 布尔值 | false | 启用后,所有 iptables 操作都将被记录。这需要 NET_ADMIN 权限并且日志很嘈杂;因此,这仅用于调试。 |
ISTIOD_CUSTOM_HOST | 字符串 |
| Istiod 签署服务器证书的自定义主机名。支持多个自定义主机名,多个值用逗号分隔。 |
ISTIO_AGENT_ENABLE_WASM_REMOTE_LOAD_CONVERSION | 布尔值 | true | 如果启用,Istio 代理将拦截 ECDS 资源更新,下载 Wasm 模块,并将 Wasm 模块远程加载替换为下载的本地模块文件。 |
ISTIO_DELTA_XDS | 布尔值 | true | 如果启用,Pilot 将仅发送增量配置,而不是在资源请求上发送世界状态。此功能使用增量 xds api,但当前不会发送实际的增量。 |
ISTIO_DUAL_STACK | 布尔值 | false | 如果为真,Istio 将启用双栈功能。 |
ISTIO_ENABLE_CONTROLLER_QUEUE_METRICS | 布尔值 | false | 如果启用,将发布队列深度、延迟和处理时间的指标。 |
ISTIO_ENABLE_IPV4_OUTBOUND_LISTENER_FOR_IPV6_CLUSTERS | 布尔值 | false | 如果为真,Pilot 将为仅 IPv6 集群(例如 AWS EKS 仅 IPv6 集群)中的出站流量配置一个额外的 IPv4 侦听器。 |
ISTIO_GPRC_MAXRECVMSGSIZE | 整数 | 4194304 | 设置 gRPC 流的最大接收缓冲区大小(以字节为单位)。 |
ISTIO_GPRC_MAXSTREAMS | 整数 | 100000 | 设置并发 grpc 流的最大数量。 |
ISTIO_KUBE_CLIENT_CONTENT_TYPE | 字符串 | protobuf | 要用于 Kubernetes 客户端的内容类型。默认为 protobuf。有效选项:[protobuf,json] |
ISTIO_MULTIROOT_MESH | 布尔值 | false | 如果启用,网格将支持由多个 trustAnchor 为 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_WATCH_NAMESPACE | 字符串 |
| 如果设置,则将 Kubernetes 监视限制到单个命名空间。警告:只能设置单个命名空间。 |
ISTIO_WORKLOAD_ENTRY_VALIDATE_IDENTITY | 布尔值 | true | 如果启用,将验证工作负载的身份是否与其关联的 WorkloadEntry 的身份匹配以进行健康检查和自动注册。此标志仅出于向后兼容性而添加,将在未来的版本中删除 |
JWKS_RESOLVER_INSECURE_SKIP_VERIFY | 布尔值 | false | 如果启用,istiod 将跳过验证 JWKS 服务器的证书。 |
KUBECONFIG_MODE | 整数 | 384 | kubeconfig 文件的文件模式 |
KUBE_CA_FILE | 字符串 |
| kubeconfig 的 CA 文件。默认为与 install-cni pod 相同 |
LABEL_CANONICAL_SERVICES_FOR_MESH_EXTERNAL_SERVICE_ENTRIES | 布尔值 | false | 如果启用,则表示位置为 mesh_external 的 ServiceEntry 资源的规范服务的元数据将在这些端点的集群元数据中填充。 |
LOCAL_CLUSTER_SECRET_WATCHER | 布尔值 | false | 如果启用,集群密钥监视器将监视外部集群的命名空间而不是配置集群 |
LOG_LEVEL | 字符串 | warn | 如果未在 helm 模板中指定,则 CNI 配置文件中的日志级别的回退值 |
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 以禁用指标范围轮换 |
MONITORING_PORT | 整数 | 15014 | 用于提供 Prometheus 指标的 HTTP 端口 |
MOUNTED_CNI_NET_DIR | 字符串 | /host/etc/cni/net.d | 容器上安装 CNI 网络的目录 |
MUTEX_PROFILE_FRACTION | 整数 | 1000 | 如果设置为非零值,则以 1/MUTEX_PROFILE_FRACTION 事件的速率启用互斥体分析。例如,“1000”将记录 0.1% 的事件。设置为 0 以完全禁用。 |
NODE_NAME | 字符串 |
| |
PILOT_ALLOW_SIDECAR_SERVICE_INBOUND_LISTENER_MERGE | 布尔值 | false | 如果设置,则允许为服务端口和 sidecar 入站侦听器创建入站侦听器 |
PILOT_ANALYSIS_INTERVAL | 时间持续时间 | 10s | 如果启用分析,Pilot 将使用此值(以秒为单位)作为 Istio 资源的 Istio 分析器的间隔运行 |
PILOT_AUTO_ALLOW_WAYPOINT_POLICY | 布尔值 | false | 如果启用,zTunnel 将为每个工作负载接收合成授权策略,允许 Waypoint 的身份。除非创建其他允许策略,否则这实际上会拒绝不通过中继点的流量。 |
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 | 如果为真,Pilot 将添加 Istio ALPN 过滤器,这对于正确的协议嗅探是必需的。 |
PILOT_ENABLE_AMBIENT | 布尔值 | false | 如果启用,可以使用环境模式。各个标志配置细粒度的启用;对于任何环境功能,都必须启用此功能。 |
PILOT_ENABLE_AMBIENT_WAYPOINTS | 布尔值 | false | 如果启用,则环境所需的控制器将运行。这需要运行环境网格。 |
PILOT_ENABLE_ANALYSIS | 布尔值 | false | 如果启用,Pilot 将运行 Istio 分析器并将分析错误写入任何 Istio 资源的状态字段 |
PILOT_ENABLE_CDS_CACHE | 布尔值 | true | 如果为真,Pilot 将缓存 CDS 响应。注意:这取决于 PILOT_ENABLE_XDS_CACHE。 |
PILOT_ENABLE_CROSS_CLUSTER_WORKLOAD_ENTRY | 布尔值 | true | 如果启用,Pilot 将读取来自其他集群的 WorkloadEntry,这些条目可以通过该集群中的服务进行选择。 |
PILOT_ENABLE_EDS_DEBOUNCE | 布尔值 | true | 如果启用,Pilot 将将 EDS 推送包含在推送去抖动中,由 PILOT_DEBOUNCE_AFTER 和 PILOT_DEBOUNCE_MAX 配置。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 地址分配给没有用户提供的 IP 的 ServiceEntry。这与 DNS 捕获结合使用,允许对发送到 ServiceEntry 的流量进行 tcp 路由。 |
PILOT_ENABLE_K8S_SELECT_WORKLOAD_ENTRIES | 布尔值 | true | 如果启用,具有选择器的 Kubernetes 服务将选择具有匹配标签的工作负载条目。如果您非常确定不需要此功能,则可以安全地禁用它 |
PILOT_ENABLE_METADATA_EXCHANGE
| 布尔值 | 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 就绪状态的节点的控制器。如果禁用了环境初始化容器,则应启用此选项。 |
PILOT_ENABLE_PERSISTENT_SESSION_FILTER | 布尔值 | false | 如果启用,则 Istiod 会为监听器设置持久会话过滤器,如果服务设置了 'PILOT_PERSISTENT_SESSION_LABEL'。 |
PILOT_ENABLE_QUIC_LISTENERS | 布尔值 | false | 如果为真,则在网关上存在终止 TLS 的监听器且网关服务公开具有相同编号的 UDP 端口(例如 443/TCP 和 443/UDP)时,将生成 QUIC 监听器。 |
PILOT_ENABLE_RDS_CACHE | 布尔值 | true | 如果为真,Pilot 将缓存 RDS 响应。注意:这取决于 PILOT_ENABLE_XDS_CACHE。 |
PILOT_ENABLE_REDIS_FILTER | 布尔值 | false | EnableRedisFilter 启用在过滤器链中注入 `envoy.filters.network.redis_proxy`。 |
PILOT_ENABLE_ROUTE_COLLAPSE_OPTIMIZATION | 布尔值 | 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 | 如果为真,Pilot 将向集群和端点资源添加与遥测相关的元数据,这些元数据将被遥测过滤器使用。 |
PILOT_ENABLE_WORKLOAD_ENTRY_AUTOREGISTRATION | 布尔值 | true | 基于工作负载连接时关联的工作负载组,启用自动注册工作负载条目。 |
PILOT_ENABLE_WORKLOAD_ENTRY_HEALTHCHECKS | 布尔值 | true | 根据关联工作负载组中提供的配置,启用工作负载条目的自动健康检查。 |
PILOT_ENABLE_XDS_CACHE | 布尔值 | true | 如果为真,Pilot 将缓存 XDS 响应。 |
PILOT_ENABLE_XDS_IDENTITY_CHECK | 布尔值 | true | 如果启用,Pilot 将授权 XDS 客户端,以确保它们仅以其拥有权限的命名空间的身份行事。 |
PILOT_ENDPOINT_TELEMETRY_LABEL | 布尔值 | true | 如果为真,Pilot 将向端点资源添加与遥测相关的元数据,这些元数据将被遥测过滤器使用。 |
PILOT_ENVOY_FILTER_STATS | 布尔值 | false | 如果为真,Pilot 将收集 Envoy 过滤器操作的指标。 |
PILOT_FILTER_GATEWAY_CLUSTER_CONFIG | 布尔值 | false | 如果启用,Pilot 将仅发送网关虚拟服务中引用的集群连接到网关。 |
PILOT_GATEWAY_API_CONTROLLER_NAME | 字符串 | istio.io/gateway-controller | 网关 API 控制器名称。istiod 仅会协调引用具有此控制器名称的网关类的网关 API 资源。 |
PILOT_GATEWAY_API_DEFAULT_GATEWAYCLASS_NAME | 字符串 | istio | 默认网关类的名称。 |
PILOT_HTTP10 | 布尔值 | false | 启用在出站 HTTP 监听器中使用 HTTP 1.0,以支持旧版应用程序。 |
PILOT_INSECURE_MULTICLUSTER_KUBECONFIG_OPTIONS | 字符串 |
| 允许用于多集群身份验证的潜在不安全的 kubeconfig 身份验证选项的逗号分隔列表。支持的值:所有身份验证提供程序(`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 | 如果为真,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 | 如果为真,将使用统一的 SidecarScope 创建。这仅作为向后兼容性的临时功能标志。 |
PILOT_WORKLOAD_ENTRY_GRACE_PERIOD | 时间持续时间 | 10s | 自动注册的工作负载在与所有 Pilot 实例断开连接之前可以保持断开连接的时间,然后再清理关联的工作负载条目。 |
PILOT_XDS_CACHE_INDEX_CLEAR_INTERVAL | 时间持续时间 | 5s | xds 缓存索引清除的间隔。 |
PILOT_XDS_CACHE_SIZE | 整数 | 60000 | XDS 缓存的最大缓存条目数。 |
PILOT_XDS_CACHE_STATS | 布尔值 | false | 如果为真,Pilot 将收集 XDS 缓存效率的指标。 |
POD_NAME | 字符串 |
| |
POD_NAMESPACE | 字符串 |
| pod 的命名空间。 |
PREFER_DESTINATIONRULE_TLS_FOR_EXTERNAL_SERVICES | 布尔值 | true | 如果为真,外部服务将优先使用 DestinationRules 中的 TLS 设置而不是元数据 TLS 设置。 |
REPAIR_BROKEN_POD_LABEL_KEY | 字符串 | cni.istio.io/uninitialized | 如果 label pods 为真,则修复程序将在设置标签时使用的键部分。 |
REPAIR_BROKEN_POD_LABEL_VALUE | 字符串 | true | 如果 label pods 为真,则修复程序将在设置标签时使用的值部分。 |
REPAIR_DELETE_PODS | 布尔值 | false | 控制器在检测到由竞态条件导致的 Pod 故障时会删除 Pod |
REPAIR_ENABLED | 布尔值 | true | 是否启用竞态条件修复 |
REPAIR_FIELD_SELECTORS | 字符串 |
| 将添加到 pod 列表过滤器的一组以 label=value 格式表示的字段选择器。 |
REPAIR_INIT_CONTAINER_EXIT_CODE | 整数 | 126 | 由于 CNI 配置错误导致崩溃循环时,初始化容器的预期退出代码。 |
REPAIR_INIT_CONTAINER_NAME | 字符串 | istio-validation | Istio 初始化容器的名称(如果未为 pod 配置 CNI,则会崩溃循环)。 |
REPAIR_INIT_CONTAINER_TERMINATION_MESSAGE | 字符串 |
| 由于 CNI 配置错误导致崩溃循环时,初始化容器的预期终止消息。 |
REPAIR_LABEL_PODS | 布尔值 | false | 控制器在检测到由竞态条件导致的 Pod 故障时会标记 Pod |
REPAIR_LABEL_SELECTORS | 字符串 |
| 将添加到 pod 列表过滤器的一组以 label=value 格式表示的标签选择器。 |
REPAIR_NODE_NAME | 字符串 |
| 托管节点的名称(如果未设置,则将管理所有节点)。 |
REPAIR_SIDECAR_ANNOTATION | 字符串 | sidecar.istio.io/status | 指示此 pod 包含 Istio sidecar 的注释键。所有没有此注释的 pod 将被忽略。注释的值将被忽略。 |
RESOLVE_HOSTNAME_GATEWAYS | 布尔值 | true | 如果为真,则服务 LoadBalancer 地址中的主机名将在控制平面解析,以便在跨网络网关中使用。 |
REVISION | 字符串 |
| |
SHARED_MESH_CONFIG | 字符串 |
| 要加载的其他配置映射,用于共享 MeshConfig 设置。标准网格配置将优先。 |
SKIP_TLS_VERIFY | 布尔值 | false | 是否在 kubeconfig 文件中使用不安全的 TLS |
SYSTEM_NAMESPACE | 字符串 | istio-system | Istio 系统命名空间。 |
TRUSTED_GATEWAY_CIDR | 字符串 |
| 如果设置,则来自网关到 Istiod 的任何具有此 CIDR 范围的连接都将被视为受信任的,以便使用 XFCC 等身份验证机制。仅当 Istiod 和执行身份验证的网关所在的网络处于受信任/安全网络中时,才能使用此选项。 |
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 环境中有效。 |
XDS_AUTH | 布尔值 | true | 如果为真,将对 XDS 客户端进行身份验证。 |
ZTUNNEL_UDS_ADDRESS | 字符串 | /var/run/ztunnel/ztunnel.sock | ztunnel 将连接到的 UDS 服务器地址。 |
导出指标
指标名称 | 类型 | 描述 |
---|---|---|
controller_sync_errors_total | 总和 | 同步控制器的错误指标总数。 |
endpoint_no_pod | LastValue | 没有关联 pod 的端点。 |
istio_build | LastValue | Istio 组件构建信息。 |
istio_cni_install_ready | LastValue | CNI 插件安装是否已准备就绪。 |
istio_cni_installs_total | 总和 | Istio CNI 安装程序安装的 CNI 插件总数。 |
istio_cni_repair_pods_repaired_total | 总和 | 修复控制器修复的 pod 总数。 |
nodeagent_reconcile_events_total | 总和 | 节点代理协调事件的总数。 |
pilot_conflict_inbound_listener | LastValue | 冲突的入站监听器数量。 |
pilot_conflict_outbound_listener_tcp_over_current_tcp | LastValue | 与当前 tcp 监听器冲突的 tcp 监听器数量。 |
pilot_destrule_subsets | LastValue | 同一主机目标规则中的重复子集。 |
pilot_dns_cluster_without_endpoints | LastValue | 由于 STRICT_DNS 类型集群中的端点字段未设置或相应的子集无法选择任何端点而导致的没有端点的 DNS 集群。 |
pilot_duplicate_envoy_clusters | LastValue | 由于具有相同主机名的服务条目导致的重复 Envoy 集群。 |
pilot_eds_no_instances | LastValue | 没有实例的集群数量。 |
pilot_endpoint_not_ready | LastValue | 在非就绪状态下找到的端点。 |
pilot_jwks_resolver_network_fetch_fail_total | 总和 | Pilot jwks 解析器网络获取失败的总数。 |
pilot_jwks_resolver_network_fetch_success_total | 总和 | Pilot jwks 解析器网络获取成功的总数。 |
pilot_no_ip | LastValue | 在端点表中找不到的 Pod,可能无效。 |
pilot_total_rejected_configs | 总和 | Pilot 必须拒绝或忽略的配置总数。 |
pilot_total_xds_internal_errors | 总和 | Pilot 中的内部 XDS 错误总数。 |
pilot_total_xds_rejects | 总和 | 代理拒绝的来自 Pilot 的 XDS 响应总数。 |
pilot_virt_services | LastValue | Pilot 已知的虚拟服务总数。 |
pilot_vservice_dup_domain | LastValue | 具有重复域的虚拟服务。 |
pilot_xds_cds_reject | LastValue | Pilot 拒绝了 CDS 配置。 |
pilot_xds_eds_reject | LastValue | Pilot 拒绝了 EDS。 |
pilot_xds_expired_nonce | 总和 | 具有过期 nonce 的 XDS 请求总数。 |
pilot_xds_lds_reject | LastValue | Pilot 拒绝了 LDS。 |
pilot_xds_rds_reject | LastValue | Pilot 拒绝了 RDS。 |
pilot_xds_send_time | 分布 | Pilot 发送生成的配置所需总时间(秒)。 |
pilot_xds_write_timeout | 总和 | Pilot XDS 响应写入超时。 |
provider_lookup_cluster_failures | 总和 | 集群查找失败的次数。 |
xds_cache_dependent_config_size | LastValue | 依赖配置的当前大小。 |
xds_cache_evictions | 总和 | xds 缓存驱逐的总数。 |
xds_cache_reads | 总和 | xds 缓存读取的总数。 |
xds_cache_size | LastValue | xds 缓存的当前大小。 |
ztunnel_connected | LastValue | 到 ztunnel 的连接数。 |