@@ -10,36 +10,39 @@ test: n/a
10
10
Istio 服务网格在逻辑上分为数据平面和控制平面。
11
11
12
12
{{< gloss "data plane" >}}数据平面{{< /gloss >}}是一组代理,用于调解和控制微服务之间的所有网络通信。
13
- 它们还收集和报告所有网格流量的可观测数据 。
13
+ 这些代理还可以收集和报告所有网格流量的可观测数据 。
14
14
15
- {{< gloss "control plane" >}}控制平面{{< /gloss >}}管理和配置数据平面中的代理 。
15
+ {{< gloss "control plane" >}}控制平面{{< /gloss >}}管理和配置数据平面中的这些代理 。
16
16
17
17
Istio 支持两种主要的{{< gloss "data plane mode">}}数据平面模式{{< /gloss >}}:
18
18
19
- * ** Sidecar 模式** ,它会与您在集群中启动的每个 Pod 一起部署一个 Envoy 代理,或者与在虚拟机上运行的服务一同运行。
20
- * ** Ambient 模式** ,使用每个节点的四层代理,并且可选地使用每个命名空间的 Envoy 代理来实现七层功能。
19
+ * ** Sidecar 模式** ,此模式会为集群中启动的每个 Pod 都部署一个 Envoy 代理,
20
+ 或者与在虚拟机上运行的服务并行运行一个 Envoy 代理。
21
+ * ** Ambient 模式** ,此模式在每个节点上使用四层代理,
22
+ 另外可以选择为每个命名空间使用一个 Envoy 代理来实现七层功能。
21
23
22
- 您可以选择将某些命名空间或工作负载纳入任意模式 。
24
+ 您可以选择将某些命名空间或工作负载纳入任一模式 。
23
25
24
26
## Sidecar 模式 {#sidecar=mode}
25
27
26
28
Istio 自 2017 年首次发布以来就基于 Sidecar 模式构建。
27
29
Sidecar 模式易于理解且经过彻底的实战测试,但需要花费资源成本和运营开销。
28
30
29
- * 您部署的每个应用程序都有一个 Envoy 代理{{< gloss "injection" >}}被注入{{< /gloss >}}作为 Sidecar
31
+ * 您部署的每个应用都有一个 Envoy 代理{{< gloss "injection" >}}被注入{{< /gloss >}}作为 Sidecar
30
32
* 所有代理都可以处理四层和七层流量
31
33
32
34
## Ambient 模式 {#ambient-mode}
33
35
34
- Ambient 模式于 2022 年推出,旨在解决 Sidecar 模式用户报告的缺点。从 Istio 1.22 开始,它已准备好用于单集群用例的生产环境。
36
+ Ambient 模式于 2022 年推出,旨在解决 Sidecar 模式用户报告的缺点。
37
+ 从 Istio 1.22 开始,它在单集群使用场景就达到生产就绪状态。
35
38
36
39
* 所有流量都通过仅支持四层的节点代理进行代理
37
- * 应用程序可以选择通过 Envoy 代理进行路由,以获得七层功能
40
+ * 应用可以选择通过 Envoy 代理进行路由,以获得七层功能
38
41
39
- ## 在 Sidecar 和 Ambient 之间进行选择 {#choosing-between-sidecar-and-ambient}
42
+ ## 在 Sidecar 和 Ambient 之间做出选择 {#choosing-between-sidecar-and-ambient}
40
43
41
44
用户通常首先部署网格以实现零信任安全态势,然后根据需要选择性地启用 L7 功能。
42
- Ambient 网格允许这些用户在不需要时完全绕过 L7 处理的成本。
45
+ Ambient 网格允许这些用户在不需要 L7 功能时完全绕过 L7 处理的成本。
43
46
44
47
<table >
45
48
<thead >
@@ -63,7 +66,7 @@ Ambient 网格允许这些用户在不需要时完全绕过 L7 处理的成本
63
66
<tr>
64
67
<th>可观测性</th>
65
68
<td>完整的 Istio 功能集</td>
66
- <td>完整的 Istio 功能集:Ambient 模式下具备 L4 可观测 ;使用 waypoint 实现 L7 可观察性 </td>
69
+ <td>完整的 Istio 功能集:Ambient 模式下具备 L4 遥测 ;使用 waypoint 实现 L7 可观测性 </td>
67
70
</tr>
68
71
<tr>
69
72
<th>可扩展性</th>
@@ -72,23 +75,23 @@ Ambient 网格允许这些用户在不需要时完全绕过 L7 处理的成本
72
75
</tr>
73
76
<tr>
74
77
<th>向网格添加工作负载</th>
75
- <td>标记命名空间并重新启动所有 Pod 以添加 Sidecar</td>
76
- <td>标记命名空间 - 无需重启 Pod</td>
78
+ <td>为命名空间添加标签并重启所有 Pod 以添加 Sidecar</td>
79
+ <td>为命名空间添加标签 - 无需重启 Pod</td>
77
80
</tr>
78
81
<tr>
79
- <th>增量部署 </th>
82
+ <th>递增式部署 </th>
80
83
<td>二进制:Sidecar 是否已被注入</td>
81
84
<td>渐进式:L4 始终开启,L7 可通过配置添加</td>
82
85
</tr>
83
86
<tr>
84
87
<th>生命周期管理</th>
85
- <td>代理由应用程序开发人员管理 </td>
88
+ <td>代理由应用开发人员管理 </td>
86
89
<td>平台管理员</td>
87
90
</tr>
88
91
<tr>
89
- <th>资源利用 </th>
90
- <td>浪费;必须为每个单独的 Pod 的最坏情况配置 CPU 和内存资源</td>
91
- <td>waypoint 代理可以像任何其他 Kubernetes 部署一样自动扩展 。<br>具有多个副本的工作负载可以使用同一个 waypoint,而不是每个副本都有自己的边车 。</td>
92
+ <th>资源利用率 </th>
93
+ <td>浪费;必须考虑到每个单独 Pod 的最糟情况并配置最大的 CPU 和内存资源</td>
94
+ <td>waypoint 代理可以像任何其他 Kubernetes Deployment 一样自动扩缩容 。<br>有多个副本的工作负载可以使用同一个 waypoint,而不是每个副本都有自己的 Sidecar 。</td>
92
95
</tr>
93
96
<tr>
94
97
<th>平均资源成本</th>
@@ -126,7 +129,7 @@ Ambient 网格允许这些用户在不需要时完全绕过 L7 处理的成本
126
129
<td>强:每个节点代理仅具有该节点上工作负载的密钥</td>
127
130
</tr>
128
131
<tr>
129
- <th>被入侵的应用程序 Pod<br>可访问网格密钥</th>
132
+ <th>被入侵的应用 Pod<br>可访问网格密钥</th>
130
133
<td>可以</td>
131
134
<td>不可以</td>
132
135
</tr>
@@ -146,7 +149,7 @@ Ambient 网格允许这些用户在不需要时完全绕过 L7 处理的成本
146
149
## 四层与七层功能 {#layer-4-vs-layer-7-features}
147
150
148
151
在七层处理协议的开销远远高于在四层处理网络数据包的开销。
149
- 对于给定的服务,如果您的要求可以在 L4 满足,则可以以更低的成本提供服务网格 。
152
+ 对于给定的服务,如果您的要求可以在 L4 被满足,则可以以明显更低的成本交付服务网格 。
150
153
151
154
### 安全 {#security}
152
155
@@ -161,25 +164,25 @@ Ambient 网格允许这些用户在不需要时完全绕过 L7 处理的成本
161
164
<tbody >
162
165
<tr>
163
166
<th>加密</th>
164
- <td>所有 Pod 之间的流量都使用 {{< gloss "mutual tls authentication" >}}mTLS{{< /gloss >}} 加密. </td>
167
+ <td>所有 Pod 之间的流量都使用 {{< gloss "mutual tls authentication" >}}mTLS{{< /gloss >}} 加密。 </td>
165
168
<td>不适用;Istio 中的服务身份基于 TLS。</td>
166
169
</tr>
167
170
<tr>
168
171
<th>服务到服务的身份验证</th>
169
- <td>{{< gloss >}}SPIFFE{{< /gloss >}},通过 mTLS 证书 。Istio 颁发一个短期 X.509 证书,该证书对 Pod 的服务帐户身份进行编码。</td>
172
+ <td>通过 mTLS 证书执行 {{< gloss >}}SPIFFE{{< /gloss >}}。Istio 颁发一个短期 X.509 证书,对 Pod 的服务帐户身份进行编码。</td>
170
173
<td>不适用;Istio 中的服务身份基于 TLS。</td>
171
174
</tr>
172
175
<tr>
173
176
<th>服务到服务的鉴权</th>
174
177
<td>基于网络的鉴权,加上基于身份的策略,例如:
175
178
<ul>
176
- <li>A 只能接受来自“10.2.0.0/16”的入站呼叫 ;</li>
179
+ <li>A 只能接受来自“10.2.0.0/16”的入站调用 ;</li>
177
180
<li>A 可以调用 B。</li>
178
181
</ul>
179
182
</td>
180
183
<td>完整政策,例如:
181
184
<ul>
182
- <li>只有使用包含 READ 范围的有效最终用户凭据 ,A 才能在 B 上执行 GET /foo 操作。</li>
185
+ <li>只有使用包含 READ 范围的有效最终用户凭证 ,A 才能在 B 上执行 GET /foo 操作。</li>
183
186
</ul>
184
187
</td>
185
188
</tr>
@@ -191,7 +194,7 @@ Ambient 网格允许这些用户在不需要时完全绕过 L7 处理的成本
191
194
<tr>
192
195
<th>最终用户鉴权</th>
193
196
<td>不适用;同上</td>
194
- <td>可以扩展服务到服务的策略,以要求<a href="/zh/docs/reference/config/security/conditions/">具有特定范围、发行者、主体、受众等的最终用户凭证</a><br />可以使用外部鉴权实现完整的用户到资源访问,允许根据外部服务的决策制定每个请求的策略 ,例如 OPA。</td>
197
+ <td>可以扩展服务到服务的策略,以要求<a href="/zh/docs/reference/config/security/conditions/">具有特定范围、发行者、主体、受众等的最终用户凭证</a>。 <br />可以使用外部鉴权,实现完整的用户到资源的访问,允许根据外部服务的决策来制定每个请求的策略 ,例如 OPA。</td>
195
198
</tr>
196
199
</tbody >
197
200
</table >
@@ -220,7 +223,7 @@ Ambient 网格允许这些用户在不需要时完全绕过 L7 处理的成本
220
223
<tr>
221
224
<th>指标</th>
222
225
<td>仅 TCP(发送/接收的字节数、数据包数量等)。</td>
223
- <td>L7 RED 指标:请求率、错误率、请求持续时间 (延迟)。</td>
226
+ <td>L7 RED 指标:请求率、错误率、请求时间 (延迟)。</td>
224
227
</tr>
225
228
</tbody >
226
229
</table >
@@ -247,19 +250,19 @@ Ambient 网格允许这些用户在不需要时完全绕过 L7 处理的成本
247
250
<td>除了 TCP 之外,<a href="/zh/docs/reference/config/networking/destination-rule/#ConnectionPoolSettings-HTTPSettings">还有 HTTP 设置</a>。</td>
248
251
</tr>
249
252
<tr>
250
- <th>异常值检测 </th>
253
+ <th>离群值检测 </th>
251
254
<td>当连接建立/失败时。</td>
252
255
<td>请求成功/失败。</td>
253
256
</tr>
254
257
<tr>
255
258
<th>限流</th>
256
- <td><a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/rate_limit_filter#config-network-filters-rate-limit">仅在建立连接时对 L4 连接数据进行限流</a>,具有全局和本地限流选项 。</td>
259
+ <td>使用全局限流选项和本地限流选项, <a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/rate_limit_filter#config-network-filters-rate-limit">仅在建立连接时对 L4 连接数据进行限流</a>。</td>
257
260
<td>根据每个请求,<a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/rate_limit_filter#config-http-filters-rate-limit">L7 请求元数据的限流</a>。</td>
258
261
</tr>
259
262
<tr>
260
263
<th>超时</th>
261
- <td>仅建立连接(通过断路设置来配置连接保持 )。</td>
262
- <td>根据要求 。</td>
264
+ <td>仅建立连接(通过熔断设置来配置保持活跃的连接 )。</td>
265
+ <td>按请求 。</td>
263
266
</tr>
264
267
<tr>
265
268
<th>重试</th>
@@ -269,7 +272,7 @@ Ambient 网格允许这些用户在不需要时完全绕过 L7 处理的成本
269
272
<tr>
270
273
<th>故障注入</th>
271
274
<td>不适用;无法在 TCP 连接上配置故障注入。</td>
272
- <td>完整的应用程序和连接级故障 (<a href="/zh/docs/tasks/traffic-management/fault-injection/">超时、延迟、特定响应码</a>)。</td>
275
+ <td>完整的应用和连接级故障 (<a href="/zh/docs/tasks/traffic-management/fault-injection/">超时、延迟、特定响应码</a>)。</td>
273
276
</tr>
274
277
<tr>
275
278
<th>流量镜像</th>
0 commit comments