mirror of https://github.com/istio/istio.io.git
[zh] Fix and improve format for reference doc in Chinese (#13932)
* Fix and improve format for reference doc in Chinese * fix table * fix
This commit is contained in:
parent
87dbd4b750
commit
8a0b3d9dff
|
|
@ -5,7 +5,9 @@ weight: 21
|
|||
---
|
||||
|
||||
{{< warning >}}
|
||||
此功能处于 Alpha 阶段,请参见 [Istio功能状态](/zh/about/feature-stages/)。欢迎您的反馈意见 [Istio用户体验讨论](https://discuss.istio.io/c/UX/23)。当前,此功能仅针对具有单个控制平面版本的单个小规模集群进行了测试。
|
||||
此功能处于 Alpha 阶段,请参见 [Istio功能状态](/zh/about/feature-stages/)。
|
||||
欢迎您的反馈意见 [Istio用户体验讨论](https://discuss.istio.io/c/UX/23)。
|
||||
当前,此功能仅针对具有单个控制平面版本的单个小规模集群进行了测试。
|
||||
|
||||
{{< /warning >}}
|
||||
|
||||
|
|
@ -22,17 +24,20 @@ $ istioctl install --set values.pilot.env.PILOT_ENABLE_STATUS=true --set values.
|
|||
* 有多少个数据平面实例与之关联。
|
||||
* 工具输出信息,例如 `istioctl analyze`。
|
||||
|
||||
例如,`kubectl wait` 命令监视 `status` 字段以确定是否取消阻止配置并继续。有关更多信息,请参见[等待资源状态以应用配置](/zh/docs/ops/configuration/mesh/config-resource-ready/).
|
||||
例如,`kubectl wait` 命令监视 `status` 字段以确定是否取消阻止配置并继续。
|
||||
有关更多信息,请参见[等待资源状态以应用配置](/zh/docs/ops/configuration/mesh/config-resource-ready/)。
|
||||
|
||||
## 查看 `status` 字段{#view-the-status-field}
|
||||
## 查看 `status` 字段 {#view-the-status-field}
|
||||
|
||||
您可以使用 `kubectl get` 查看资源中 `status` 字段的内容。 例如,要查看虚拟服务的状态,请使用以下命令:
|
||||
您可以使用 `kubectl get` 查看资源中 `status` 字段的内容。
|
||||
例如,要查看虚拟服务的状态,请使用以下命令:
|
||||
|
||||
{{< text bash >}}
|
||||
$ kubectl get virtualservice <service-name> -o yaml
|
||||
{{< /text >}}
|
||||
|
||||
在输出结果中,`status` 字段包含多个嵌套字段,其中包含详细信息关于通过网格传播配置更改的过程。
|
||||
在输出结果中,`status` 字段包含多个嵌套字段,
|
||||
其中包含详细信息关于通过网格传播配置更改的过程。
|
||||
|
||||
{{< text yaml >}}
|
||||
status:
|
||||
|
|
@ -58,27 +63,38 @@ status:
|
|||
message: 'mTLS not enabled for virtual service'
|
||||
{{< /text >}}
|
||||
|
||||
## `conditions` 字段{#the-conditions-field}
|
||||
## `conditions` 字段 {#the-conditions-field}
|
||||
|
||||
conditions 字段代表资源的可能状态。 一个 condition 的 `type` 字段可以具有以下值:
|
||||
conditions 字段代表资源的可能状态。
|
||||
一个 condition 的 `type` 字段可以具有以下值:
|
||||
|
||||
* `PassedAnalysis`
|
||||
* `Reconciled`
|
||||
|
||||
当您应用配置时,每种类型的条件都会添加到 `conditions` 字段中。
|
||||
|
||||
`Reconciled` 类型条件的 `status` 字段被初始化为 `False`,以表明资源仍在分配给所有代理的过程中。
|
||||
`Reconciled` 类型条件的 `status` 字段被初始化为 `False`,
|
||||
以表明资源仍在分配给所有代理的过程中。
|
||||
|
||||
当协调完成后,状态将变为 `True`。 根据集群的速度,`status` 字段可能会立即转换为 `True`。
|
||||
当协调完成后,状态将变为 `True`。
|
||||
根据集群的速度,`status` 字段可能会立即转换为 `True`。
|
||||
|
||||
`PassedAnalysis` 类型条件的 `status` 字段的值为 `True` 或 `False`,取决于 Istio 的后台分析器是否检测到您的配置有问题。如果为 `False`,则将在 `validationMessages` 字段中详细说明问题。
|
||||
`PassedAnalysis` 类型条件的 `status` 字段的值为 `True` 或 `False`,
|
||||
取决于 Istio 的后台分析器是否检测到您的配置有问题。
|
||||
如果为 `False`,则将在 `validationMessages` 字段中详细说明问题。
|
||||
|
||||
`PassedAnalysis` 类型条件仅是一个信息字段。 它不会阻止应用无效的配置。 该状态可能表示验证失败,但是应用配置成功。 这意味着 Istio 能够设置新配置,但是该配置无效,可能是由于语法错误或类似问题。
|
||||
`PassedAnalysis` 类型条件仅是一个信息字段。
|
||||
它不会阻止应用无效的配置。该状态可能表示验证失败,但是应用配置成功。
|
||||
这意味着 Istio 能够设置新配置,但是该配置无效,可能是由于语法错误或类似问题。
|
||||
|
||||
## `validationMessages` 字段{#the-validation-messages-field}
|
||||
## `validationMessages` 字段 {#the-validation-messages-field}
|
||||
|
||||
如果验证失败,请检查 `validationMessages` 字段以了解更多信息。`validationMessages` 字段包含有关验证过程的详细信息,例如指示 Istio 无法应用配置的错误消息,以及未导致错误的警告或参考消息。
|
||||
如果验证失败,请检查 `validationMessages` 字段以了解更多信息。
|
||||
`validationMessages` 字段包含有关验证过程的详细信息,
|
||||
例如指示 Istio 无法应用配置的错误消息,以及未导致错误的警告或参考消息。
|
||||
|
||||
如果类型为 `PassedValidation` 的条件的状态为 `False`,则会有 `validationMessages` 字段来解释该问题。 当 `PassedValidation` 状态为 `True` 时,可能会出现消息,因为这些消息是信息性消息。
|
||||
如果类型为 `PassedValidation` 的条件的状态为 `False`,
|
||||
则会有 `validationMessages` 字段来解释该问题。
|
||||
当 `PassedValidation` 状态为 `True` 时,可能会出现消息,因为这些消息是信息性消息。
|
||||
|
||||
有关验证消息的示例,请参见[配置分析消息](/zh/docs/reference/config/analysis/)。
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ status: Experimental
|
|||
|
||||
{{< boilerplate experimental >}}
|
||||
|
||||
默认情况下,遥测默认启用并作为一个 `filter` 被编译在 Istio 代理中,同时也被编译成 WebAssembly (Wasm) 模块,并随 Istio proxy 一起发布。若要使用 Wasm 进行遥测,请使用 `preview` 属性安装 Istio 。
|
||||
默认情况下,遥测默认启用并作为一个 `filter` 被编译在 Istio 代理中,
|
||||
同时也被编译成 WebAssembly(Wasm)模块,并随 Istio proxy 一起发布。
|
||||
若要使用 Wasm 进行遥测,请使用 `preview` 属性安装 Istio 。
|
||||
|
||||
{{< text bash >}}
|
||||
$ istioctl install --set profile=preview
|
||||
|
|
@ -26,8 +28,10 @@ $ istioctl install --set values.telemetry.v2.metadataExchange.wasmEnabled=true -
|
|||
{{< warning >}}
|
||||
基于 Wasm 的遥测存在几个已知的局限性:
|
||||
|
||||
* 代理 CPU 的使用将在 Wasm 模块加载阶段(例如:当上述配置被应用时)达到高峰。增加代理 CPU 资源限制将有助于加速加载。
|
||||
* 当代理基线资源使用增加时,根据初步的性能测试结果运行基于 Wasm 的遥测要比默认安装环境多花费 30%~50% 的 CPU,并使内存使用量增加一倍。
|
||||
* 代理 CPU 的使用将在 Wasm 模块加载阶段(例如:当上述配置被应用时)达到高峰。
|
||||
增加代理 CPU 资源限制将有助于加速加载。
|
||||
* 当代理基线资源使用增加时,根据初步的性能测试结果运行基于 Wasm
|
||||
的遥测要比默认安装环境多花费 30%~50% 的 CPU,并使内存使用量增加一倍。
|
||||
|
||||
性能问题将在接下来的版本中不断改进。
|
||||
{{</ warning>}}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,8 @@ owner: istio/wg-security-maintainers
|
|||
test: n/a
|
||||
---
|
||||
|
||||
此页面描述了可以用作[授权策略规则](/zh/docs/reference/config/security/authorization-policy/#Rule) `when` 字段中所支持的键和值的格式。
|
||||
此页面描述了可以用作[授权策略规则](/zh/docs/reference/config/security/authorization-policy/#Rule)
|
||||
`when` 字段中所支持的键和值的格式。
|
||||
|
||||
{{< warning >}}
|
||||
不支持的键和值将被忽略。
|
||||
|
|
@ -16,23 +17,23 @@ test: n/a
|
|||
|
||||
有关更多信息,请参阅[授权概念页面](/zh/docs/concepts/security/#authorization)。
|
||||
|
||||
## 支持条件{#supported-conditions}
|
||||
## 支持条件 {#supported-conditions}
|
||||
|
||||
| 名称 | 描述 | 支持的协议 | 示例 |
|
||||
|------|-------------|--------------------|---------|
|
||||
| `request.headers` | `HTTP` 请求头,需要用 `[]` 括起来 | HTTP only | `key: request.headers[User-Agent]`<br/>`values: ["Mozilla/*"]` |
|
||||
| `source.ip` | 源 `IP` 地址,支持单个 `IP` 或 `CIDR` | HTTP and TCP | `key: source.ip`<br/>`values: ["10.1.2.3"]` |
|
||||
| `remote.ip` | 由 `X-Forwarded-For` 请求头或代理协议确定的原始客户端 IP 地址,支持单个 IP 或 CIDR | HTTP and TCP | `key: remote.ip`<br />`values: ["10.1.2.3", "10.2.0.0/16"]` |
|
||||
| `source.namespace` | 源负载实例命名空间,需启用双向 TLS | HTTP and TCP | `key: source.namespace`<br/>`values: ["default"]` |
|
||||
| `source.principal` | 源负载的标识,需启用双向 TLS | HTTP and TCP | `key: source.principal`<br/>`values: ["cluster.local/ns/default/sa/productpage"]` |
|
||||
| `request.auth.principal` | 已认证过 `principal` 的请求。 | HTTP only | `key: request.auth.principal`<br/>`values: ["accounts.my-svc.com/104958560606"]` |
|
||||
| `request.auth.audiences` | 此身份验证信息的目标主体 | HTTP only | `key: request.auth.audiences`<br/>`values: ["my-svc.com"]` |
|
||||
| `request.auth.presenter` | 证书的颁发者 | HTTP only | `key: request.auth.presenter`<br/>`values: ["123456789012.my-svc.com"]` |
|
||||
| `request.auth.claims` | `Claims` 来源于 `JWT`。需要用 `[]` 括起来 | HTTP only | `key: request.auth.claims[iss]`<br/>`values: ["*@foo.com"]` |
|
||||
| `destination.ip` | 目标 `IP` 地址,支持单个 `IP` 或 `CIDR` | HTTP and TCP | `key: destination.ip`<br/>`values: ["10.1.2.3", "10.2.0.0/16"]` |
|
||||
| `destination.port` | 目标 `IP` 地址上的端口,必须在 `[0,65535]` 范围内 | HTTP and TCP | `key: destination.port`<br/>`values: ["80", "443"]` |
|
||||
| `connection.sni` | 服务器名称指示,需启用双向 TLS | HTTP and TCP | `key: connection.sni`<br/>`values: ["www.example.com"]` |
|
||||
| `experimental.envoy.filters.*` | 用于过滤器的实验性元数据匹配,包装的值 `[]` 作为列表匹配 | HTTP and TCP | `key: experimental.envoy.filters.network.mysql_proxy[db.table]`<br/>`values: ["[update]"]` |
|
||||
| 名称 | 描述 | 支持的协议 | 示例 |
|
||||
|--------------------------------|---------------------------------------------------------------------------------|--------------|--------------------------------------------------------------------------------------------|
|
||||
| `request.headers` | `HTTP` 请求头,需要用 `[]` 括起来 | HTTP only | `key: request.headers[User-Agent]`<br/>`values: ["Mozilla/*"]` |
|
||||
| `source.ip` | 源 `IP` 地址,支持单个 `IP` 或 `CIDR` | HTTP and TCP | `key: source.ip`<br/>`values: ["10.1.2.3"]` |
|
||||
| `remote.ip` | 由 `X-Forwarded-For` 请求头或代理协议确定的原始客户端 IP 地址,支持单个 IP 或 CIDR | HTTP and TCP | `key: remote.ip`<br />`values: ["10.1.2.3", "10.2.0.0/16"]` |
|
||||
| `source.namespace` | 源负载实例命名空间,需启用双向 TLS | HTTP and TCP | `key: source.namespace`<br/>`values: ["default"]` |
|
||||
| `source.principal` | 源负载的标识,需启用双向 TLS | HTTP and TCP | `key: source.principal`<br/>`values: ["cluster.local/ns/default/sa/productpage"]` |
|
||||
| `request.auth.principal` | 已认证过 `principal` 的请求。 | HTTP only | `key: request.auth.principal`<br/>`values: ["accounts.my-svc.com/104958560606"]` |
|
||||
| `request.auth.audiences` | 此身份验证信息的目标主体 | HTTP only | `key: request.auth.audiences`<br/>`values: ["my-svc.com"]` |
|
||||
| `request.auth.presenter` | 证书的颁发者 | HTTP only | `key: request.auth.presenter`<br/>`values: ["123456789012.my-svc.com"]` |
|
||||
| `request.auth.claims` | `Claims` 来源于 `JWT`。需要用 `[]` 括起来 | HTTP only | `key: request.auth.claims[iss]`<br/>`values: ["*@foo.com"]` |
|
||||
| `destination.ip` | 目标 `IP` 地址,支持单个 `IP` 或 `CIDR` | HTTP and TCP | `key: destination.ip`<br/>`values: ["10.1.2.3", "10.2.0.0/16"]` |
|
||||
| `destination.port` | 目标 `IP` 地址上的端口,必须在 `[0,65535]` 范围内 | HTTP and TCP | `key: destination.port`<br/>`values: ["80", "443"]` |
|
||||
| `connection.sni` | 服务器名称指示,需启用双向 TLS | HTTP and TCP | `key: connection.sni`<br/>`values: ["www.example.com"]` |
|
||||
| `experimental.envoy.filters.*` | 用于过滤器的实验性元数据匹配,包装的值 `[]` 作为列表匹配 | HTTP and TCP | `key: experimental.envoy.filters.network.mysql_proxy[db.table]`<br/>`values: ["[update]"]` |
|
||||
|
||||
{{< warning >}}
|
||||
无法保证 `experimental.*` 密钥向后的兼容性,可以随时将它们删除,但是须要谨慎操作。
|
||||
|
|
|
|||
|
|
@ -15,40 +15,40 @@ test: n/a
|
|||
|
||||
适用于 `paths` 和 `notPaths` 字段。
|
||||
|
||||
### 1. 单个百分号编码字符(%HH)
|
||||
### 1. 单个百分号编码字符(%HH) {#1-single-percent-encoded-character-hh}
|
||||
|
||||
Istio 将单个百分号编码字符规范化如下(只进行一次规范化,不进行双重解码):
|
||||
|
||||
| 百分号编码字符(大小写不敏感) | 规范化结果 | 注释 | 是否启用 |
|
||||
| ------------------------------ | ---------- | ----------------- | --------------------------------------- |
|
||||
| `%00` | `N/A` | 请求将始终被拒绝,并返回 HTTP 状态码 400 | N/A |
|
||||
| `%2d` | `-` | (破折号) | 默认情况下使用选项 `BASE` 启用 |
|
||||
| `%2e` | `.` | (点) | 默认情况下使用选项 `BASE` 启用 |
|
||||
| `%2f` | `/` | (正斜杠) | 默认情况下禁用,可以使用选项 `DECODE_AND_MERGE_SLASHES` 启用 |
|
||||
| `%30` - `%39` | `0` - `9` | (数字) | 默认情况下使用选项 `BASE` 启用 |
|
||||
| `%41` - `%5a` | `A` - `Z` | (大写字母) | 默认情况下使用选项 `BASE` 启用 |
|
||||
| `%5c` | `\` | (反斜杠) | 默认情况下禁用,可以使用选项`DECODE_AND_MERGE_SLASHES`启用 |
|
||||
| `%5f` | `_` | (下划线) | 默认情况下使用选项 `BASE` 启用 |
|
||||
| `%61` - `%7a` | `a` - `z` | (小写字母) | 默认情况下使用选项 `BASE` 启用 |
|
||||
| `%7e` | `~` | (波浪号) | 默认情况下使用选项 `BASE` 启用 |
|
||||
| 百分号编码字符(大小写不敏感) | 规范化结果 | 注释 | 是否启用 |
|
||||
|------------------------------|------------|------------------------------------------|-----------------------------------------------------------|
|
||||
| `%00` | `N/A` | 请求将始终被拒绝,并返回 HTTP 状态码 400 | N/A |
|
||||
| `%2d` | `-` | (破折号) | 默认情况下使用选项 `BASE` 启用 |
|
||||
| `%2e` | `.` | (点) | 默认情况下使用选项 `BASE` 启用 |
|
||||
| `%2f` | `/` | (正斜杠) | 默认情况下禁用,可以使用选项 `DECODE_AND_MERGE_SLASHES` 启用 |
|
||||
| `%30` - `%39` | `0` - `9` | (数字) | 默认情况下使用选项 `BASE` 启用 |
|
||||
| `%41` - `%5a` | `A` - `Z` | (大写字母) | 默认情况下使用选项 `BASE` 启用 |
|
||||
| `%5c` | `\` | (反斜杠) | 默认情况下禁用,可以使用选项`DECODE_AND_MERGE_SLASHES`启用 |
|
||||
| `%5f` | `_` | (下划线) | 默认情况下使用选项 `BASE` 启用 |
|
||||
| `%61` - `%7a` | `a` - `z` | (小写字母) | 默认情况下使用选项 `BASE` 启用 |
|
||||
| `%7e` | `~` | (波浪号) | 默认情况下使用选项 `BASE` 启用 |
|
||||
|
||||
例如,路径为 `/some%2fdata/%61%62%63` 的请求将被规范化为 `/some/data/abc`。
|
||||
|
||||
### 2. 反斜杠(`\`)
|
||||
### 2. 反斜杠(`\`) {#2-backslash-}
|
||||
|
||||
Istio 将反斜杠 `\` 规范化为正斜杠 `/`。
|
||||
例如,路径为 `/some\data` 的请求将被规范化为 `/some/data`。
|
||||
|
||||
默认情况下,这是使用选项 `BASE` 启用的。
|
||||
|
||||
### 3. 多个正斜杠(`//`、`///` 等)
|
||||
### 3. 多个正斜杠(`//`、`///` 等) {#3-multiple-forward-slashes---etc}
|
||||
|
||||
Istio 将多个正斜杠合并为单个正斜杠(/)。
|
||||
例如,路径为 `/some//data///abc` 的请求将被规范化为 `/some/data/abc`。
|
||||
|
||||
默认情况下,这是禁用的,但可以使用选项`MERGE_SLASHES`启用。
|
||||
|
||||
### 4. 单点和双点(`/./`、`/../`)
|
||||
### 4. 单点和双点(`/./`、`/../`) {#4-single-dot-and-double-dots--}
|
||||
|
||||
Istio 将根据 [RFC 3986](https://tools.ietf.org/html/rfc3986#section-6)
|
||||
解析单点 `/./` 和双点 `/../`。单点将被解析为当前目录,双点将被解析为父目录。
|
||||
|
|
@ -57,7 +57,7 @@ Istio 将根据 [RFC 3986](https://tools.ietf.org/html/rfc3986#section-6)
|
|||
|
||||
默认情况下,这是使用选项`BASE`启用的。
|
||||
|
||||
### 5. 带查询的路径(/foo?v=1)
|
||||
### 5. 带查询的路径(/foo?v=1) {#5-path-with-query-foov1}
|
||||
|
||||
与路径比较时,Istio 授权策略将删除问号(`?`)后面的所有内容。
|
||||
请注意,后端应用程序仍将看到查询。
|
||||
|
|
@ -68,23 +68,23 @@ Istio 将根据 [RFC 3986](https://tools.ietf.org/html/rfc3986#section-6)
|
|||
|
||||
适用于 `methods` 和 `notMethods` 字段。
|
||||
|
||||
### 1. 方法不大写
|
||||
### 1. 方法不大写 {#1-method-not-in-upper-case}
|
||||
|
||||
如果 HTTP 请求中的动词未大写,Istio 将拒绝该请求,并返回 HTTP 状态码 400。
|
||||
|
||||
默认情况下,此功能已启用。
|
||||
|
||||
## 与标头名称相关
|
||||
## 与标头名称相关 {#header-name-related}
|
||||
|
||||
适用于在 `request.headers[<header-name>]` 条件中指定的标头名称。
|
||||
|
||||
### 1. 大小写不敏感匹配
|
||||
### 1. 大小写不敏感匹配 {#1-case-insensitive-matching}
|
||||
|
||||
Istio 授权策略将使用大小写不敏感的方式比较标头名称。
|
||||
|
||||
默认情况下,此功能已启用。
|
||||
|
||||
### 2. 重复标头
|
||||
### 2. 重复标头 {#2-duplicate-headers}
|
||||
|
||||
Istio 将通过使用逗号作为分隔符将重复的标头合并成单个标头,并将所有值连接起来。
|
||||
|
||||
|
|
@ -93,7 +93,7 @@ Istio 将通过使用逗号作为分隔符将重复的标头合并成单个标
|
|||
|
||||
默认情况下,此功能已启用。
|
||||
|
||||
### 3. 标头名称中的空格
|
||||
### 3. 标头名称中的空格 {#3-white-space-in-header-name}
|
||||
|
||||
如果标头名称包含任何空格,Istio 将拒绝该请求,并返回 HTTP 状态码 400。
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue