istioctl

Istio 配置命令行实用程序,供服务运营商调试和诊断其 Istio 网格。

标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

istioctl admin

一组用于管理 Istiod 配置的命令

istioctl admin [flags]
istioctl istiod [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--selector <string>-l标签选择器(默认 `app=istiod`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Retrieve information about istiod configuration.
  istioctl admin log

istioctl admin log

检索或更新 Istiod 组件的日志级别。

istioctl admin log [<pod-name>]|[-r|--revision] [--level <scope>:<level>][--stack-trace-level <scope>:<level>]|[--reset]|[--output|-o short|json|yaml] [flags]
istioctl admin l [<pod-name>]|[-r|--revision] [--level <scope>:<level>][--stack-trace-level <scope>:<level>]|[--reset]|[--output|-o short|json|yaml] [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--ctrlz_port <int>ControlZ 端口(默认 `9876`)
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--level <string>以 <scope>:<level>[,<scope>:<level>,... ] 格式的范围的输出日志级别的逗号分隔列表。<level> 的可能值:none、error、warn、info、debug(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--output <string>-o输出格式:json|yaml|short 之一(默认 `short`)
--reset将级别重置为默认值。(信息)
--revision <string>-r控制平面版本(默认 '')
--selector <string>-l标签选择器(默认 `app=istiod`)
--stack-trace-level <string>以 <scope>:<stack-trace-level>[,<scope>:<stack-trace-level>,... ] 格式的范围的堆栈跟踪级别的逗号分隔列表。<stack-trace-level> 的可能值:none、error、warn、info、debug(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Retrieve information about istiod logging levels.
  istioctl admin log

  # Retrieve information about istiod logging levels on a specific control plane pod.
  istioctl admin l istiod-5c868d8bdd-pmvgg

  # Update levels of the specified loggers.
  istioctl admin log --level ads:debug,authorization:debug

  # Retrieve information about istiod logging levels for a specified revision.
  istioctl admin log --revision v1

  # Reset levels of all the loggers to default value (info).
  istioctl admin log --reset

istioctl analyze

分析 Istio 配置并打印验证消息

istioctl analyze <file>... [flags]
标志缩写描述
--all-namespaces-A分析所有命名空间
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--color默认值为 true。使用 '=false' 禁用或将 $TERM 设置为 dumb
--context <string>Kubernetes 配置上下文(默认 '')
--failure-threshold <Level>分析的严重性级别,在此级别设置非零退出代码。有效值:[Info Warning Error](默认 `Error`)
--ignore-unknown不要抱怨无法解析的输入文档,用于分析应该只在符合 k8s 的输入上运行的情况。
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--list-analyzers-L列出可运行的分析器。抑制正常执行。
--meshConfigFile <string>覆盖用于分析的网格配置值。(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--output <string>-o输出格式:[log json yaml] 之一(默认 `log`)
--output-threshold <Level>分析的严重性级别,在此级别显示消息。有效值:[Info Warning Error](默认 `Info`)
--recursive-R递归处理目录参数。当您想要分析组织在同一目录中的相关清单时很有用。
--remote-contexts <stringArray>用于多集群分析的远程集群的 Kubernetes 配置上下文。不要与 '--context' 混淆。如果未指定,则上下文将从集群中的远程密钥读取。(默认 `[]`)
--revision <string>分析已部署的特定版本。(默认 `default`)
--suppress <stringArray>-S抑制对特定资源报告消息代码。值以 <code>=<resource> 的形式提供(例如 '--suppress "IST0102=DestinationRule primary-dr.default"')。可以重复。您可以包含通配符 '*' 以支持部分匹配(例如 '--suppress "IST0102=DestinationRule *.default"')。(默认 `[]`)
--timeout <duration>在失败之前等待的持续时间(默认 `30s`)
--use-kube-k使用实时 Kubernetes 集群进行分析。将 --use-kube=false 设置为仅分析文件。
--verbose-v启用详细输出
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Analyze the current live cluster
  istioctl analyze

  # Analyze the current live cluster for a specific revision
  istioctl analyze --revision 1-16

  # Analyze the current live cluster, simulating the effect of applying additional yaml files
  istioctl analyze a.yaml b.yaml my-app-config/

  # Analyze the current live cluster, simulating the effect of applying a directory of config recursively
  istioctl analyze --recursive my-istio-config/

  # Analyze yaml files without connecting to a live cluster
  istioctl analyze --use-kube=false a.yaml b.yaml my-app-config/

  # Analyze the current live cluster and suppress PodMissingProxy for pod mypod in namespace 'testing'.
  istioctl analyze -S "IST0103=Pod mypod.testing"

  # Analyze the current live cluster and suppress PodMissingProxy for all pods in namespace 'testing',
  # and suppress MisplacedAnnotation on deployment foobar in namespace default.
  istioctl analyze -S "IST0103=Pod *.testing" -S "IST0107=Deployment foobar.default"

  # List available analyzers
  istioctl analyze -L

istioctl authz

(authz 处于实验阶段。请使用 `istioctl experimental authz`)

istioctl authz [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

istioctl bug-report

bug-report 选择性地将集群信息和日志捕获到存档中,以帮助诊断问题。可以使用以下方法过滤代理日志:--include|--exclude ns1,ns2.../dep1,dep2.../pod1,pod2.../lbl1=val1,lbl2=val2.../ann1=val1,ann2=val2.../cntr1,cntr... 其中 ns=命名空间,dep=部署,lbl=标签,ann=注释,cntr=容器

过滤器规范被解释为 '必须在 (ns1 或 ns2) 且 (dep1 或 dep2) 且 (cntr1 或 cntr2)...' 中。只有当容器匹配至少一个包含过滤器并且不匹配任何排除过滤器时,才会包含日志。过滤器的所有部分都是可选的,可以省略,例如 ns1//pod1 仅对命名空间 ns1 和 pod1 进行过滤。除了标签和注释键以外的所有名称都支持 '*' glob 匹配模式。

例如:--include ns1,ns2(仅命名空间 ns1 和 ns2)--include n*//p*/l=v*(命名空间以 'n' 开头且标签 'l' 的值为以 'v' 开头的命名空间中名为 'p' 的 pod。)

istioctl bug-report [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>要使用的 kubeconfig 上下文的名称。(默认 '')
--critical-errs <stringSlice>逗号分隔的 glob 模式列表,用于匹配日志错误字符串。如果任何模式与日志中的错误匹配,则日志将获得最高优先级以供存档包含。(默认 `[]`)
--dir <string>设置用于临时工件存储的特定目录。(默认 '')
--dry-run仅记录将要运行的命令,不获取或写入。
--duration <duration>要从结束时间追溯到日志条目以包含在存档中的时间范围。默认值为无穷大。如果设置,则必须取消设置 --start-time。(默认 `0s`)
--end-time <string>要包含在存档中的日志条目范围的结束时间。默认值为现在。(默认 '')
--exclude <stringSlice>在包含规范处理后,用于从存档中排除哪些 pod 的代理日志的规范。有关格式和示例,请参见上文。(默认 `["kube-node-lease,kube-public,kube-system,local-path-storage"]`)
--filename <string>-f指向包含 YAML 格式配置的文件的路径。文件内容将应用于默认值和标志设置,列表将根据 JSON 合并语义进行替换。(默认 '')
--full-secrets如果设置,则密钥内容将包含在输出中。
--ignore-errs <stringSlice>逗号分隔的 glob 模式列表,用于匹配日志错误字符串。在计算日志重要性启发式时,将忽略与这些模式匹配的任何错误。(默认 `[]`)
--include <stringSlice>用于将哪些 pod 的代理日志包含在存档中的规范。有关格式和示例,请参见上文。(默认 `[]`)
--istio-namespace <string>安装 Istio 控制平面的命名空间。(默认 `istio-system`)
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-c指向 kube 配置的路径。(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--output-dir <string>设置输出存档文件的特定目录。(默认 '')
--rq-concurrency <int>设置对 Kubernetes API 服务器的请求的并发限制,默认为 32。(默认 `0`)
--start-time <string>要包含在存档中的日志条目范围的开始时间。默认值为无限过去。如果设置,则必须取消设置 --duration。(默认 '')
--timeout <duration>获取日志的最大时间。超时到达时,仅捕获的日志将保存到存档中。(默认 `30m0s`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

istioctl bug-report version

打印构建版本信息

istioctl bug-report version [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>要使用的 kubeconfig 上下文的名称。(默认 '')
--critical-errs <stringSlice>逗号分隔的 glob 模式列表,用于匹配日志错误字符串。如果任何模式与日志中的错误匹配,则日志将获得最高优先级以供存档包含。(默认 `[]`)
--dir <string>设置用于临时工件存储的特定目录。(默认 '')
--dry-run仅记录将要运行的命令,不获取或写入。
--duration <duration>要从结束时间追溯到日志条目以包含在存档中的时间范围。默认值为无穷大。如果设置,则必须取消设置 --start-time。(默认 `0s`)
--end-time <string>要包含在存档中的日志条目范围的结束时间。默认值为现在。(默认 '')
--exclude <stringSlice>在包含规范处理后,用于从存档中排除哪些 pod 的代理日志的规范。有关格式和示例,请参见上文。(默认 `["kube-node-lease,kube-public,kube-system,local-path-storage"]`)
--filename <string>-f指向包含 YAML 格式配置的文件的路径。文件内容将应用于默认值和标志设置,列表将根据 JSON 合并语义进行替换。(默认 '')
--full-secrets如果设置,则密钥内容将包含在输出中。
--ignore-errs <stringSlice>逗号分隔的 glob 模式列表,用于匹配日志错误字符串。在计算日志重要性启发式时,将忽略与这些模式匹配的任何错误。(默认 `[]`)
--include <stringSlice>用于将哪些 pod 的代理日志包含在存档中的规范。有关格式和示例,请参见上文。(默认 `[]`)
--istio-namespace <string>安装 Istio 控制平面的命名空间。(默认 `istio-system`)
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-c指向 kube 配置的路径。(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--output <string>-o'yaml' 或 'json' 之一。(默认 '')
--output-dir <string>设置输出存档文件的特定目录。(默认 '')
--rq-concurrency <int>设置对 Kubernetes API 服务器的请求的并发限制,默认为 32。(默认 `0`)
--short-s使用 --short=false 生成完整的版本信息
--start-time <string>要包含在存档中的日志条目范围的开始时间。默认值为无限过去。如果设置,则必须取消设置 --duration。(默认 '')
--timeout <duration>获取日志的最大时间。超时到达时,仅捕获的日志将保存到存档中。(默认 `30m0s`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

istioctl completion

为指定的 shell 生成 istioctl 的自动完成脚本。有关如何使用生成的脚本的详细信息,请参见每个子命令的帮助。

标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

istioctl completion bash

为 bash shell 生成自动完成脚本。

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

在当前 shell 会话中加载完成

source <(istioctl completion bash)

要为每个新会话加载完成,请执行一次

Linux

istioctl completion bash > /etc/bash_completion.d/istioctl

macOS

istioctl completion bash > /usr/local/etc/bash_completion.d/istioctl

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

istioctl completion bash
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--no-descriptions禁用完成描述
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

istioctl completion fish

为 fish shell 生成自动完成脚本。

在当前 shell 会话中加载完成

istioctl completion fish | source

要为每个新会话加载完成,请执行一次

istioctl completion bash > ~/.config/fish/completions/istioctl.fish

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

istioctl completion fish [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--no-descriptions禁用完成描述
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

istioctl completion powershell

为 PowerShell 生成自动完成脚本。

在当前 shell 会话中加载完成

istioctl completion powershell | Out-String | Invoke-Expression

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

istioctl completion powershell [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--no-descriptions禁用完成描述
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

istioctl completion zsh

为 zsh shell 生成自动完成脚本。

如果 shell 完成尚未在您的环境中启用,您将需要启用它。您可以执行以下操作一次

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

在当前 shell 会话中加载完成

source <(istioctl completion zsh)

要为每个新会话加载完成,请执行一次

Linux

istioctl completion zsh > "${fpath[1]}/_istioctl"

macOS

istioctl completion zsh > $(brew --prefix)/share/zsh/site-functions/_istioctl

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

istioctl completion zsh [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--no-descriptions禁用完成描述
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

istioctl create-remote-secret

创建一个包含凭据的密钥,以允许 Istio 访问远程 Kubernetes apiserver

istioctl create-remote-secret [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--auth-plugin-config <stringToString>身份验证器插件配置。--auth-type=plugin 必须与此选项一起设置(默认 `[]`)
--auth-plugin-name <string>身份验证器插件名称。--auth-type=plugin 必须与此选项一起设置(默认 '')
--auth-type <RemoteSecretAuthType>要使用的身份验证类型。支持的值 = [bearer-token plugin](默认 `bearer-token`)
--context <string>Kubernetes 配置上下文(默认 '')
--create-service-account如果为 true,则如果不存在,将创建创建远程密钥所需的 service account。
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--manifests <string>-d指定指向图表和配置文件目录的路径(例如 ~/Downloads/istio-1.24.0/manifests)。(默认 '')
--name <string>本地集群的名称,其凭据存储在密钥中。如果未指定名称,则将使用本地集群的 kube-system 命名空间的 UUID。(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--secret-name <string>要从 service account 中使用的特定密钥的名称。在 service account 中有多个密钥时需要。(默认 '')
--server <string>Kubernetes API 服务器的地址和端口。(默认 '')
--service-account <string>使用此 service account 的凭据创建密钥。如果 --type 为 "remote",则默认值为 "istio-reader-service-account",如果 --type 为 "config",则默认值为 "istiod"。(默认 '')
--type <SecretType>生成的密钥的类型。支持的值 = [remote config](默认 `remote`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Create a secret to access cluster c0's apiserver and install it in cluster c1.
  istioctl --kubeconfig=c0.yaml create-remote-secret --name c0 \
    | kubectl --kubeconfig=c1.yaml apply -f -

  # Delete a secret that was previously installed in c1
  istioctl --kubeconfig=c0.yaml create-remote-secret --name c0 \
    | kubectl --kubeconfig=c1.yaml delete -f -

  # Create a secret access a remote cluster with an auth plugin
  istioctl --kubeconfig=c0.yaml create-remote-secret --name c0 --auth-type=plugin --auth-plugin-name=gcp \
    | kubectl --kubeconfig=c1.yaml apply -f -

istioctl dashboard

访问 Istio Web UI

istioctl dashboard [flags]
istioctl dash [flags]
istioctl d [flags]
标志缩写描述
--address <string>要监听的地址。仅接受 IP 地址或 localhost 作为值。当提供 localhost 时,istioctl 将尝试绑定到 127.0.0.1 和 ::1,如果这两个地址都不可用于绑定,则将失败。(默认 `localhost`)
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--browser当提供 `--browser` 为 `false` 时,`istioctl dashboard` 将不会打开浏览器。默认值为 `true`,这意味着 `istioctl dashboard` 将始终打开浏览器以查看仪表板。
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--port <int>-p要监听的本地端口(默认值 `0`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

istioctl dashboard controlz

打开 Istio 控制平面中 Pod 的 ControlZ Web UI

istioctl dashboard controlz [<type>/]<name>[.<namespace>] [flags]
标志缩写描述
--address <string>要监听的地址。仅接受 IP 地址或 localhost 作为值。当提供 localhost 时,istioctl 将尝试绑定到 127.0.0.1 和 ::1,如果这两个地址都不可用于绑定,则将失败。(默认 `localhost`)
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--browser当提供 `--browser` 为 `false` 时,`istioctl dashboard` 将不会打开浏览器。默认值为 `true`,这意味着 `istioctl dashboard` 将始终打开浏览器以查看仪表板。
--context <string>Kubernetes 配置上下文(默认 '')
--ctrlz_port <int>ControlZ 端口(默认 `9876`)
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--port <int>-p要监听的本地端口(默认值 `0`)
--selector <string>-l标签选择器(默认值 ``)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Open ControlZ web UI for the istiod-123-456.istio-system pod
  istioctl dashboard controlz istiod-123-456.istio-system

  # Open ControlZ web UI for the istiod-56dd66799-jfdvs pod in a custom namespace
  istioctl dashboard controlz istiod-123-456 -n custom-ns

  # Open ControlZ web UI for any Istiod pod
  istioctl dashboard controlz deployment/istiod.istio-system

  # with short syntax
  istioctl dash controlz pilot-123-456.istio-system
  istioctl d controlz pilot-123-456.istio-system

istioctl dashboard envoy

打开 Sidecar 的 Envoy 管理仪表板

注意:`envoy` 命令已弃用,可以使用 `proxy` 命令代替,例如 `istioctl dashboard proxy --help`

istioctl dashboard envoy [<type>/]<name>[.<namespace>] [flags]
标志缩写描述
--address <string>要监听的地址。仅接受 IP 地址或 localhost 作为值。当提供 localhost 时,istioctl 将尝试绑定到 127.0.0.1 和 ::1,如果这两个地址都不可用于绑定,则将失败。(默认 `localhost`)
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--browser当提供 `--browser` 为 `false` 时,`istioctl dashboard` 将不会打开浏览器。默认值为 `true`,这意味着 `istioctl dashboard` 将始终打开浏览器以查看仪表板。
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--port <int>-p要监听的本地端口(默认值 `0`)
--selector <string>-l标签选择器(默认值 ``)
--ui-port <int>组件仪表板 UI 端口。(默认值 `15000`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Open Envoy dashboard for the productpage-123-456.default pod
  istioctl dashboard envoy productpage-123-456.default

  # Open Envoy dashboard for one pod under a deployment
  istioctl dashboard envoy deployment/productpage-v1

  # with short syntax
  istioctl dash envoy productpage-123-456.default
  istioctl d envoy productpage-123-456.default

istioctl dashboard grafana

打开 Istio 的 Grafana 仪表板

istioctl dashboard grafana [flags]
标志缩写描述
--address <string>要监听的地址。仅接受 IP 地址或 localhost 作为值。当提供 localhost 时,istioctl 将尝试绑定到 127.0.0.1 和 ::1,如果这两个地址都不可用于绑定,则将失败。(默认 `localhost`)
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--browser当提供 `--browser` 为 `false` 时,`istioctl dashboard` 将不会打开浏览器。默认值为 `true`,这意味着 `istioctl dashboard` 将始终打开浏览器以查看仪表板。
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--port <int>-p要监听的本地端口(默认值 `0`)
--ui-port <int>组件仪表板 UI 端口。(默认值 `3000`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  istioctl dashboard grafana

  # with short syntax
  istioctl dash grafana
  istioctl d grafana

istioctl dashboard istiod-debug

打开 Istio 控制平面 Pod 的调试 Web UI

istioctl dashboard istiod-debug [<type>/]<name>[.<namespace>] [flags]
标志缩写描述
--address <string>要监听的地址。仅接受 IP 地址或 localhost 作为值。当提供 localhost 时,istioctl 将尝试绑定到 127.0.0.1 和 ::1,如果这两个地址都不可用于绑定,则将失败。(默认 `localhost`)
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--browser当提供 `--browser` 为 `false` 时,`istioctl dashboard` 将不会打开浏览器。默认值为 `true`,这意味着 `istioctl dashboard` 将始终打开浏览器以查看仪表板。
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--port <int>-p要监听的本地端口(默认值 `0`)
--selector <string>-l标签选择器(默认值 ``)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Open Istio debug web UI for the istiod-123-456.istio-system pod
  istioctl dashboard istiod-debug istiod-123-456.istio-system

  # Open Istio debug web UI for the istiod-56dd66799-jfdvs pod in a custom namespace
  istioctl dashboard istiod-debug istiod-123-456 -n custom-ns

  # Open Istio debug web UI for any Istiod pod
  istioctl dashboard istiod-debug deployment/istiod.istio-system

  # with short syntax
  istioctl dash istiod-debug pilot-123-456.istio-system
  istioctl d istiod-debug pilot-123-456.istio-system

istioctl dashboard jaeger

打开 Istio 的 Jaeger 仪表板

istioctl dashboard jaeger [flags]
标志缩写描述
--address <string>要监听的地址。仅接受 IP 地址或 localhost 作为值。当提供 localhost 时,istioctl 将尝试绑定到 127.0.0.1 和 ::1,如果这两个地址都不可用于绑定,则将失败。(默认 `localhost`)
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--browser当提供 `--browser` 为 `false` 时,`istioctl dashboard` 将不会打开浏览器。默认值为 `true`,这意味着 `istioctl dashboard` 将始终打开浏览器以查看仪表板。
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--port <int>-p要监听的本地端口(默认值 `0`)
--ui-port <int>组件仪表板 UI 端口。(默认值 `16686`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  istioctl dashboard jaeger

  # with short syntax
  istioctl dash jaeger
  istioctl d jaeger

istioctl dashboard kiali

打开 Istio 的 Kiali 仪表板

istioctl dashboard kiali [flags]
标志缩写描述
--address <string>要监听的地址。仅接受 IP 地址或 localhost 作为值。当提供 localhost 时,istioctl 将尝试绑定到 127.0.0.1 和 ::1,如果这两个地址都不可用于绑定,则将失败。(默认 `localhost`)
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--browser当提供 `--browser` 为 `false` 时,`istioctl dashboard` 将不会打开浏览器。默认值为 `true`,这意味着 `istioctl dashboard` 将始终打开浏览器以查看仪表板。
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--port <int>-p要监听的本地端口(默认值 `0`)
--ui-port <int>组件仪表板 UI 端口。(默认值 `20001`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  istioctl dashboard kiali

  # with short syntax
  istioctl dash kiali
  istioctl d kiali

istioctl dashboard prometheus

打开 Istio 的 Prometheus 仪表板

istioctl dashboard prometheus [flags]
标志缩写描述
--address <string>要监听的地址。仅接受 IP 地址或 localhost 作为值。当提供 localhost 时,istioctl 将尝试绑定到 127.0.0.1 和 ::1,如果这两个地址都不可用于绑定,则将失败。(默认 `localhost`)
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--browser当提供 `--browser` 为 `false` 时,`istioctl dashboard` 将不会打开浏览器。默认值为 `true`,这意味着 `istioctl dashboard` 将始终打开浏览器以查看仪表板。
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--port <int>-p要监听的本地端口(默认值 `0`)
--ui-port <int>组件仪表板 UI 端口。(默认值 `9090`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  istioctl dashboard prometheus

  # with short syntax
  istioctl dash prometheus
  istioctl d prometheus

istioctl dashboard proxy

打开代理的管理仪表板,例如 Envoy 和 Ztunnel Pod

istioctl dashboard proxy [<type>/]<name>[.<namespace>] [flags]
标志缩写描述
--address <string>要监听的地址。仅接受 IP 地址或 localhost 作为值。当提供 localhost 时,istioctl 将尝试绑定到 127.0.0.1 和 ::1,如果这两个地址都不可用于绑定,则将失败。(默认 `localhost`)
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--browser当提供 `--browser` 为 `false` 时,`istioctl dashboard` 将不会打开浏览器。默认值为 `true`,这意味着 `istioctl dashboard` 将始终打开浏览器以查看仪表板。
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--port <int>-p要监听的本地端口(默认值 `0`)
--selector <string>-l标签选择器(默认值 ``)
--ui-port <int>组件仪表板 UI 端口。(默认值 `15000`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Open envoy admin dashboard for the productpage-123-456.default pod
  istioctl dashboard proxy productpage-123-456.default

  # Open envoy admin dashboard for one pod under a deployment
  istioctl dashboard proxy deployment/productpage-v1

  # Open dashboard for the ztunnel-bwh89.istio-system pod
  istioctl dashboard proxy ztunnel-bwh89.istio-system

  # Open dashboard for a waypoint pod
  istioctl dashboard proxy namespace-istio-waypoint-869b56b69c-7khz4

  # with short syntax
  istioctl dash proxy ztunnel-bwh89.istio-system
  istioctl d proxy ztunnel-bwh89.istio-system

istioctl dashboard skywalking

打开 SkyWalking UI 中的 Istio 仪表板

istioctl dashboard skywalking [flags]
标志缩写描述
--address <string>要监听的地址。仅接受 IP 地址或 localhost 作为值。当提供 localhost 时,istioctl 将尝试绑定到 127.0.0.1 和 ::1,如果这两个地址都不可用于绑定,则将失败。(默认 `localhost`)
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--browser当提供 `--browser` 为 `false` 时,`istioctl dashboard` 将不会打开浏览器。默认值为 `true`,这意味着 `istioctl dashboard` 将始终打开浏览器以查看仪表板。
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--port <int>-p要监听的本地端口(默认值 `0`)
--ui-port <int>组件仪表板 UI 端口。(默认值 `8080`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  istioctl dashboard skywalking

  # with short syntax
  istioctl dash skywalking
  istioctl d skywalking

istioctl dashboard zipkin

打开 Istio 的 Zipkin 仪表板

istioctl dashboard zipkin [flags]
标志缩写描述
--address <string>要监听的地址。仅接受 IP 地址或 localhost 作为值。当提供 localhost 时,istioctl 将尝试绑定到 127.0.0.1 和 ::1,如果这两个地址都不可用于绑定,则将失败。(默认 `localhost`)
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--browser当提供 `--browser` 为 `false` 时,`istioctl dashboard` 将不会打开浏览器。默认值为 `true`,这意味着 `istioctl dashboard` 将始终打开浏览器以查看仪表板。
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--port <int>-p要监听的本地端口(默认值 `0`)
--ui-port <int>组件仪表板 UI 端口。(默认值 `9411`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  istioctl dashboard zipkin

  # with short syntax
  istioctl dash zipkin
  istioctl d zipkin

istioctl experimental

可能会修改或弃用的实验性命令

标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

istioctl experimental authz

此命令处于积极开发中,尚未准备好用于生产环境。

标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

istioctl experimental authz check

检查通过直接检查 Pod 的 Envoy 配置来打印应用于 Pod 的 `AuthorizationPolicy`。该命令对于检查策略从 Istiod 到 Envoy 的传播以及从多个来源(网格级别、命名空间级别和工作负载级别)合并的最终 `AuthorizationPolicy` 列表特别有用。

该命令还支持使用标志 `-f` 从独立的配置转储文件读取。

istioctl experimental authz check [<type>/]<name>[.<namespace>] [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--file <string>-f要检查的带有 Envoy 配置转储的 json 文件(默认值 ``)
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Check AuthorizationPolicy applied to pod httpbin-88ddbcfdd-nt5jb:
  istioctl x authz check httpbin-88ddbcfdd-nt5jb

  # Check AuthorizationPolicy applied to one pod under a deployment
  istioctl x authz check deployment/productpage-v1

  # Check AuthorizationPolicy from Envoy config dump file:
  istioctl x authz check -f httpbin_config_dump.json

istioctl experimental check-inject

检查给定资源的关联资源,并运行 Webhook 以检查 Pod 是否可以或将被注入。

istioctl experimental check-inject [<type>/]<name>[.<namespace>] [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--labels <string>-l检查命名空间和标签对的注入状态,用逗号分隔多个标签(默认值 ``)
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Check the injection status of a pod
  istioctl experimental check-inject details-v1-fcff6c49c-kqnfk.test
	
  # Check the injection status of a pod under a deployment
  istioctl x check-inject deployment/details-v1

  # Check the injection status of a pod under a deployment in namespace test
  istioctl x check-inject deployment/details-v1 -n test

  # Check the injection status of label pairs in a specific namespace before actual injection 
  istioctl x check-inject -n test -l app=helloworld,version=v1

istioctl experimental config

配置 `istioctl` 默认值

标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # list configuration parameters
  istioctl experimental config list

istioctl experimental config list

列出 `istio` 可配置的默认值

istioctl experimental config list [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

istioctl experimental describe

描述资源和相关的 Istio 配置

istioctl experimental describe [flags]
istioctl experimental des [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

istioctl experimental describe pod

分析 Pod、其服务、`DestinationRule` 和 `VirtualService`,并报告影响该 Pod 的配置对象。

此命令处于积极开发中,尚未准备好用于生产环境。

istioctl experimental describe pod <pod> [flags]
istioctl experimental describe po <pod> [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--ignoreUnmeshed抑制对未连接到网格的 Pod 的警告
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  istioctl experimental describe pod productpage-v1-c7765c886-7zzd4

istioctl experimental describe service

分析服务、Pod、`DestinationRule` 和 `VirtualService`,并报告影响该服务的配置对象。

此命令处于积极开发中,尚未准备好用于生产环境。

istioctl experimental describe service <svc> [flags]
istioctl experimental describe svc <svc> [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--ignoreUnmeshed抑制对未连接到网格的 Pod 的警告
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  istioctl experimental describe service productpage

istioctl experimental envoy-stats

检索指定 Pod 的 Envoy 发出的指标。

istioctl experimental envoy-stats [<type>/]<name>[.<namespace>] [flags]
istioctl experimental es [<type>/]<name>[.<namespace>] [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--output <string>-o输出格式:`json`、`yaml`、`short`、`prom` 或 `prom-merged` 之一(默认值 `short`)
--proxy-admin-port <int>Envoy 代理管理端口(默认值 `15000`)
--selector <string>-l标签选择器(默认值 ``)
--type <string>-t从哪里获取统计信息:`server` 或 `clusters` 之一(默认值 `server`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Retrieve Envoy emitted metrics for the specified pod.
  istioctl experimental envoy-stats <pod-name[.namespace]>

  # Retrieve Envoy server metrics in prometheus format
  istioctl experimental envoy-stats <pod-name[.namespace]> --output prom

  # Retrieve Envoy server metrics in prometheus format with custom proxy admin port
  istioctl experimental envoy-stats <pod-name[.namespace]> --output prom --proxy-admin-port 15000

  # Retrieve Envoy server metrics in prometheus format with merged application metrics
  istioctl experimental envoy-stats <pod-name[.namespace]> --output prom-merged

  # Retrieve Envoy cluster metrics
  istioctl experimental envoy-stats <pod-name[.namespace]> --type clusters

istioctl experimental injector

列出 Sidecar 注入器和 Sidecar 版本

istioctl experimental injector [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  istioctl experimental injector list

istioctl experimental injector list

列出 Sidecar 注入器和 Sidecar 版本

istioctl experimental injector list [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  istioctl experimental injector list

istioctl experimental internal-debug

使用 Pod 的服务帐户从网格中的 Istiod 或 Pod 检索调试信息(如果 `--cert-dir` 为空)。默认情况下,如果未指定 Pod,它将使用(`istio-system`)命名空间中的默认服务帐户。

此命令处于积极开发中,尚未准备好用于生产环境。

istioctl experimental internal-debug [<type>/]<name>[.<namespace>] [flags]
标志缩写描述
--all向所有 Istiod 实例发送相同的请求。仅适用于集群内部署。
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--authority <string>XDS 主题备用名称(例如 `istiod.istio-system.svc`)(默认值 ``)
--cert-dir <string>XDS 端点证书目录(默认值 ``)
--context <string>Kubernetes 配置上下文(默认 '')
--insecure跳过服务器证书和域名验证。(不安全!)
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--plaintext在连接到服务器时使用纯文本 HTTP/2(无 TLS)。
--revision <string>-r控制平面版本(默认 '')
--timeout <duration>在失败之前等待的持续时间(默认 `30s`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)
--xds-address <string>XDS 端点(默认值 ``)
--xds-label <string>Istiod Pod 标签选择器(默认值 ``)
--xds-port <int>Istiod Pod 端口(默认值 `15012`)

示例

  # Retrieve sync status for all Envoys in a mesh
  istioctl x internal-debug syncz

  # Retrieve sync diff for a single Envoy and Istiod
  istioctl x internal-debug syncz istio-egressgateway-59585c5b9c-ndc59.istio-system

  # SECURITY OPTIONS

  # Retrieve syncz debug information directly from the control plane, using token security
  # (This is the usual way to get the debug information with an out-of-cluster control plane.)
  istioctl x internal-debug syncz --xds-address istio.cloudprovider.example.com:15012

  # Retrieve syncz debug information via Kubernetes config, using token security
  # (This is the usual way to get the debug information with an in-cluster control plane.)
  istioctl x internal-debug syncz

  # Retrieve syncz debug information directly from the control plane, using RSA certificate security
  # (Certificates must be obtained before this step.  The --cert-dir flag lets istioctl bypass the Kubernetes API server.)
  istioctl x internal-debug syncz --xds-address istio.example.com:15012 --cert-dir ~/.istio-certs

  # Retrieve syncz information via XDS from specific control plane in multi-control plane in-cluster configuration
  # (Select a specific control plane in an in-cluster canary Istio configuration.)
  istioctl x internal-debug syncz --xds-label istio.io/rev=default

istioctl experimental metrics

在 Kubernetes 中运行时,打印指定服务(s)的指标。

此命令查找在指定的 `istio` 系统命名空间中运行的 Prometheus Pod。然后,它对每个请求的工作负载执行一系列查询,以查找以下顶级工作负载指标:每秒总请求数、错误率以及 p50、p90 和 p99 百分位的请求延迟。查询结果会打印到控制台,并按工作负载名称组织。

返回的所有指标都来自服务器端报告。这意味着延迟和错误率是从服务本身的角度而不是从单个客户端(或客户端的聚合集)的角度来看的。速率和延迟是在 1 分钟的时间间隔内计算的。

istioctl experimental metrics <workload name>...
istioctl experimental m <workload name>...
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--duration <duration>-d查询指标的持续时间,默认值为 1m。(默认值 `1m0s`)
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Retrieve workload metrics for productpage-v1 workload
  istioctl experimental metrics productpage-v1

  # Retrieve workload metrics for various services with custom duration
  istioctl experimental metrics productpage-v1 -d 2m

  # Retrieve workload metrics for various services in the different namespaces
  istioctl experimental metrics productpage-v1.foo reviews-v1.bar ratings-v1.baz

istioctl experimental precheck

预检查检查 Kubernetes 集群是否满足 Istio 安装和升级要求。

istioctl experimental precheck [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--from-version <string>-f检查自提供的版本以来的更改(默认值 ``)
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--output <string>-o输出格式:[log json yaml] 之一(默认 `log`)
--output-threshold <Level>要显示消息的预检查严重性级别。有效值:`[Info Warning Error]`(默认值 `Warning`)
--revision <string>-r控制平面版本(默认 '')
--skip-controlplane跳过检查控制平面
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Verify that Istio can be installed or upgraded
  istioctl x precheck

  # Check only a single namespace
  istioctl x precheck --namespace default

  # Check for behavioral changes since a specific version
  istioctl x precheck --from-version 1.10

istioctl experimental proxy-status

检索从 Istiod 到网格中每个 Envoy 的最后发送和最后确认的 xDS 同步

istioctl experimental proxy-status [<type>/]<name>[.<namespace>] [flags]
istioctl experimental ps [<type>/]<name>[.<namespace>] [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--authority <string>XDS 主题备用名称(例如 `istiod.istio-system.svc`)(默认值 ``)
--cert-dir <string>XDS 端点证书目录(默认值 ``)
--context <string>Kubernetes 配置上下文(默认 '')
--file <string>-fEnvoy 配置转储 JSON 文件(默认值 ``)
--insecure跳过服务器证书和域名验证。(不安全!)
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--plaintext在连接到服务器时使用纯文本 HTTP/2(无 TLS)。
--revision <string>-r控制平面版本(默认 '')
--timeout <duration>在失败之前等待的持续时间(默认 `30s`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)
--xds-address <string>XDS 端点(默认值 ``)
--xds-label <string>Istiod Pod 标签选择器(默认值 ``)
--xds-port <int>Istiod Pod 端口(默认值 `15012`)
--xds-via-agents通过每个代理的 tap 服务访问 Istiod
--xds-via-agents-limit <xds-via-agent>当 `xds-via-agent` 标志为 `true` 时,`istioctl` 访问的 Pod 的最大数量。要无限制地遍历所有代理 Pod,请设置为 0(默认值 `100`)

示例

  # Retrieve sync status for all Envoys in a mesh
  istioctl proxy-status

  # Retrieve sync status for Envoys in a specific namespace
  istioctl proxy-status --namespace foo

  # Retrieve sync diff for a single Envoy and Istiod
  istioctl proxy-status istio-egressgateway-59585c5b9c-ndc59.istio-system

  # SECURITY OPTIONS

  # Retrieve proxy status information directly from the control plane, using token security
  # (This is the usual way to get the proxy-status with an out-of-cluster control plane.)
  istioctl ps --xds-address istio.cloudprovider.example.com:15012

  # Retrieve proxy status information via Kubernetes config, using token security
  # (This is the usual way to get the proxy-status with an in-cluster control plane.)
  istioctl proxy-status

  # Retrieve proxy status information directly from the control plane, using RSA certificate security
  # (Certificates must be obtained before this step.  The --cert-dir flag lets istioctl bypass the Kubernetes API server.)
  istioctl ps --xds-address istio.example.com:15012 --cert-dir ~/.istio-certs

  # Retrieve proxy status information via XDS from specific control plane in multi-control plane in-cluster configuration
  # (Select a specific control plane in an in-cluster canary Istio configuration.)
  istioctl ps --xds-label istio.io/rev=default

istioctl experimental version

打印构建版本信息

istioctl experimental version [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--authority <string>XDS 主题备用名称(例如 `istiod.istio-system.svc`)(默认值 ``)
--cert-dir <string>XDS 端点证书目录(默认值 ``)
--context <string>Kubernetes 配置上下文(默认 '')
--insecure跳过服务器证书和域名验证。(不安全!)
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--output <string>-o'yaml' 或 'json' 之一。(默认 '')
--plaintext在连接到服务器时使用纯文本 HTTP/2(无 TLS)。
--remote使用 `--remote=false` 来抑制控制平面检查
--revision <string>-r控制平面版本(默认 '')
--short-s使用 --short=false 生成完整的版本信息
--timeout <duration>在失败之前等待的持续时间(默认 `30s`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)
--xds-address <string>XDS 端点(默认值 ``)
--xds-label <string>Istiod Pod 标签选择器(默认值 ``)
--xds-port <int>Istiod Pod 端口(默认值 `15012`)

示例

  # Retrieve version information directly from the control plane, using token security
  # (This is the usual way to get the control plane version with an out-of-cluster control plane.)
  istioctl x version --xds-address istio.cloudprovider.example.com:15012

  # Retrieve version information via Kubernetes config, using token security
  # (This is the usual way to get the control plane version with an in-cluster control plane.)
  istioctl x version

  # Retrieve version information directly from the control plane, using RSA certificate security
  # (Certificates must be obtained before this step.  The --cert-dir flag lets istioctl bypass the Kubernetes API server.)
  istioctl x version --xds-address istio.example.com:15012 --cert-dir ~/.istio-certs

  # Retrieve version information via XDS from specific control plane in multi-control plane in-cluster configuration
  # (Select a specific control plane in an in-cluster canary Istio configuration.)
  istioctl x version --xds-label istio.io/rev=default

istioctl experimental workload

用于帮助配置和部署在 VM 和其他非 Kubernetes 环境中运行的工作负载的命令

标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # workload group yaml generation
  istioctl x workload group create

  # workload entry configuration generation
  istioctl x workload entry configure

istioctl experimental workload entry

处理 `WorkloadEntry` 资源的命令

标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  istioctl x workload entry configure -f workloadgroup.yaml -o outputDir

istioctl experimental workload entry configure

从 `WorkloadGroup` 工件生成 VM 或非 Kubernetes 环境中工作负载实例所需的所有配置文件。这包括 `MeshConfig` 资源、`cluster.env` 文件以及必要的证书和安全令牌。`configure` 需要 `WorkloadGroup` 工件路径或其在 API 服务器上的位置。

istioctl experimental workload entry configure [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--autoregister在连接到 Istiod 时创建 `WorkloadEntry`(如果在 Pilot 中启用)。
--capture-dns启用捕获端口 53 上发出的 DNS 数据包,并将它们重定向到 `istio-agent`
--clusterID <string>用于标识集群的 ID(默认值 ``)
--context <string>Kubernetes 配置上下文(默认 '')
--externalIP <string>工作负载的外部 IP 地址(默认值 ``)
--file <string>-f`WorkloadGroup` 工件的文件名。如果使用 API 服务器,请将此字段留空(默认值 ``)
--ingressIP <string>入口网关的 IP 地址(默认值 ``)
--ingressService <string>要用作入口网关的服务的名称,格式为 <service>.<namespace>。如果没有提供命名空间,则使用默认的 `istio-system` 命名空间。(默认值 `istio-eastwestgateway`)
--internalIP <string>工作负载的内部 IP 地址(默认值 ``)
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--name <string>工作负载组的名称(默认值 ``)
--namespace <string>-n工作负载实例所属的命名空间(默认值 ``)
--output <string>-o生成的文件的输出目录(默认值 ``)
--revision <string>-r控制平面版本(默认 '')
--tokenDuration <int>令牌持续时间(秒)(默认值:1 小时)(默认值 `3600`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # configure example using a local WorkloadGroup artifact
  istioctl x workload entry configure -f workloadgroup.yaml -o config

  # configure example using the API server
  istioctl x workload entry configure --name foo --namespace bar -o config

istioctl experimental workload group

处理 `WorkloadGroup` 资源的命令

标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  istioctl x workload group create --name foo --namespace bar --labels app=foobar

istioctl experimental workload group create

创建一个 `WorkloadGroup` 资源,该资源提供与关联的 `WorkloadEntry` 相对应的模板。默认输出是序列化 YAML,可以将其通过管道传输到 `kubectl apply -f -` 以将工件发送到 API 服务器。

istioctl experimental workload group create [flags]
标志缩写描述
--annotations <stringSlice>-a要应用于工作负载实例的注释(默认值 `[]`)
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--labels <stringSlice>-l要应用于工作负载实例的标签;例如 `-l env=prod,vers=2`(默认值 `[]`)
--name <string>工作负载组的名称(默认值 ``)
--namespace <string>-n工作负载实例将所属的命名空间(默认值 ``)
--ports <stringSlice>-p工作负载实例公开的传入端口(默认值 `[]`)
--serviceAccount <string>-s要与工作负载实例关联的服务标识(默认值 `default`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  istioctl x workload group create --name foo --namespace bar --labels app=foo,bar=baz --ports grpc=3550,http=8080 --annotations annotation=foobar --serviceAccount sa

istioctl install

安装命令生成 Istio 安装清单并将其应用于集群。

istioctl install [flags]
istioctl apply [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--charts <string>已弃用,请使用 `--manifests` 代替。(默认值 ``)
--context <string>Kubernetes 配置上下文(默认 '')
--dry-run仅控制台/日志输出,不进行任何更改。
--filename <stringSlice>-f包含 `IstioOperator` 自定义资源的文件的路径。此标志可以指定多次以覆盖多个文件。多个文件按从左到右的顺序覆盖。(默认值 `[]`)
--force即使有验证错误也要继续进行。
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--manifests <string>-d指定指向图表和配置文件目录的路径(例如 ~/Downloads/istio-1.24.0/manifests)。(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--readiness-timeout <duration>等待每个组件中的 Istio 资源准备好后的最大时间。(默认值 `5m0s`)
--revision <string>-r命令的目标控制平面版本。(默认值 ``)
--set <stringArray>-s覆盖 `IstioOperator` 值,例如选择配置文件(`--set profile=demo`),启用或禁用组件(`--set components.cni.enabled=true`),或覆盖 Istio 设置(`--set meshConfig.enableTracing=true`)。有关更多信息,请参阅文档:https://istio.ac.cn/v1.24/docs/reference/config/istio.operator.v1alpha1/#IstioOperatorSpec (默认值 `[]`)
--skip-confirmation-y`skipConfirmation` 决定是否提示用户进行确认。如果设置为 `true`,则不会提示用户,并在所有情况下都假定为是响应。
--verify在安装/就地升级后验证 Istio 控制平面
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Apply a default Istio installation
  istioctl install

  # Enable Tracing
  istioctl install --set meshConfig.enableTracing=true

  # Generate the demo profile and don't wait for confirmation
  istioctl install --set profile=demo --skip-confirmation

  # To override a setting that includes dots, escape them with a backslash (\).  Your shell may require enclosing quotes.
  istioctl install --set "values.sidecarInjectorWebhook.injectedAnnotations.container\.apparmor\.security\.beta\.kubernetes\.io/istio-proxy=runtime/default"

istioctl kube-inject

kube-inject 手动将 Istio sidecar 注入 Kubernetes 工作负载。不支持的资源将保持不变,因此在包含复杂应用程序的多个服务、配置映射、部署等定义的单个文件上运行 kube-inject 是安全的。如有疑问,请在部署上重新运行 istioctl kube-inject 以获取最新的更改。

最好在创建资源时执行 kube-inject。

istioctl kube-inject [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--authority <string>XDS 主题备用名称(例如 `istiod.istio-system.svc`)(默认值 ``)
--cert-dir <string>XDS 端点证书目录(默认值 ``)
--context <string>Kubernetes 配置上下文(默认 '')
--filename <string>-f输入 Kubernetes 资源文件名(默认值 "")
--injectConfigFile <string>注入配置文件名。不能与 --injectConfigMapName 一起使用(默认值 "")
--insecure跳过服务器证书和域名验证。(不安全!)
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--meshConfigFile <string>网格配置文件名。如果设置了该参数,则优先于 --meshConfigMapName(默认值 "")
--meshConfigMapName <string>Istio 网格配置的 ConfigMap 名称,键应为 "mesh"(默认值 "istio")
--namespace <string>-nKubernetes 命名空间(默认 '')
--operatorFileName <string>包含 IstioOperator 自定义资源的文件的路径。如果提供了来自 meshConfigFile、valuesFile 等文件中的配置,则它们将被 iop 配置值覆盖。(默认值 "")
--output <string>-o修改后的输出 Kubernetes 资源文件名(默认值 "")
--plaintext在连接到服务器时使用纯文本 HTTP/2(无 TLS)。
--revision <string>-r控制平面版本(默认 '')
--timeout <duration>在失败之前等待的持续时间(默认 `30s`)
--valuesFile <string>注入值配置文件名。(默认值 "")
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)
--webhookConfig <string>Istio 的 MutatingWebhookConfiguration 名称(默认值 "istio-sidecar-injector")
--xds-address <string>XDS 端点(默认值 ``)
--xds-label <string>Istiod Pod 标签选择器(默认值 ``)
--xds-port <int>Istiod Pod 端口(默认值 `15012`)

示例

  # Update resources on the fly before applying.
  kubectl apply -f <(istioctl kube-inject -f <resource.yaml>)

  # Create a persistent version of the deployment with Istio sidecar injected.
  istioctl kube-inject -f deployment.yaml -o deployment-injected.yaml

  # Update an existing deployment.
  kubectl get deployment -o yaml | istioctl kube-inject -f - | kubectl apply -f -

  # Capture cluster configuration for later use with kube-inject
  kubectl -n istio-system get cm istio-sidecar-injector  -o jsonpath="{.data.config}" > /tmp/inj-template.tmpl
  kubectl -n istio-system get cm istio -o jsonpath="{.data.mesh}" > /tmp/mesh.yaml
  kubectl -n istio-system get cm istio-sidecar-injector -o jsonpath="{.data.values}" > /tmp/values.json

  # Use kube-inject based on captured configuration
  istioctl kube-inject -f samples/bookinfo/platform/kube/bookinfo.yaml \
    --injectConfigFile /tmp/inj-template.tmpl \
    --meshConfigFile /tmp/mesh.yaml \
    --valuesFile /tmp/values.json

istioctl manifest

manifest 命令生成和比较 Istio 清单。

标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--dry-run仅控制台/日志输出,不进行任何更改。
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

istioctl manifest generate

generate 子命令生成 Istio 安装清单,默认情况下输出到控制台。

istioctl manifest generate [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--charts <string>已弃用,请使用 `--manifests` 代替。(默认值 ``)
--cluster-specific如果启用,则会检查当前集群以进行特定于集群的设置检测。
--context <string>Kubernetes 配置上下文(默认 '')
--dry-run仅控制台/日志输出,不进行任何更改。
--filename <stringSlice>-f包含 `IstioOperator` 自定义资源的文件的路径。此标志可以指定多次以覆盖多个文件。多个文件按从左到右的顺序覆盖。(默认值 `[]`)
--force即使有验证错误也要继续进行。
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--manifests <string>-d指定指向图表和配置文件目录的路径(例如 ~/Downloads/istio-1.24.0/manifests)。(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--revision <string>-r命令的目标控制平面版本。(默认值 ``)
--set <stringArray>-s覆盖 `IstioOperator` 值,例如选择配置文件(`--set profile=demo`),启用或禁用组件(`--set components.cni.enabled=true`),或覆盖 Istio 设置(`--set meshConfig.enableTracing=true`)。有关更多信息,请参阅文档:https://istio.ac.cn/v1.24/docs/reference/config/istio.operator.v1alpha1/#IstioOperatorSpec (默认值 `[]`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Generate a default Istio installation
  istioctl manifest generate

  # Enable Tracing
  istioctl manifest generate --set meshConfig.enableTracing=true

  # Generate the demo profile
  istioctl manifest generate --set profile=demo

  # To override a setting that includes dots, escape them with a backslash (\).  Your shell may require enclosing quotes.
  istioctl manifest generate --set "values.sidecarInjectorWebhook.injectedAnnotations.container\.apparmor\.security\.beta\.kubernetes\.io/istio-proxy=runtime/default"

istioctl manifest install

安装命令生成 Istio 安装清单并将其应用于集群。

istioctl manifest install [flags]
istioctl manifest apply [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--charts <string>已弃用,请使用 `--manifests` 代替。(默认值 ``)
--context <string>Kubernetes 配置上下文(默认 '')
--dry-run仅控制台/日志输出,不进行任何更改。
--filename <stringSlice>-f包含 `IstioOperator` 自定义资源的文件的路径。此标志可以指定多次以覆盖多个文件。多个文件按从左到右的顺序覆盖。(默认值 `[]`)
--force即使有验证错误也要继续进行。
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--manifests <string>-d指定指向图表和配置文件目录的路径(例如 ~/Downloads/istio-1.24.0/manifests)。(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--readiness-timeout <duration>等待每个组件中的 Istio 资源准备好后的最大时间。(默认值 `5m0s`)
--revision <string>-r命令的目标控制平面版本。(默认值 ``)
--set <stringArray>-s覆盖 `IstioOperator` 值,例如选择配置文件(`--set profile=demo`),启用或禁用组件(`--set components.cni.enabled=true`),或覆盖 Istio 设置(`--set meshConfig.enableTracing=true`)。有关更多信息,请参阅文档:https://istio.ac.cn/v1.24/docs/reference/config/istio.operator.v1alpha1/#IstioOperatorSpec (默认值 `[]`)
--skip-confirmation-y`skipConfirmation` 决定是否提示用户进行确认。如果设置为 `true`,则不会提示用户,并在所有情况下都假定为是响应。
--verify在安装/就地升级后验证 Istio 控制平面
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Apply a default Istio installation
  istioctl install

  # Enable Tracing
  istioctl install --set meshConfig.enableTracing=true

  # Generate the demo profile and don't wait for confirmation
  istioctl install --set profile=demo --skip-confirmation

  # To override a setting that includes dots, escape them with a backslash (\).  Your shell may require enclosing quotes.
  istioctl install --set "values.sidecarInjectorWebhook.injectedAnnotations.container\.apparmor\.security\.beta\.kubernetes\.io/istio-proxy=runtime/default"

istioctl manifest translate

translate 子命令转换 Istio 安装清单,默认情况下输出到控制台。

istioctl manifest translate [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--dry-run仅控制台/日志输出,不进行任何更改。
--filename <stringSlice>-f包含 `IstioOperator` 自定义资源的文件的路径。此标志可以指定多次以覆盖多个文件。多个文件按从左到右的顺序覆盖。(默认值 `[]`)
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--manifests <string>-d指定指向图表和配置文件目录的路径(例如 ~/Downloads/istio-1.24.0/manifests)。(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--output <string>-o将翻译后的输出放在哪里(默认值 "")
--revision <string>-r命令的目标控制平面版本。(默认值 ``)
--set <stringArray>-s覆盖 `IstioOperator` 值,例如选择配置文件(`--set profile=demo`),启用或禁用组件(`--set components.cni.enabled=true`),或覆盖 Istio 设置(`--set meshConfig.enableTracing=true`)。有关更多信息,请参阅文档:https://istio.ac.cn/v1.24/docs/reference/config/istio.operator.v1alpha1/#IstioOperatorSpec (默认值 `[]`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Translate an IstioOperator yaml file into helm values
  istioctl manifest translate -f istio.yaml

  # Translate a default Istio installation
  istioctl manifest translate

  # Enable Tracing
  istioctl manifest translate --set meshConfig.enableTracing=true

  # Translate the demo profile
  istioctl manifest translate --set profile=demo

  # To override a setting that includes dots, escape them with a backslash (\).  Your shell may require enclosing quotes.
  istioctl manifest translate --set "values.sidecarInjectorWebhook.injectedAnnotations.container\.apparmor\.security\.beta\.kubernetes\.io/istio-proxy=runtime/default"

istioctl options

显示 istioctl 全局选项

标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

istioctl proxy-config

一组用于从 Envoy 配置转储中检索有关代理配置信息的命令

标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--output <string>-o输出格式:json|yaml|short 之一(默认 `short`)
--proxy-admin-port <int>Envoy 代理管理端口(默认值 `15000`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Retrieve information about proxy configuration from an Envoy instance.
  istioctl proxy-config <clusters|listeners|routes|endpoints|ecds|bootstrap|log|secret> <pod-name[.namespace]>

istioctl proxy-config all

检索指定 Pod 中 Envoy 实例的所有配置信息。

istioctl proxy-config all [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config a [<type>/]<name>[.<namespace>] [flags]
标志缩写描述
--address <string>按地址字段筛选监听器(默认值 "")
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--direction <string>按 Direction 字段筛选集群(默认值 "")
--file <string>-fEnvoy 配置转储文件(默认值 "")
--fqdn <string>按服务 FQDN 字段的子字符串筛选集群(默认值 "")
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--name <string>按路由名称字段筛选路由(默认值 "")
--namespace <string>-nKubernetes 命名空间(默认 '')
--output <string>-o输出格式:json|yaml|short 之一(默认 `short`)
--port <int>按端口字段筛选集群和监听器(默认值 "0")
--proxy-admin-port <int>Envoy 代理管理端口(默认值 `15000`)
--subset <string>按 Subset 字段的子字符串筛选集群(默认值 "")
--type <string>按类型字段筛选监听器(默认值 "")
--verbose输出更多信息
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Retrieve summary about all configuration for a given pod from Envoy.
  istioctl proxy-config all <pod-name[.namespace]>

  # Retrieve summary about all configuration for a pod under a deployment from Envoy.
  istioctl proxy-config all deployment/<deployment-name[.namespace]>

  # Retrieve full cluster dump as JSON
  istioctl proxy-config all <pod-name[.namespace]> -o json

  # Retrieve full cluster dump with short syntax
  istioctl pc a <pod-name[.namespace]>

  # Retrieve cluster summary without using Kubernetes API
  ssh <user@hostname> 'curl localhost:15000/config_dump' > envoy-config.json
  istioctl proxy-config all --file envoy-config.json

istioctl proxy-config bootstrap

检索指定 Pod 中 Envoy 实例的引导配置信息。

istioctl proxy-config bootstrap [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config b [<type>/]<name>[.<namespace>] [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--file <string>-fEnvoy 配置转储 JSON 文件(默认值 ``)
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--output <string>-o输出格式:json|yaml|short 之一(默认值 "json")
--proxy-admin-port <int>Envoy 代理管理端口(默认值 `15000`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Retrieve full bootstrap configuration for a given pod from Envoy.
  istioctl proxy-config bootstrap <pod-name[.namespace]>

  # Retrieve full bootstrap configuration for a pod under a deployment from Envoy.
  istioctl proxy-config bootstrap deployment/<deployment-name[.namespace]>

  # Retrieve full bootstrap without using Kubernetes API
  ssh <user@hostname> 'curl localhost:15000/config_dump' > envoy-config.json
  istioctl proxy-config bootstrap --file envoy-config.json

  # Show a human-readable Istio and Envoy version summary
  istioctl proxy-config bootstrap <pod-name[.namespace]> -o short

istioctl proxy-config cluster

检索指定 Pod 中 Envoy 实例的集群配置信息。

istioctl proxy-config cluster [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config clusters [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config c [<type>/]<name>[.<namespace>] [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--direction <string>按 Direction 字段筛选集群(默认值 "")
--file <string>-fEnvoy 配置转储 JSON 文件(默认值 ``)
--fqdn <string>按服务 FQDN 字段的子字符串筛选集群(默认值 "")
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--output <string>-o输出格式:json|yaml|short 之一(默认 `short`)
--port <int>按端口字段筛选集群(默认值 "0")
--proxy-admin-port <int>Envoy 代理管理端口(默认值 `15000`)
--subset <string>按 Subset 字段的子字符串筛选集群(默认值 "")
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Retrieve summary about cluster configuration for a given pod from Envoy.
  istioctl proxy-config clusters <pod-name[.namespace]>

  # Retrieve summary about cluster configuration for a pod under a deployment from Envoy.
  istioctl proxy-config clusters deployment/<deployment-name[.namespace]>

  # Retrieve cluster summary for clusters with port 9080.
  istioctl proxy-config clusters <pod-name[.namespace]> --port 9080

  # Retrieve full cluster dump for clusters that are inbound with a FQDN of details.default.svc.cluster.local.
  istioctl proxy-config clusters <pod-name[.namespace]> --fqdn details.default.svc.cluster.local --direction inbound -o json

  # Retrieve cluster summary without using Kubernetes API
  ssh <user@hostname> 'curl localhost:15000/config_dump' > envoy-config.json
  istioctl proxy-config clusters --file envoy-config.json

istioctl proxy-config ecds

检索指定 Pod 中 Envoy 实例的类型化扩展配置信息。

istioctl proxy-config ecds [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config ec [<type>/]<name>[.<namespace>] [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--file <string>-fEnvoy 配置转储 JSON 文件(默认值 ``)
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--output <string>-o输出格式:json|yaml|short 之一(默认 `short`)
--proxy-admin-port <int>Envoy 代理管理端口(默认值 `15000`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Retrieve full typed extension configuration for a given pod from Envoy.
  istioctl proxy-config ecds <pod-name[.namespace]>

  # Retrieve full typed extension configuration for a pod under a deployment from Envoy.
  istioctl proxy-config ecds deployment/<deployment-name[.namespace]>

  # Retrieve endpoint summary without using Kubernetes API
  ssh <user@hostname> 'curl localhost:15000/config_dump' > envoy-config.json
  istioctl proxy-config ecds --file envoy-config.json

istioctl proxy-config endpoint

检索指定 Pod 中 Envoy 实例的端点配置信息。

istioctl proxy-config endpoint [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config endpoints [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config ep [<type>/]<name>[.<namespace>] [flags]
标志缩写描述
--address <string>按地址字段筛选端点(默认值 "")
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--cluster <string>按集群名称字段筛选端点(默认值 "")
--context <string>Kubernetes 配置上下文(默认 '')
--file <string>-fEnvoy 配置转储 JSON 文件(默认值 ``)
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--output <string>-o输出格式:json|yaml|short 之一(默认 `short`)
--port <int>按端口字段筛选端点(默认值 "0")
--proxy-admin-port <int>Envoy 代理管理端口(默认值 `15000`)
--status <string>按状态字段筛选端点(默认值 "")
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Retrieve full endpoint configuration for a given pod from Envoy.
  istioctl proxy-config endpoint <pod-name[.namespace]>

  # Retrieve full endpoint configuration for a pod under a deployment from Envoy.
  istioctl proxy-config endpoint deployment/<deployment-name[.namespace]>

  # Retrieve endpoint summary for endpoint with port 9080.
  istioctl proxy-config endpoint <pod-name[.namespace]> --port 9080

  # Retrieve full endpoint with a address (172.17.0.2).
  istioctl proxy-config endpoint <pod-name[.namespace]> --address 172.17.0.2 -o json

  # Retrieve full endpoint with a cluster name (outbound|9411||zipkin.istio-system.svc.cluster.local).
  istioctl proxy-config endpoint <pod-name[.namespace]> --cluster "outbound|9411||zipkin.istio-system.svc.cluster.local" -o json
  # Retrieve full endpoint with the status (healthy).
  istioctl proxy-config endpoint <pod-name[.namespace]> --status healthy -ojson

  # Retrieve endpoint summary without using Kubernetes API
  ssh <user@hostname> 'curl localhost:15000/clusters?format=json' > envoy-clusters.json
  istioctl proxy-config endpoints --file envoy-clusters.json

istioctl proxy-config listener

检索指定 Pod 中 Envoy 实例的监听器配置信息。

istioctl proxy-config listener [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config listeners [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config l [<type>/]<name>[.<namespace>] [flags]
标志缩写描述
--address <string>按地址字段筛选监听器(默认值 "")
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--file <string>-fEnvoy 配置转储 JSON 文件(默认值 ``)
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--output <string>-o输出格式:json|yaml|short 之一(默认 `short`)
--port <int>按端口字段筛选监听器(默认值 "0")
--proxy-admin-port <int>Envoy 代理管理端口(默认值 `15000`)
--type <string>按类型字段筛选监听器(默认值 "")
--verbose输出更多信息
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Retrieve summary about listener configuration for a given pod from Envoy.
  istioctl proxy-config listeners <pod-name[.namespace]>

  # Retrieve summary about listener configuration a pod under a deployment from Envoy.
  istioctl proxy-config deployment/<deployment-name[.namespace]>

  # Retrieve listener summary for listeners with port 9080.
  istioctl proxy-config listeners <pod-name[.namespace]> --port 9080

  # Retrieve full listener dump for HTTP listeners with a wildcard address (0.0.0.0).
  istioctl proxy-config listeners <pod-name[.namespace]> --type HTTP --address 0.0.0.0 -o json

  # Retrieve listener summary without using Kubernetes API
  ssh <user@hostname> 'curl localhost:15000/config_dump' > envoy-config.json
  istioctl proxy-config listeners --file envoy-config.json

istioctl proxy-config log

检索指定 Pod 中 Envoy 实例的日志级别信息,并可选地更新

istioctl proxy-config log [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config o [<type>/]<name>[.<namespace>] [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--level <string>逗号分隔的每个日志记录器的最小消息输出级别,格式为 [<logger>:]<level>,[<logger>:]<level>,... 或者 <level> 用于更改所有活动日志记录器,其中日志记录器组件可以通过运行 "istioctl proxy-config log <pod-name[.namespace]>" 列出,也可以从 https://github.com/envoyproxy/envoy/blob/main/source/common/common/logger.h 中引用,级别可以是 [trace, debug, info, warning, error, critical, off] 之一(默认值 "")
--namespace <string>-nKubernetes 命名空间(默认 '')
--output <string>-o输出格式:json|yaml|short 之一(默认 `short`)
--proxy-admin-port <int>Envoy 代理管理端口(默认值 `15000`)
--reset-r将级别重置为默认值(警告)。
--selector <string>-l标签选择器(默认值 ``)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Retrieve information about logging levels for a given pod from Envoy.
  istioctl proxy-config log <pod-name[.namespace]>

  # Update levels of the all loggers
  istioctl proxy-config log <pod-name[.namespace]> --level none

  # Update levels of the specified loggers.
  istioctl proxy-config log <pod-name[.namespace]> --level http:debug,redis:debug

  # Reset levels of all the loggers to default value (warning).
  istioctl proxy-config log <pod-name[.namespace]> -r

istioctl proxy-config rootca-compare

比较给定 2 个 Pod 的 ROOTCA 值以检查它们之间的连接性。

此命令处于积极开发中,尚未准备好用于生产环境。

istioctl proxy-config rootca-compare [pod/]<name-1>[.<namespace-1>] [pod/]<name-2>[.<namespace-2>] [flags]
istioctl proxy-config rc [pod/]<name-1>[.<namespace-1>] [pod/]<name-2>[.<namespace-2>] [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--output <string>-o输出格式:json|yaml|short 之一(默认 `short`)
--proxy-admin-port <int>Envoy 代理管理端口(默认值 `15000`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Compare ROOTCA values for given 2 pods to check the connectivity between them.
  istioctl proxy-config rootca-compare <pod-name-1[.namespace]> <pod-name-2[.namespace]>

istioctl proxy-config route

检索指定 Pod 中 Envoy 实例的路由配置信息。

istioctl proxy-config route [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config routes [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config r [<type>/]<name>[.<namespace>] [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--file <string>-fEnvoy 配置转储 JSON 文件(默认值 ``)
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--name <string>按路由名称字段筛选监听器(默认值 "")
--namespace <string>-nKubernetes 命名空间(默认 '')
--output <string>-o输出格式:json|yaml|short 之一(默认 `short`)
--proxy-admin-port <int>Envoy 代理管理端口(默认值 `15000`)
--verbose输出更多信息
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Retrieve summary about route configuration for a given pod from Envoy.
  istioctl proxy-config routes <pod-name[.namespace]>

  # Retrieve summary about route configuration for a pod under a deployment from Envoy.
  istioctl proxy-config routes deployment/<deployment-name[.namespace]>

  # Retrieve route summary for route 9080.
  istioctl proxy-config route <pod-name[.namespace]> --name 9080

  # Retrieve full route dump for route 9080
  istioctl proxy-config route <pod-name[.namespace]> --name 9080 -o json

  # Retrieve route summary without using Kubernetes API
  ssh <user@hostname> 'curl localhost:15000/config_dump' > envoy-config.json
  istioctl proxy-config routes --file envoy-config.json

istioctl proxy-config secret

检索指定 Pod 中 Envoy 实例的秘密配置信息。

istioctl proxy-config secret [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config secrets [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config s [<type>/]<name>[.<namespace>] [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--file <string>-fEnvoy 配置转储 JSON 文件(默认值 ``)
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--output <string>-o输出格式:json|yaml|short 之一(默认 `short`)
--proxy-admin-port <int>Envoy 代理管理端口(默认值 `15000`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Retrieve full secret configuration for a given pod from Envoy.
  istioctl proxy-config secret <pod-name[.namespace]>

  # Retrieve full secret configuration for a pod under a deployment from Envoy.
  istioctl proxy-config secret deployment/<deployment-name[.namespace]>

  # Retrieve full bootstrap without using Kubernetes API
  ssh <user@hostname> 'curl localhost:15000/config_dump' > envoy-config.json
  istioctl proxy-config secret --file envoy-config.json

istioctl proxy-status

检索从 Istiod 到网格中每个 Envoy 的最后发送和最后确认的 xDS 同步

istioctl proxy-status [<type>/]<name>[.<namespace>] [flags]
istioctl ps [<type>/]<name>[.<namespace>] [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--authority <string>XDS 主题备用名称(例如 `istiod.istio-system.svc`)(默认值 ``)
--cert-dir <string>XDS 端点证书目录(默认值 ``)
--context <string>Kubernetes 配置上下文(默认 '')
--file <string>-fEnvoy 配置转储 JSON 文件(默认值 ``)
--insecure跳过服务器证书和域名验证。(不安全!)
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--plaintext在连接到服务器时使用纯文本 HTTP/2(无 TLS)。
--revision <string>-r控制平面版本(默认 '')
--timeout <duration>在失败之前等待的持续时间(默认 `30s`)
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)
--xds-address <string>XDS 端点(默认值 ``)
--xds-label <string>Istiod Pod 标签选择器(默认值 ``)
--xds-port <int>Istiod Pod 端口(默认值 `15012`)

示例

  # Retrieve sync status for all Envoys in a mesh
  istioctl proxy-status

  # Retrieve sync status for Envoys in a specific namespace
  istioctl proxy-status --namespace foo

  # Retrieve sync diff for a single Envoy and Istiod
  istioctl proxy-status istio-egressgateway-59585c5b9c-ndc59.istio-system

  # SECURITY OPTIONS

  # Retrieve proxy status information directly from the control plane, using token security
  # (This is the usual way to get the proxy-status with an out-of-cluster control plane.)
  istioctl ps --xds-address istio.cloudprovider.example.com:15012

  # Retrieve proxy status information via Kubernetes config, using token security
  # (This is the usual way to get the proxy-status with an in-cluster control plane.)
  istioctl proxy-status

  # Retrieve proxy status information directly from the control plane, using RSA certificate security
  # (Certificates must be obtained before this step.  The --cert-dir flag lets istioctl bypass the Kubernetes API server.)
  istioctl ps --xds-address istio.example.com:15012 --cert-dir ~/.istio-certs

  # Retrieve proxy status information via XDS from specific control plane in multi-control plane in-cluster configuration
  # (Select a specific control plane in an in-cluster canary Istio configuration.)
  istioctl ps --xds-label istio.io/rev=default

istioctl remote-clusters

列出每个 istiod 实例连接到的远程集群。

istioctl remote-clusters [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--revision <string>-r控制平面版本(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

istioctl tag

用于与修订标签交互的命令组。修订标签允许创建可变别名,这些别名引用用于 sidecar 注入的控制平面修订。

使用修订标签,而不是将命名空间从 "istio.io/rev=revision-a" 重命名为 "istio.io/rev=revision-b" 来更改处理注入的控制平面修订,可以创建修订标签 "prod" 并为我们的命名空间标记 "istio.io/rev=prod"。 "prod" 修订标签最初可以指向 "1-7-6",然后在某个时间点更改为指向 "1-8-1"。

这使操作员能够更改哪个 Istio 控制平面修订应该处理命名空间或一组命名空间的注入,而无需手动重新标记 "istio.io/rev" 标签。

istioctl tag [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

istioctl tag generate

创建修订标签并输出到命令的标准输出。标记 Istio 控制平面修订,以便与命名空间 istio.io/rev 注入标签一起使用。

istioctl tag generate <revision-tag> [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--auto-inject-namespaces如果设置为 true,则默认情况下,sidecar 应自动注入到所有命名空间中
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--manifests <string>-d指定指向图表和配置文件目录的路径(例如 ~/Downloads/istio-1.24.0/manifests)。(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--overwrite如果为 true,则允许覆盖修订标签,否则拒绝覆盖现有修订标签的修订标签更新。
--revision <string>-r要从给定修订标签引用的控制平面修订(默认值 "")
--skip-confirmation-y`skipConfirmation` 决定是否提示用户进行确认。如果设置为 `true`,则不会提示用户,并在所有情况下都假定为是响应。
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)
--webhook-name <string>用于修订标签的变异 Webhook 配置的名称。(默认值 "")

示例

  # Create a revision tag from the "1-8-0" revision
  istioctl tag generate prod --revision 1-8-0 > tag.yaml

  # Apply the tag to cluster
  kubectl apply -f tag.yaml

  # Point namespace "test-ns" at the revision pointed to by the "prod" revision tag
  kubectl label ns test-ns istio.io/rev=prod

  # Rollout namespace "test-ns" to update workloads to the "1-8-0" revision
  kubectl rollout restart deployments -n test-ns

istioctl tag list

列出现有的修订标签

istioctl tag list [flags]
istioctl tag show [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--output <string>-o标签描述的输出格式(可用格式:table、json、yaml)(默认值 "table")
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  istioctl tag list

istioctl tag remove

删除 Istio 控制平面修订标签。

删除修订标签时应谨慎。删除修订标签将破坏在 "istio.io/rev" 标签中引用该标签的命名空间中的 sidecar 注入。在使用 "istioctl tag list" 命令删除之前,请验证是否存在任何剩余的命名空间引用修订标签。

istioctl tag remove <revision-tag> [flags]
istioctl tag delete <revision-tag> [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--skip-confirmation-y`skipConfirmation` 决定是否提示用户进行确认。如果设置为 `true`,则不会提示用户,并在所有情况下都假定为是响应。
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Remove the revision tag "prod"
  istioctl tag remove prod

istioctl tag set

创建或修改修订标签。标记 Istio 控制平面修订,以便与命名空间 istio.io/rev 注入标签一起使用。

istioctl tag set <revision-tag> [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--auto-inject-namespaces如果设置为 true,则默认情况下,sidecar 应自动注入到所有命名空间中
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--manifests <string>-d指定指向图表和配置文件目录的路径(例如 ~/Downloads/istio-1.24.0/manifests)。(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--overwrite如果为 true,则允许覆盖修订标签,否则拒绝覆盖现有修订标签的修订标签更新。
--revision <string>-r要从给定修订标签引用的控制平面修订(默认值 "")
--skip-confirmation-y`skipConfirmation` 决定是否提示用户进行确认。如果设置为 `true`,则不会提示用户,并在所有情况下都假定为是响应。
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)
--webhook-name <string>用于修订标签的变异 Webhook 配置的名称。(默认值 "")

示例

  # Create a revision tag from the "1-8-0" revision
  istioctl tag set prod --revision 1-8-0

  # Point namespace "test-ns" at the revision pointed to by the "prod" revision tag
  kubectl label ns test-ns istio.io/rev=prod

  # Change the revision tag to reference the "1-8-1" revision
  istioctl tag set prod --revision 1-8-1 --overwrite

  # Make revision "1-8-1" the default revision, both resulting in that revision handling injection for "istio-injection=enabled"
  # and validating resources cluster-wide
  istioctl tag set default --revision 1-8-1

  # Rollout namespace "test-ns" to update workloads to the "1-8-1" revision
  kubectl rollout restart deployments -n test-ns

istioctl uninstall

uninstall 命令从集群中卸载 Istio

istioctl uninstall [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--dry-run仅控制台/日志输出,不进行任何更改。
--filename <string>-fIstioOperator CR 的文件名。(默认值 "")
--force即使有验证错误也要继续进行。
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--manifests <string>-d指定指向图表和配置文件目录的路径(例如 ~/Downloads/istio-1.24.0/manifests)。(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--purge删除所有版本的所有与 Istio 相关的源代码
--revision <string>-r命令的目标控制平面版本。(默认值 ``)
--set <stringArray>-s覆盖 `IstioOperator` 值,例如选择配置文件(`--set profile=demo`),启用或禁用组件(`--set components.cni.enabled=true`),或覆盖 Istio 设置(`--set meshConfig.enableTracing=true`)。有关更多信息,请参阅文档:https://istio.ac.cn/v1.24/docs/reference/config/istio.operator.v1alpha1/#IstioOperatorSpec (默认值 `[]`)
--skip-confirmation-y`skipConfirmation` 决定是否提示用户进行确认。如果设置为 `true`,则不会提示用户,并在所有情况下都假定为是响应。
--verbose-v详细输出。
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Uninstall a single control plane by revision
  istioctl uninstall --revision foo

  # Uninstall a single control plane by iop file
  istioctl uninstall -f iop.yaml
  
  # Uninstall all control planes and shared resources
  istioctl uninstall --purge

istioctl upgrade

upgrade 命令是 install 命令的别名

istioctl upgrade [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--charts <string>已弃用,请使用 `--manifests` 代替。(默认值 ``)
--context <string>Kubernetes 配置上下文(默认 '')
--dry-run仅控制台/日志输出,不进行任何更改。
--filename <stringSlice>-f包含 `IstioOperator` 自定义资源的文件的路径。此标志可以指定多次以覆盖多个文件。多个文件按从左到右的顺序覆盖。(默认值 `[]`)
--force即使有验证错误也要继续进行。
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--manifests <string>-d指定指向图表和配置文件目录的路径(例如 ~/Downloads/istio-1.24.0/manifests)。(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--readiness-timeout <duration>等待每个组件中的 Istio 资源准备好后的最大时间。(默认值 `5m0s`)
--revision <string>-r命令的目标控制平面版本。(默认值 ``)
--set <stringArray>-s覆盖 `IstioOperator` 值,例如选择配置文件(`--set profile=demo`),启用或禁用组件(`--set components.cni.enabled=true`),或覆盖 Istio 设置(`--set meshConfig.enableTracing=true`)。有关更多信息,请参阅文档:https://istio.ac.cn/v1.24/docs/reference/config/istio.operator.v1alpha1/#IstioOperatorSpec (默认值 `[]`)
--skip-confirmation-y`skipConfirmation` 决定是否提示用户进行确认。如果设置为 `true`,则不会提示用户,并在所有情况下都假定为是响应。
--verify在安装/就地升级后验证 Istio 控制平面
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

istioctl validate

验证 Istio 策略和规则文件

istioctl validate -f FILENAME [options] [flags]
istioctl v -f FILENAME [options] [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--filename <stringSlice>-f要验证的文件的输入(默认值 "[]")
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Validate bookinfo-gateway.yaml
  istioctl validate -f samples/bookinfo/networking/bookinfo-gateway.yaml

  # Validate bookinfo-gateway.yaml with shorthand syntax
  istioctl v -f samples/bookinfo/networking/bookinfo-gateway.yaml

  # Validate all yaml files under samples/bookinfo/networking directory
  istioctl validate -f samples/bookinfo/networking

  # Validate current deployments under 'default' namespace within the cluster
  kubectl get deployments -o yaml | istioctl validate -f -

  # Validate current services under 'default' namespace within the cluster
  kubectl get services -o yaml | istioctl validate -f -

  # Also see the related command 'istioctl analyze'
  istioctl analyze samples/bookinfo/networking/bookinfo-gateway.yaml

istioctl version

打印构建版本信息

istioctl version [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--output <string>-o'yaml' 或 'json' 之一。(默认 '')
--remote使用 `--remote=false` 来抑制控制平面检查
--revision <string>-r控制平面版本(默认 '')
--short-s使用 --short=false 生成完整的版本信息
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

istioctl waypoint

一组用于管理航点配置的命令

istioctl waypoint [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--name <string>航点的名称(默认值 "waypoint")
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Apply a waypoint to the current namespace
  istioctl waypoint apply

  # Generate a waypoint as yaml
  istioctl waypoint generate --namespace default

  # List all waypoints in a specific namespace
  istioctl waypoint list --namespace default

istioctl waypoint apply

将航点配置应用到集群

istioctl waypoint apply [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--enroll-namespace如果设置了该参数,则命名空间将使用航点名称标记
--for <string>为航点指定流量类型 [all none service workload](默认值 "")
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--name <string>航点的名称(默认值 "waypoint")
--namespace <string>-nKubernetes 命名空间(默认 '')
--overwrite覆盖命名空间使用的现有航点
--revision <string>-r用于标记航点的修订(默认值 "")
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)
--wait-w等待航点就绪

示例

  # Apply a waypoint to the current namespace
  istioctl waypoint apply

  # Apply a waypoint to a specific namespace and wait for it to be ready
  istioctl waypoint apply --namespace default --wait

istioctl waypoint delete

从集群中删除航点配置

istioctl waypoint delete [flags]
标志缩写描述
--all删除命名空间中的所有航点
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--name <string>航点的名称(默认值 "waypoint")
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Delete a waypoint from the default namespace
  istioctl waypoint delete

  # Delete a waypoint by name, which can obtain from istioctl waypoint list
  istioctl waypoint delete waypoint-name --namespace default

  # Delete several waypoints by name
  istioctl waypoint delete waypoint-name1 waypoint-name2 --namespace default

  # Delete all waypoints in a specific namespace
  istioctl waypoint delete --all --namespace default

istioctl waypoint generate

以 YAML 格式生成航点配置

istioctl waypoint generate [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--for <string>为航点指定流量类型 [all none service workload](默认值 "")
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--name <string>航点的名称(默认值 "waypoint")
--namespace <string>-nKubernetes 命名空间(默认 '')
--revision <string>-r用于标记航点的修订(默认值 "")
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Generate a waypoint as yaml
  istioctl waypoint generate --namespace default

istioctl waypoint list

列出集群中管理的航点配置

istioctl waypoint list [flags]
标志缩写描述
--all-namespaces-A列出所有命名空间中的所有航点
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--name <string>航点的名称(默认值 "waypoint")
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # List all waypoints in a specific namespace
  istioctl waypoint list --namespace default

  # List all waypoints in the cluster
  istioctl waypoint list -A

istioctl waypoint status

显示提供的命名空间的航点状态,如果没有提供命名空间,则显示默认命名空间的航点状态

istioctl waypoint status [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--name <string>航点的名称(默认值 "waypoint")
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Show the status of the waypoint in the default namespace
		 istioctl waypoint status
		  
		 # Show the status of the waypoint in a specific namespace
  		 istioctl waypoint status --namespace default

istioctl ztunnel-config

一组用于从 Ztunnel 实例更新或检索 Ztunnel 配置的命令。

标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Retrieve summary about workload configuration
  istioctl ztunnel-config workload

  # Retrieve summary about certificates
  istioctl ztunnel-config certificates

istioctl ztunnel-config all

检索 Ztunnel 实例的所有配置信息。

istioctl ztunnel-config all [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--file <string>-fZtunnel 配置转储 JSON 文件(默认值 "")
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--node <string>按节点字段筛选工作负载(默认值 "")
--output <string>-o输出格式:json|yaml|short 之一(默认 `short`)
--proxy-admin-port <int>Ztunnel 代理管理端口(默认值 "15000")
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Retrieve summary about all configuration for a randomly chosen ztunnel.
  istioctl ztunnel-config all

  # Retrieve full configuration dump of workloads for a given Ztunnel instance.
  istioctl ztunnel-config all <ztunnel-name[.namespace]> -o json

istioctl ztunnel-config certificate

检索 Ztunnel 实例的证书信息。

istioctl ztunnel-config certificate [flags]
istioctl ztunnel-config certificates [flags]
istioctl ztunnel-config certs [flags]
istioctl ztunnel-config cert [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--file <string>-fZtunnel 配置转储 JSON 文件(默认值 "")
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--node <string>按节点字段筛选工作负载(默认值 "")
--output <string>-o输出格式:json|yaml|short 之一(默认 `short`)
--proxy-admin-port <int>Ztunnel 代理管理端口(默认值 "15000")
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Retrieve summary about workload configuration for a randomly chosen ztunnel.
  istioctl ztunnel-config certificates

  # Retrieve full certificate dump of workloads for a given Ztunnel instance.
  istioctl ztunnel-config certificates <ztunnel-name[.namespace]> -o json

istioctl ztunnel-config log

检索指定 Pod 中 Ztunnel 实例的日志级别信息,并可选地更新。

istioctl ztunnel-config log [<type>/]<name>[.<namespace>] [flags]
istioctl ztunnel-config o [<type>/]<name>[.<namespace>] [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--file <string>-fZtunnel 配置转储 JSON 文件(默认值 "")
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--level <string>逗号分隔的每个日志记录器的最小消息输出级别,格式为 [<logger>:]<level>,[<logger>:]<level>,... 或者 <level> 用于更改所有活动日志记录器,其中日志记录器组件可以通过运行 "istioctl ztunnel-config log <pod-name[.namespace]>" 列出,级别可以是 [trace, debug, info, warning, error, critical, off] 之一(默认值 "")
--namespace <string>-nKubernetes 命名空间(默认 '')
--node <string>按节点字段筛选工作负载(默认值 "")
--output <string>-o输出格式:json|yaml|short 之一(默认 `short`)
--proxy-admin-port <int>Ztunnel 代理管理端口(默认值 "15000")
--reset-r将级别重置为默认值(警告)。
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Retrieve information about logging levels from all Ztunnel pods
 istioctl ztunnel-config log

 # Update levels of the all loggers for a specific Ztunnel pod
 istioctl ztunnel-config log <pod-name[.namespace]> --level off

 # Update levels of the specified loggers for all Ztunnl pods
 istioctl ztunnel-config log --level access:debug,info

 # Reset levels of all the loggers to default value (warning)  for a specific Ztunnel pod.
 istioctl ztunnel-config log <pod-name[.namespace]> -r

istioctl ztunnel-config policy

检索 Ztunnel 实例的策略信息。

istioctl ztunnel-config policy [flags]
istioctl ztunnel-config policies [flags]
istioctl ztunnel-config p [flags]
istioctl ztunnel-config pol [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--file <string>-fZtunnel 配置转储 JSON 文件(默认值 "")
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--node <string>按节点字段筛选工作负载(默认值 "")
--output <string>-o输出格式:json|yaml|short 之一(默认 `short`)
--policy-namespace <string>按命名空间字段筛选策略(默认值 "")
--proxy-admin-port <int>Ztunnel 代理管理端口(默认值 "15000")
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Retrieve summary about policy configuration for a randomly chosen ztunnel.
  istioctl ztunnel-config policies

  # Retrieve full policy dump of workloads for a given Ztunnel instance.
  istioctl ztunnel-config policies <ztunnel-name[.namespace]> -o json

istioctl ztunnel-config service

检索 Ztunnel 实例的服务信息。

istioctl ztunnel-config service [flags]
istioctl ztunnel-config services [flags]
istioctl ztunnel-config s [flags]
istioctl ztunnel-config svc [flags]
标志缩写描述
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--file <string>-fZtunnel 配置转储 JSON 文件(默认值 "")
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--node <string>按节点字段筛选工作负载(默认值 "")
--output <string>-o输出格式:json|yaml|short 之一(默认 `short`)
--proxy-admin-port <int>Ztunnel 代理管理端口(默认值 "15000")
--service-namespace <string>按命名空间字段筛选服务(默认值 "")
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)

示例

  # Retrieve summary about services configuration for a randomly chosen ztunnel.
  istioctl ztunnel-config services

  # Retrieve full services dump of workloads for a given Ztunnel instance.
  istioctl ztunnel-config services <ztunnel-name[.namespace]> -o json

istioctl ztunnel-config workload

检索 Ztunnel 实例的工作负载配置信息。

istioctl ztunnel-config workload [<type>/]<name>[.<namespace>] [flags]
istioctl ztunnel-config w [<type>/]<name>[.<namespace>] [flags]
istioctl ztunnel-config workloads [<type>/]<name>[.<namespace>] [flags]
标志缩写描述
--address <string>按地址字段筛选工作负载(默认值 "")
--as <string>要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '')
--as-group <stringArray>要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`)
--as-uid <string>要模拟操作的 UID。(默认 '')
--context <string>Kubernetes 配置上下文(默认 '')
--file <string>-fZtunnel 配置转储 JSON 文件(默认值 "")
--istioNamespace <string>-iIstio 系统命名空间(默认 `istio-system`)
--kubeconfig <string>-cKubernetes 配置文件(默认 '')
--namespace <string>-nKubernetes 命名空间(默认 '')
--node <string>按节点字段筛选工作负载(默认值 "")
--output <string>-o输出格式:json|yaml|short 之一(默认 `short`)
--proxy-admin-port <int>Ztunnel 代理管理端口(默认值 "15000")
--vklog <Level>日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`)
--workload-namespace <string>按命名空间字段筛选工作负载(默认值 "")
--workload-node <string>按节点筛选工作负载(默认值 "")

示例

  # Retrieve summary about workload configuration for a randomly chosen ztunnel.
  istioctl ztunnel-config workload

  # Retrieve summary of workloads on node XXXX for a given Ztunnel instance.
  istioctl ztunnel-config workload <ztunnel-name[.namespace]> --node ambient-worker

  # Retrieve full workload dump of workloads with address XXXX for a given Ztunnel instance.
  istioctl ztunnel-config workload <ztunnel-name[.namespace]> --address 0.0.0.0 -o json

  # Retrieve Ztunnel config dump separately and inspect from file.
  kubectl exec -it $ZTUNNEL -n istio-system -- curl localhost:15000/config_dump > ztunnel-config.json
  istioctl ztunnel-config workloads --file ztunnel-config.json

  # Retrieve workload summary for a specific namespace
  istioctl ztunnel-config workloads <ztunnel-name[.namespace]> --workloads-namespace foo

环境变量

这些环境变量会影响 istioctl 命令的行为。
变量名称类型默认值描述
AMBIENT_ENABLE_STATUS布尔值false如果启用,则会将环境模式的状态消息写入资源。目前,这不会进行领导者选举,因此在启用多个副本时可能不安全。
BYPASS_OVERLOAD_MANAGER_FOR_STATIC_LISTENERS布尔值true如果启用,则不会将过载管理器应用于静态监听器
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)。
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 合并 destinationrules 时会考虑它们的 exportTo 字段,如果 exportTos 不相等,它们将被保留为独立规则。
ENABLE_ENHANCED_RESOURCE_SCOPING布尔值true如果启用,meshConfig.discoverySelectors 将限制 pilot 可以处理的自定义资源配置(如 Gateway、VirtualService、DestinationRule、Ingress 等)。这也将限制 root-ca 证书分发。
ENABLE_HCM_INTERNAL_NETWORKS布尔值false如果启用,在网格网络中定义的端点将在 HTTP 连接管理器中配置为内部地址
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 将为在至少一个集群中导出的每个服务配置一个 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_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如果为 true,将使用基于 vtprotobuf 的优化编组。需要使用 -tags=vtprotobuf 构建。
EXCLUDE_UNSAFE_503_FROM_DEFAULT_RETRY布尔值true如果为 true,将从默认重试策略中排除 503 上的不安全重试。
EXTERNAL_ISTIOD布尔值false如果将其设置为 true,则一个 Istiod 将控制远程集群,包括 CA。
GCP_METADATA字符串用管道分隔的 GCP 元数据,按方案排列为 PROJECT_ID|PROJECT_NUMBER|CLUSTER_NAME|CLUSTER_ZONE
GCP_QUOTA_PROJECT字符串允许指定要用于向 GCP API 发出请求的配额项目。
GRPC_KEEPALIVE_INTERVAL时间持续时间30sgRPC 保持活动间隔
GRPC_KEEPALIVE_TIMEOUT时间持续时间10sgRPC 保持活动超时
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。
ISTIOCONFIG字符串$HOME/.istioctl/config.yamlistioctl 标志的默认值
ISTIOCTL_AUTHORITY字符串istioctl --authority 覆盖
ISTIOCTL_CERT_DIR字符串istioctl --cert-dir 覆盖
ISTIOCTL_INSECURE布尔值falseistioctl --insecure 覆盖
ISTIOCTL_ISTIONAMESPACE字符串istio-systemistioctl --istioNamespace 覆盖
ISTIOCTL_PLAINTEXT布尔值falseistioctl --plaintext 覆盖
ISTIOCTL_PREFER_EXPERIMENTAL布尔值falseistioctl 应该使用实验性子命令变体
ISTIOCTL_XDS_ADDRESS字符串istioctl --xds-address 覆盖
ISTIOCTL_XDS_PORT整数15012istioctl --xds-port 覆盖
ISTIOD_CUSTOM_HOST字符串istiod 签署服务器证书的自定义主机名。支持多个自定义主机名,多个值用逗号分隔。
ISTIO_AGENT_ENABLE_WASM_REMOTE_LOAD_CONVERSION布尔值true如果启用,Istio 代理将拦截 ECDS 资源更新,下载 Wasm 模块,并将 Wasm 模块远程加载替换为下载的本地模块文件。
ISTIO_BOOTSTRAP字符串
ISTIO_DELTA_XDS布尔值true如果启用,pilot 将仅发送增量配置,而不是在资源请求上发送世界状态。此功能使用增量 xds api,但当前不会发送实际的增量。
ISTIO_DUAL_STACK布尔值false如果为 true,Istio 将启用双栈功能。
ISTIO_ENABLE_CONTROLLER_QUEUE_METRICS布尔值false如果启用,则发布队列深度、延迟和处理时间的指标。
ISTIO_ENABLE_HTTP2_PROBING布尔值true如果启用,将为 HTTPS 探测启用 HTTP2 探测,遵循 Kubernetes
ISTIO_ENABLE_IPV4_OUTBOUND_LISTENER_FOR_IPV6_CLUSTERS布尔值false如果为 true,pilot 将为 IPv6 仅集群中的出站流量配置额外的 IPv4 监听器,例如 AWS EKS IPv6 仅集群。
ISTIO_GPRC_MAXRECVMSGSIZE整数4194304设置 gRPC 流的接收缓冲区最大大小(以字节为单位)。
ISTIO_GPRC_MAXSTREAMS整数100000设置并发 gRPC 流的最大数量。
ISTIO_KUBE_CLIENT_CONTENT_TYPE字符串protobuf要用于 Kubernetes 客户端的内容类型。默认为 protobuf。有效选项: [protobuf, json]
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如果启用,将验证工作负载的身份是否与它关联的 WorkloadEntry 的身份匹配,以进行健康检查和自动注册。此标志仅为向后兼容性而添加,将在以后的版本中删除
JWKS_RESOLVER_INSECURE_SKIP_VERIFY布尔值false如果启用,istiod 将跳过验证 JWKS 服务器的证书。
K_REVISION字符串Knative 修订版,如果在 knative 中运行,则设置
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 以禁用指标范围轮换
MUTEX_PROFILE_FRACTION整数1000如果设置为非零值,则以 1/MUTEX_PROFILE_FRACTION 事件的速率启用互斥体分析。例如,“1000”将记录 0.1% 的事件。设置为 0 以完全禁用。
PILOT_ALLOW_SIDECAR_SERVICE_INBOUND_LISTENER_MERGE布尔值false如果设置,则允许为服务端口和 sidecar 入站监听器创建入站监听器
PILOT_ANALYSIS_INTERVAL时间持续时间10s如果启用分析,pilot 将使用此值(以秒为单位)作为 Istio 资源的间隔来运行 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如果为真,pilot 将添加 Istio ALPN 过滤器,这对于正确的协议嗅探是必需的。
PILOT_ENABLE_AMBIENT布尔值false如果启用,可以使用环境模式。各个标志配置细粒度的启用;这必须为任何环境功能启用。
PILOT_ENABLE_AMBIENT_WAYPOINTS布尔值false如果启用,将运行环境所需的控制器。这是运行环境网格的必要条件。
PILOT_ENABLE_ANALYSIS布尔值false如果启用,pilot 将运行 istio 分析器并将分析错误写入任何 Istio 资源的 Status 字段。
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 的 ServiceEntry 分配 IP 地址。这与 DNS 捕获相结合,允许对发送到 ServiceEntry 的流量进行 TCP 路由。
PILOT_ENABLE_K8S_SELECT_WORKLOAD_ENTRIES布尔值true如果启用,具有选择器的 Kubernetes 服务将选择具有匹配标签的 WorkloadEntry。如果您非常确定不需要此功能,可以安全地禁用它
PILOT_ENABLE_METADATA_EXCHANGE布尔值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如果为真,无论是否存在在网关上终止 TLS 的侦听器,只要网关服务公开具有相同编号的 UDP 端口(例如 443/TCP 和 443/UDP),就会生成 QUIC 侦听器。
PILOT_ENABLE_RDS_CACHE布尔值true如果为真,Pilot 将缓存 RDS 响应。注意:这取决于 PILOT_ENABLE_XDS_CACHE。
PILOT_ENABLE_REDIS_FILTER布尔值falseEnableRedisFilter 启用在过滤器链中注入 `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启用根据关联的 WorkloadGroup 自动注册 WorkloadEntry,以便工作负载在 XDS 连接时进行注册。
PILOT_ENABLE_WORKLOAD_ENTRY_HEALTHCHECKS布尔值true启用基于关联的 WorkloadGroup 中提供的配置自动执行 WorkloadEntry 的健康检查
PILOT_ENABLE_XDS_CACHE布尔值true如果为真,Pilot 将缓存 XDS 响应。
PILOT_ENABLE_XDS_IDENTITY_CHECK布尔值true如果启用,pilot 将授权 XDS 客户端,以确保它们仅以其具有权限的命名空间的身份执行操作。
PILOT_ENDPOINT_TELEMETRY_LABEL布尔值true如果为真,pilot 将向 Endpoint 资源添加与遥测相关的元数据,这些元数据将被遥测过滤器使用。
PILOT_ENVOY_FILTER_STATS布尔值false如果为真,Pilot 将收集 Envoy 过滤器操作的指标。
PILOT_FILTER_GATEWAY_CLUSTER_CONFIG布尔值false如果启用,Pilot 将仅发送网关虚拟服务附加到网关中引用的集群
PILOT_GATEWAY_API_CONTROLLER_NAME字符串istio.io/gateway-controllerGateway API 控制器名称。istiod 将仅协调引用具有此控制器名称的 GatewayClass 的 Gateway API 资源
PILOT_GATEWAY_API_DEFAULT_GATEWAYCLASS_NAME字符串istio默认 GatewayClass 的名称
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 获取 JWK 的模式。支持的值:istiod、false、hybrid、true、envoy。获取 JWK 的客户端如下:istiod/false - Istiod;hybrid/true - Envoy,如果 JWK 服务器是外部的,则回退到 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如果为真,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 中的恐慌阈值,即即使健康主机的百分比降至最低健康百分比(恐慌阈值)以下,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 用于保持配置状态更新的 Worker 的最大数量。较小的数字会导致较高的状态延迟,但较大的数字可能会影响大规模环境中的 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 实例断开连接后可以保留的时间量,然后清理关联的 WorkloadEntry。
PILOT_XDS_CACHE_INDEX_CLEAR_INTERVAL时间持续时间5s清除 xds 缓存索引的间隔时间。
PILOT_XDS_CACHE_SIZE整数60000XDS 缓存的缓存条目最大数量。
PILOT_XDS_CACHE_STATS布尔值false如果为真,Pilot 将收集 XDS 缓存效率的指标。
PLATFORM字符串部署 Istio 的平台。可能的值为“openshift”和“gcp”
PREFER_DESTINATIONRULE_TLS_FOR_EXTERNAL_SERVICES布尔值true如果为真,外部服务将优先使用 DestinationRules 中的 TLS 设置,而不是元数据 TLS 设置。
RESOLVE_HOSTNAME_GATEWAYS布尔值true如果为真,服务负载均衡器地址中的主机名将在控制平面解析,用于跨网络网关。
REWRITE_PROBE_LEGACY_LOCALHOST_DESTINATION布尔值false如果启用,就绪探测将发送到 'localhost'。否则,它们将发送到 Pod 的 IP,匹配 Kubernetes 的行为。
SHARED_MESH_CONFIG字符串要为共享 MeshConfig 设置加载的附加配置映射。标准网格配置将优先。
TERM字符串指定终端类型。使用 'dumb' 来抑制颜色输出
TOKEN_AUDIENCES字符串istio-ca在颁发证书之前,要在 JWT 令牌中检查的逗号分隔的受众列表。如果令牌与其中一个受众匹配,则接受该令牌
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如果启用,将执行额外的运行时断言。这些检查既昂贵,又会在失败时导致恐慌。因此,应仅用于测试。
USE_CACERTS_FOR_SELF_SIGNED_CA布尔值false如果启用,istiod 将使用名为 cacerts 的密钥来存储其自签名的 istio 生成的根证书。
VALIDATION_WEBHOOK_CONFIG_NAME字符串istio-istio-system如果非空,则控制器将在 CA 证书更改时自动修补 validatingwebhookconfiguration。仅在 kubernetes 环境中有效。
XDS_AUTH布尔值true如果为 true,将对 XDS 客户端进行身份验证。
XDS_AUTH_PLAINTEXT布尔值false对明文请求进行身份验证 - 如果 Istiod 运行在安全/可信网络中,则使用此方法

导出指标

指标名称类型描述
auto_registration_deletes_total总和由定期计时器清理的自动注册总数。
auto_registration_errors_total总和自动注册错误总数。
auto_registration_success_total总和自动注册成功的总数。
auto_registration_unregister_total总和取消注册的总数。
auto_registration_updates_total总和自动注册更新的总数。
controller_sync_errors_total总和同步控制器的错误指标总数。
endpoint_no_pod最后值没有关联 Pod 的端点。
istio_build最后值Istio 组件构建信息
istiod_managed_clusters最后值由 Istiod 管理的集群数量
num_outgoing_retries总和传出重试请求的数量(例如,到令牌交换服务器、CA 等)。
pilot_conflict_inbound_listener最后值冲突的入站侦听器数量。
pilot_conflict_outbound_listener_tcp_over_current_tcp最后值与当前 TCP 侦听器冲突的 TCP 侦听器数量。
pilot_debounce_time分布第一个配置进入去抖动与合并的推请求被推入推队列之间的延迟(以秒为单位)。
pilot_destrule_subsets最后值针对同一主机,目标规则中存在重复的子集
pilot_dns_cluster_without_endpoints最后值由于 STRICT_DNS 类型集群中的端点字段未设置或相应的子集无法选择任何端点,因此导致没有端点的 DNS 集群。
pilot_duplicate_envoy_clusters最后值由于具有相同主机名的服务条目导致的重复 Envoy 集群。
pilot_eds_no_instances最后值没有实例的集群数量。
pilot_endpoint_not_ready最后值在非就绪状态下找到的端点。
pilot_envoy_filter_status最后值Envoy 过滤器是否应用或出错的状态。
pilot_inbound_updates总和Pilot 收到的更新总数。
pilot_jwks_resolver_network_fetch_fail_total总和Pilot jwks 解析器网络获取失败总数。
pilot_jwks_resolver_network_fetch_success_total总和Pilot jwks 解析器网络获取成功的总数。
pilot_k8s_cfg_events总和来自 k8s 配置的事件。
pilot_k8s_endpoints_pending_pod最后值目前没有任何对应 Pod 的端点数量。
pilot_k8s_endpoints_with_no_pods总和没有任何对应 Pod 的端点。
pilot_k8s_reg_events总和来自 k8s 注册表的事件。
pilot_no_ip最后值在端点表中找不到的 Pod,可能是无效的。
pilot_proxy_convergence_time分布配置更改与代理接收所有必要配置之间的延迟(以秒为单位)。
pilot_proxy_queue_time分布代理在被出队之前在推队列中的时间(以秒为单位)。
pilot_push_triggers总和推触发器总数,按推原因进行标记。
pilot_pushcontext_init_seconds分布Pilot 初始化 pushContext 所花费的总时间(以秒为单位)。
pilot_sds_certificate_errors_total总和获取 SDS 密钥和证书的失败总数。
pilot_services最后值Pilot 知道的总服务数量。
pilot_total_rejected_configs总和Pilot 必须拒绝或忽略的配置总数。
pilot_total_xds_internal_errors总和Pilot 中的 XDS 内部错误总数。
pilot_total_xds_rejects总和代理拒绝的来自 Pilot 的 XDS 响应总数。
pilot_virt_services最后值Pilot 知道的虚拟服务总数。
pilot_vservice_dup_domain最后值具有重复域的虚拟服务。
pilot_worker_queue_depth最后值控制器队列的深度
pilot_worker_queue_duration分布处理一项所需的时间
pilot_worker_queue_latency分布在处理项目之前的时间
pilot_xds最后值使用 XDS 连接到此 Pilot 的端点数量。
pilot_xds_cds_reject最后值Pilot 拒绝了 CDS 配置。
pilot_xds_config_size_bytes分布推送到客户端的配置大小的分布
pilot_xds_eds_reject最后值Pilot 拒绝了 EDS。
pilot_xds_expired_nonce总和带有过期 nonce 的 XDS 请求总数。
pilot_xds_lds_reject最后值Pilot 拒绝了 LDS。
pilot_xds_push_context_errors总和启动推上下文时出现的错误(超时)数量。
pilot_xds_push_time分布Pilot 推送 LDS、RDS、CDS 和 EDS 所花费的总时间(以秒为单位)。
pilot_xds_pushes总和Pilot 为 LDS、RDS、CDS 和 EDS 构建和发送错误。
pilot_xds_rds_reject最后值Pilot 拒绝了 RDS。
pilot_xds_send_time分布Pilot 发送生成的配置所花费的总时间(以秒为单位)。
pilot_xds_write_timeout总和Pilot XDS 响应写入超时。
provider_lookup_cluster_failures总和集群查找失败的次数
remote_cluster_sync_timeouts_total总和远程集群同步花费时间过长,导致启动缓慢,这将排除远程集群的次数。
scrape_failures_total总和抓取失败的总数。
scrapes_total总和抓取的总数。
sidecar_injection_failure_total总和Sidecar 注射请求失败总数。
sidecar_injection_requests_total总和Sidecar 注射请求总数。
sidecar_injection_skip_total总和跳过 Sidecar 注射请求总数。
sidecar_injection_success_total总和Sidecar 注射请求成功总数。
sidecar_injection_time_seconds分布注入所花费的总时间(以秒为单位)。
startup_duration_seconds最后值从进程启动到标记为就绪的时间。
wasm_cache_entries最后值Wasm 远程获取缓存条目的数量。
wasm_cache_lookup_count总和Wasm 远程获取缓存查找的数量。
wasm_config_conversion_count总和Wasm 配置转换计数和结果的数量,包括成功、未进行远程加载、编组失败、远程获取失败、错过远程获取提示。
wasm_config_conversion_duration分布istio-agent 在转换 Wasm 配置中的远程加载时花费的总时间(以毫秒为单位)。
wasm_remote_fetch_count总和Wasm 远程获取的数量和结果,包括成功、下载失败和校验和不匹配。
webhook_patch_attempts_total总和Webhook 修补尝试
webhook_patch_failures_total总和Webhook 修补的总失败次数
webhook_patch_retries_total总和Webhook 修补重试
xds_cache_dependent_config_size最后值依赖配置的当前大小
xds_cache_evictions总和xds 缓存驱逐的总数。
xds_cache_reads总和xds 缓存 xdsCacheReads 的总数。
xds_cache_size最后值xds 缓存的当前大小
这些信息有用吗?
您对改进有什么建议吗?

感谢您的反馈!