istioctl
Istio 配置命令行实用程序,供服务运营商调试和诊断其 Istio 网格。
标志 | 缩写 | 描述 |
---|---|---|
--as <string> | 要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '') | |
--as-group <stringArray> | 要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`) | |
--as-uid <string> | 要模拟操作的 UID。(默认 '') | |
--context <string> | Kubernetes 配置上下文(默认 '') | |
--istioNamespace <string> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--level <string> | 以 <scope>:<level>[,<scope>:<level>,... ] 格式的范围的输出日志级别的逗号分隔列表。<level> 的可能值:none、error、warn、info、debug(默认 '') | |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--list-analyzers | -L | 列出可运行的分析器。抑制正常执行。 |
--meshConfigFile <string> | 覆盖用于分析的网格配置值。(默认 '') | |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | 指向 kube 配置的路径。(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | 指向 kube 配置的路径。(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--manifests <string> | -d | 指定指向图表和配置文件目录的路径(例如 ~/Downloads/istio-1.24.0/manifests)。(默认 '') |
--name <string> | 本地集群的名称,其凭据存储在密钥中。如果未指定名称,则将使用本地集群的 kube-system 命名空间的 UUID。(默认 '') | |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--vklog <Level> | 日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`) |
istioctl experimental authz
此命令处于积极开发中,尚未准备好用于生产环境。
标志 | 缩写 | 描述 |
---|---|---|
--as <string> | 要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '') | |
--as-group <stringArray> | 要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`) | |
--as-uid <string> | 要模拟操作的 UID。(默认 '') | |
--context <string> | Kubernetes 配置上下文(默认 '') | |
--istioNamespace <string> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--labels <string> | -l | 检查命名空间和标签对的注入状态,用逗号分隔多个标签(默认值 ``) |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -f | Envoy 配置转储 JSON 文件(默认值 ``) |
--insecure | 跳过服务器证书和域名验证。(不安全!) | |
--istioNamespace <string> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--manifests <string> | -d | 指定指向图表和配置文件目录的路径(例如 ~/Downloads/istio-1.24.0/manifests)。(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--meshConfigFile <string> | 网格配置文件名。如果设置了该参数,则优先于 --meshConfigMapName(默认值 "") | |
--meshConfigMapName <string> | Istio 网格配置的 ConfigMap 名称,键应为 "mesh"(默认值 "istio") | |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--manifests <string> | -d | 指定指向图表和配置文件目录的路径(例如 ~/Downloads/istio-1.24.0/manifests)。(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--manifests <string> | -d | 指定指向图表和配置文件目录的路径(例如 ~/Downloads/istio-1.24.0/manifests)。(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--manifests <string> | -d | 指定指向图表和配置文件目录的路径(例如 ~/Downloads/istio-1.24.0/manifests)。(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--vklog <Level> | 日志级别详细程度的数字。就像 -v 标志一样。例如:--vklog=9(默认 `0`) |
istioctl proxy-config
一组用于从 Envoy 配置转储中检索有关代理配置信息的命令
标志 | 缩写 | 描述 |
---|---|---|
--as <string> | 要模拟操作的用户名。用户可以是普通用户或命名空间中的服务帐户(默认 '') | |
--as-group <stringArray> | 要模拟操作的组,此标志可以重复以指定多个组。(默认 `[]`) | |
--as-uid <string> | 要模拟操作的 UID。(默认 '') | |
--context <string> | Kubernetes 配置上下文(默认 '') | |
--istioNamespace <string> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -f | Envoy 配置转储文件(默认值 "") |
--fqdn <string> | 按服务 FQDN 字段的子字符串筛选集群(默认值 "") | |
--istioNamespace <string> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--name <string> | 按路由名称字段筛选路由(默认值 "") | |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -f | Envoy 配置转储 JSON 文件(默认值 ``) |
--istioNamespace <string> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -f | Envoy 配置转储 JSON 文件(默认值 ``) |
--fqdn <string> | 按服务 FQDN 字段的子字符串筛选集群(默认值 "") | |
--istioNamespace <string> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -f | Envoy 配置转储 JSON 文件(默认值 ``) |
--istioNamespace <string> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -f | Envoy 配置转储 JSON 文件(默认值 ``) |
--istioNamespace <string> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -f | Envoy 配置转储 JSON 文件(默认值 ``) |
--istioNamespace <string> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--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> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -f | Envoy 配置转储 JSON 文件(默认值 ``) |
--istioNamespace <string> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--name <string> | 按路由名称字段筛选监听器(默认值 "") | |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -f | Envoy 配置转储 JSON 文件(默认值 ``) |
--istioNamespace <string> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -f | Envoy 配置转储 JSON 文件(默认值 ``) |
--insecure | 跳过服务器证书和域名验证。(不安全!) | |
--istioNamespace <string> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--manifests <string> | -d | 指定指向图表和配置文件目录的路径(例如 ~/Downloads/istio-1.24.0/manifests)。(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--manifests <string> | -d | 指定指向图表和配置文件目录的路径(例如 ~/Downloads/istio-1.24.0/manifests)。(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -f | IstioOperator CR 的文件名。(默认值 "") |
--force | 即使有验证错误也要继续进行。 | |
--istioNamespace <string> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--manifests <string> | -d | 指定指向图表和配置文件目录的路径(例如 ~/Downloads/istio-1.24.0/manifests)。(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--manifests <string> | -d | 指定指向图表和配置文件目录的路径(例如 ~/Downloads/istio-1.24.0/manifests)。(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--name <string> | 航点的名称(默认值 "waypoint") | |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--name <string> | 航点的名称(默认值 "waypoint") | |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--name <string> | 航点的名称(默认值 "waypoint") | |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--name <string> | 航点的名称(默认值 "waypoint") | |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--name <string> | 航点的名称(默认值 "waypoint") | |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--name <string> | 航点的名称(默认值 "waypoint") | |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -f | Ztunnel 配置转储 JSON 文件(默认值 "") |
--istioNamespace <string> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -f | Ztunnel 配置转储 JSON 文件(默认值 "") |
--istioNamespace <string> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -f | Ztunnel 配置转储 JSON 文件(默认值 "") |
--istioNamespace <string> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--level <string> | 逗号分隔的每个日志记录器的最小消息输出级别,格式为 [<logger>:]<level>,[<logger>:]<level>,... 或者 <level> 用于更改所有活动日志记录器,其中日志记录器组件可以通过运行 "istioctl ztunnel-config log <pod-name[.namespace]>" 列出,级别可以是 [trace, debug, info, warning, error, critical, off] 之一(默认值 "") | |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -f | Ztunnel 配置转储 JSON 文件(默认值 "") |
--istioNamespace <string> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -f | Ztunnel 配置转储 JSON 文件(默认值 "") |
--istioNamespace <string> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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> | -f | Ztunnel 配置转储 JSON 文件(默认值 "") |
--istioNamespace <string> | -i | Istio 系统命名空间(默认 `istio-system`) |
--kubeconfig <string> | -c | Kubernetes 配置文件(默认 '') |
--namespace <string> | -n | Kubernetes 命名空间(默认 '') |
--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 | 时间持续时间 | 30s | gRPC 保持活动间隔 |
GRPC_KEEPALIVE_TIMEOUT | 时间持续时间 | 10s | gRPC 保持活动超时 |
HTTP_STRIP_FRAGMENT_FROM_PATH_UNSAFE_IF_DISABLED | 布尔值 | true | |
INBOUND_INTERCEPTION_MODE | 字符串 |
| 用于将入站连接重定向到 Envoy 的模式,可以是 "REDIRECT" 或 "TPROXY" |
INBOUND_TPROXY_MARK | 字符串 |
| |
INJECTION_WEBHOOK_CONFIG_NAME | 字符串 | istio-sidecar-injector | 要修补的 mutatingwebhookconfiguration 的名称,如果未使用 istioctl。 |
ISTIOCONFIG | 字符串 | $HOME/.istioctl/config.yaml | istioctl 标志的默认值 |
ISTIOCTL_AUTHORITY | 字符串 |
| istioctl --authority 覆盖 |
ISTIOCTL_CERT_DIR | 字符串 |
| istioctl --cert-dir 覆盖 |
ISTIOCTL_INSECURE | 布尔值 | false | istioctl --insecure 覆盖 |
ISTIOCTL_ISTIONAMESPACE | 字符串 | istio-system | istioctl --istioNamespace 覆盖 |
ISTIOCTL_PLAINTEXT | 布尔值 | false | istioctl --plaintext 覆盖 |
ISTIOCTL_PREFER_EXPERIMENTAL | 布尔值 | false | istioctl 应该使用实验性子命令变体 |
ISTIOCTL_XDS_ADDRESS | 字符串 |
| istioctl --xds-address 覆盖 |
ISTIOCTL_XDS_PORT | 整数 | 15012 | istioctl --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 | 字符串 | istiod | Pilot DNS 证书的提供者。K8S RA 将用于 k8s.io/NAME。'istiod' 值将使用 Istio 内置的 CA 进行签名。其他值将不会生成 TLS 证书,但仍将分发 ./etc/certs/root-cert.pem。仅在未挂载自定义证书时使用。 |
PILOT_CONVERT_SIDECAR_SCOPE_CONCURRENCY | 整数 | 1 | 用于调整 SidecarScope 转换的并发性。当 Istiod 部署在多核 CPU 服务器上时,增加此值将有助于利用 CPU 加速配置推送,但它也意味着 Istiod 将消耗更多 CPU 资源。 |
PILOT_DEBOUNCE_AFTER | 时间持续时间 | 100ms | 添加到配置/注册表事件的延迟,用于去抖动。这将至少延迟推送此间隔时间。如果在此期间未检测到更改,则推送将发生,否则我们将继续延迟直到事情稳定下来,最多延迟到 PILOT_DEBOUNCE_MAX。 |
PILOT_DEBOUNCE_MAX | 时间持续时间 | 10s | 去抖动时等待事件的最大时间。如果事件在这段时间内不断出现而没有中断,我们将触发推送。 |
PILOT_DISABLE_MX_ALPN | 布尔值 | false | 如果为真,pilot 不会将 istio-peer-exchange ALPN 放入 TLS 握手配置中。 |
PILOT_DRAINING_LABEL | 字符串 | istio.io/draining | 如果非空,具有该标签值的端点将被发送为 DRAINING 状态。 |
PILOT_ENABLE_ALPHA_GATEWAY_API | 布尔值 | false | 如果设置为 true,将支持 Kubernetes gateway-api (github.com/kubernetes-sigs/gateway-api) 中的 alpha API。除了启用此功能之外,还需要安装 gateway-api CRD。 |
PILOT_ENABLE_ALPN_FILTER | 布尔值 | true | 如果为真,pilot 将添加 Istio ALPN 过滤器,这对于正确的协议嗅探是必需的。 |
PILOT_ENABLE_AMBIENT | 布尔值 | false | 如果启用,可以使用环境模式。各个标志配置细粒度的启用;这必须为任何环境功能启用。 |
PILOT_ENABLE_AMBIENT_WAYPOINTS | 布尔值 | false | 如果启用,将运行环境所需的控制器。这是运行环境网格的必要条件。 |
PILOT_ENABLE_ANALYSIS | 布尔值 | false | 如果启用,pilot 将运行 istio 分析器并将分析错误写入任何 Istio 资源的 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 | 布尔值 | true | EnableMongoFilter 启用在过滤器链中注入 `envoy.filters.network.mongo_proxy`。 |
PILOT_ENABLE_MYSQL_FILTER | 布尔值 | false | EnableMysqlFilter 启用在过滤器链中注入 `envoy.filters.network.mysql_proxy`。 |
PILOT_ENABLE_NODE_UNTAINT_CONTROLLERS | 布尔值 | false | 如果启用,将运行一个控制器,该控制器取消标记具有 cni Pod 就绪的节点。如果您禁用了环境 init 容器,则应启用此功能。 |
PILOT_ENABLE_PERSISTENT_SESSION_FILTER | 布尔值 | false | 如果启用,Istiod 为侦听器设置持久会话过滤器,如果服务具有 'PILOT_PERSISTENT_SESSION_LABEL' 设置。 |
PILOT_ENABLE_QUIC_LISTENERS | 布尔值 | false | 如果为真,无论是否存在在网关上终止 TLS 的侦听器,只要网关服务公开具有相同编号的 UDP 端口(例如 443/TCP 和 443/UDP),就会生成 QUIC 侦听器。 |
PILOT_ENABLE_RDS_CACHE | 布尔值 | true | 如果为真,Pilot 将缓存 RDS 响应。注意:这取决于 PILOT_ENABLE_XDS_CACHE。 |
PILOT_ENABLE_REDIS_FILTER | 布尔值 | false | EnableRedisFilter 启用在过滤器链中注入 `envoy.filters.network.redis_proxy`。 |
PILOT_ENABLE_ROUTE_COLLAPSE_OPTIMIZATION | 布尔值 | true | 如果为真,Pilot 将将具有相同路由的虚拟主机合并到单个虚拟主机中,作为一种优化。 |
PILOT_ENABLE_SENDING_HBONE | 布尔值 | false | 如果启用,在发送到目标时将允许 HBONE。 |
PILOT_ENABLE_SERVICEENTRY_SELECT_PODS | 布尔值 | true | 如果启用,具有选择器的服务条目将从集群中选择 Pod。如果您非常确定不需要此功能,可以安全地禁用它 |
PILOT_ENABLE_SIDECAR_LISTENING_HBONE | 布尔值 | false | 如果启用,可以为代理配置 HBONE 支持。 |
PILOT_ENABLE_TELEMETRY_LABEL | 布尔值 | true | 如果为真,pilot 将向集群和端点资源添加与遥测相关的元数据,这些元数据将被遥测过滤器使用。 |
PILOT_ENABLE_WORKLOAD_ENTRY_AUTOREGISTRATION | 布尔值 | true | 启用根据关联的 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-controller | Gateway 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 | 时间持续时间 | 20m0s | Istiod 获取 jwks 公钥的 jwks_uri 的间隔时间。 |
PILOT_MAX_REQUESTS_PER_SECOND | 浮点数 | 0 | 限制每秒传入的 XDS 请求数。在较大的机器上,可以增加此值以同时处理更多代理。如果设置为 0 或未设置,则最大值将根据机器大小自动确定 |
PILOT_MULTI_NETWORK_DISCOVER_GATEWAY_API | 布尔值 | true | 如果为真,Pilot 将发现标记为多网络网关的 Kubernetes 网关对象。 |
PILOT_PERSISTENT_SESSION_HEADER_LABEL | 字符串 | istio.io/persistent-session-header | 如果非空,具有此标签的服务将使用基于头的持久会话 |
PILOT_PERSISTENT_SESSION_LABEL | 字符串 | istio.io/persistent-session | 如果非空,具有此标签的服务将使用基于 Cookie 的持久会话 |
PILOT_PREFER_SENDING_HBONE | 布尔值 | false | 如果启用,在发送到目标时将优先使用 HBONE。 |
PILOT_PUSH_THROTTLE | 整数 | 0 | 限制允许的并发推送数。在较大的机器上,可以增加此值以加快推送速度。如果设置为 0 或未设置,则最大值将根据机器大小自动确定 |
PILOT_REMOTE_CLUSTER_TIMEOUT | 时间持续时间 | 30s | 在该超时时间到期后,pilot 可以在不从通过远程秘密添加的集群同步数据的情况下变为就绪。将超时时间设置为 0 会禁用此行为。 |
PILOT_SCOPE_GATEWAY_TO_NAMESPACE | 布尔值 | false | 如果启用,网关工作负载只能选择同一命名空间中的网关资源。具有相同选择器的不同命名空间中的网关将不可用。 |
PILOT_SEND_UNHEALTHY_ENDPOINTS | 布尔值 | false | 如果启用,Pilot 将在 EDS 推送中包含不健康的端点,即使它们被发送到 Envoy,Envoy 也不会使用它们进行负载均衡。为避免将流量发送到非就绪的端点,启用此标志将禁用 Envoy 中的恐慌阈值,即即使健康主机的百分比降至最低健康百分比(恐慌阈值)以下,Envoy 也不会将请求负载均衡到不健康/非就绪的主机。 |
PILOT_SIDECAR_USE_REMOTE_ADDRESS | 布尔值 | false | UseRemoteAddress 为 sidecar 出站侦听器设置 useRemoteAddress 为 true。 |
PILOT_SKIP_VALIDATE_TRUST_DOMAIN | 布尔值 | false | 在身份验证策略中启用 mTLS 时,跳过验证对等方是否来自同一个信任域 |
PILOT_STATUS_BURST | 整数 | 500 | 如果启用了状态,则控制更新状态的突发速率。请参阅 https://godoc.org/k8s.io/client-go/rest#Config Burst |
PILOT_STATUS_MAX_WORKERS | 整数 | 100 | Pilot 用于保持配置状态更新的 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 | 整数 | 60000 | XDS 缓存的缓存条目最大数量。 |
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 缓存的当前大小 |