Skip to content

Commit 35aa1a0

Browse files
authored
Merge pull request #44878 from my-git9/patch-17490
[zh-cn] sync services-networking/dual-stack.md
2 parents f195ecb + 6fc602d commit 35aa1a0

File tree

1 file changed

+61
-71
lines changed

1 file changed

+61
-71
lines changed

content/zh-cn/docs/concepts/services-networking/dual-stack.md

Lines changed: 61 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ Kubernetes 集群的 IPv4/IPv6 双协议栈可提供下面的功能:
6666
* IPv4 and IPv6 enabled Services
6767
* Pod off-cluster egress routing (eg. the Internet) via both IPv4 and IPv6 interfaces
6868
-->
69-
* 双协议栈 pod 网络 (每个 pod 分配一个 IPv4 和 IPv6 地址)
70-
* IPv4 和 IPv6 启用的服务
69+
* 双协议栈 Pod 网络每个 Pod 分配一个 IPv4 和 IPv6 地址
70+
* IPv4 和 IPv6 启用的 Service
7171
* Pod 的集群外出口通过 IPv4 和 IPv6 路由
7272

7373
<!--
@@ -90,11 +90,11 @@ The following prerequisites are needed in order to utilize IPv4/IPv6 dual-stack
9090
* A [network plugin](/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/) that
9191
supports dual-stack networking.
9292
-->
93-
* Kubernetes 1.20 版本或更高版本,有关更早 Kubernetes 版本的使用双栈服务的信息
93+
* Kubernetes 1.20 版本或更高版本,有关更早 Kubernetes 版本的使用双栈 Service 的信息
9494
请参考对应版本的 Kubernetes 文档。
9595
* 提供商支持双协议栈网络(云提供商或其他提供商必须能够为 Kubernetes
96-
节点提供可路由的 IPv4/IPv6 网络接口)
97-
* 支持双协议栈的[网络插件](/zh-cn/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/)
96+
节点提供可路由的 IPv4/IPv6 网络接口)
97+
* 支持双协议栈的[网络插件](/zh-cn/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/)
9898

9999
<!--
100100
## Configure IPv4/IPv6 dual-stack
@@ -105,6 +105,7 @@ The following prerequisites are needed in order to utilize IPv4/IPv6 dual-stack
105105
To configure IPv4/IPv6 dual-stack, set dual-stack cluster network assignments:
106106
-->
107107
如果配置 IPv4/IPv6 双栈,请分配双栈集群网络:
108+
108109
<!--
109110
* kube-apiserver:
110111
* `--service-cluster-ip-range=<IPv4 CIDR>,<IPv6 CIDR>`
@@ -115,27 +116,27 @@ To configure IPv4/IPv6 dual-stack, set dual-stack cluster network assignments:
115116
* kube-proxy:
116117
* `--cluster-cidr=<IPv4 CIDR>,<IPv6 CIDR>`
117118
* kubelet:
118-
* when there is no `--cloud-provider` the administrator can pass a comma-separated pair of IP
119-
addresses via `--node-ip` to manually configure dual-stack `.status.addresses` for that Node.
120-
If a Pod runs on that node in HostNetwork mode, the Pod reports these IP addresses in its
121-
`.status.podIPs` field.
122-
All `podIPs` in a node match the IP family preference defined by the `.status.addresses`
123-
field for that Node.
124-
-->
125-
* kube-apiserver:
119+
* `--node-ip=<IPv4 IP>,<IPv6 IP>`
120+
* This option is required for bare metal dual-stack nodes (nodes that do not define a
121+
cloud provider with the `--cloud-provider` flag). If you are using a cloud provider
122+
and choose to override the node IPs chosen by the cloud provider, set the
123+
`--node-ip` option.
124+
* (The legacy built-in cloud providers do not support dual-stack `--node-ip`.)
125+
-->
126+
* kube-apiserver
126127
* `--service-cluster-ip-range=<IPv4 CIDR>,<IPv6 CIDR>`
127-
* kube-controller-manager:
128+
* kube-controller-manager
128129
* `--cluster-cidr=<IPv4 CIDR>,<IPv6 CIDR>`
129130
* `--service-cluster-ip-range=<IPv4 CIDR>,<IPv6 CIDR>`
130131
* `--node-cidr-mask-size-ipv4|--node-cidr-mask-size-ipv6` 对于 IPv4 默认为 /24,
131132
对于 IPv6 默认为 /64
132-
* kube-proxy:
133+
* kube-proxy
133134
* `--cluster-cidr=<IPv4 CIDR>,<IPv6 CIDR>`
134-
* kubelet:
135-
* 当没有 `--cloud-provider` 时,管理员可以通过 `--node-ip` 来传递逗号分隔的 IP 地址,
136-
为该节点手动配置双栈 `.status.addresses`
137-
如果 Pod 以 HostNetwork 模式在该节点上运行,则 Pod 会用 `.status.podIPs` 字段来报告它的 IP 地址
138-
一个节点中的所有 `podIP` 都会匹配该节点的由 `.status.addresses` 字段定义的 IP 组。
135+
* kubelet
136+
* `--node-ip=<IPv4 IP>,<IPv6 IP>`
137+
* 裸机双栈节点(未使用 `--cloud-provider` 标志定义云平台的节点)需要此选项
138+
如果你使用了某个云平台并选择覆盖云平台所选择的节点 IP,请设置 `--node-ip` 选项
139+
* (传统的内置云平台实现不支持双栈 `--node-ip`。)
139140

140141
{{< note >}}
141142
<!--
@@ -152,20 +153,10 @@ IPv6 CIDR 的一个例子:`fdXY:IJKL:MNOP:15::/64`
152153

153154
{{< feature-state for_k8s_version="v1.27" state="alpha" >}}
154155

155-
<!--
156-
When using an external cloud provider, you can pass a dual-stack `--node-ip` value to
157-
kubelet if you enable the `CloudDualStackNodeIPs` feature gate in both kubelet and the
158-
external cloud provider. This is only supported for cloud providers that support dual
159-
stack clusters.
160-
-->
161-
使用外部云驱动时,如果你在 kubelet 和外部云提供商中都启用了
162-
`CloudDualStackNodeIPs` 特性门控,则可以将双栈 `--node-ip`
163-
值传递给 kubelet。此特性需要保证云提供商支持双栈集群。
164-
165156
<!--
166157
## Services
167158
-->
168-
## 服务 {#services}
159+
## Service {#services}
169160

170161
<!--
171162
You can create {{< glossary_tooltip text="Services" term_id="service" >}} which can use IPv4, IPv6, or both.
@@ -179,10 +170,10 @@ set the `.spec.ipFamilyPolicy` field to one of the following values:
179170
你可以使用 IPv4 或 IPv6 地址来创建
180171
{{< glossary_tooltip text="Service" term_id="service" >}}。
181172

182-
服务的地址族默认为第一个服务集群 IP 范围的地址族(通过 kube-apiserver 的
173+
Service 的地址族默认为第一个服务集群 IP 范围的地址族(通过 kube-apiserver 的
183174
`--service-cluster-ip-range` 参数配置)。
184175

185-
当你定义服务时,可以选择将其配置为双栈。若要指定所需的行为,你可以设置
176+
当你定义 Service 时,可以选择将其配置为双栈。若要指定所需的行为,你可以设置
186177
`.spec.ipFamilyPolicy` 字段为以下值之一:
187178

188179
<!--
@@ -194,10 +185,10 @@ set the `.spec.ipFamilyPolicy` field to one of the following values:
194185
* Selects the `.spec.ClusterIP` from the list of `.spec.ClusterIPs` based on the address family
195186
of the first element in the `.spec.ipFamilies` array.
196187
-->
197-
* `SingleStack`单栈服务。控制面使用第一个配置的服务集群 IP 范围为服务分配集群 IP。
188+
* `SingleStack`单栈 Service。控制面使用第一个配置的服务集群 IP 范围为 Service 分配集群 IP。
198189
* `PreferDualStack`
199-
* 为服务分配 IPv4 和 IPv6 集群 IP 地址。
200-
* `RequireDualStack`:从 IPv4 和 IPv6 的地址范围分配服务的 `.spec.ClusterIPs`
190+
* 为 Service 分配 IPv4 和 IPv6 集群 IP 地址。
191+
* `RequireDualStack`:从 IPv4 和 IPv6 的地址范围分配 Service 的 `.spec.ClusterIPs`
201192
* 从基于在 `.spec.ipFamilies` 数组中第一个元素的地址族的 `.spec.ClusterIPs`
202193
列表中选择 `.spec.ClusterIP`
203194

@@ -207,15 +198,15 @@ families for dual-stack, you can choose the address families by setting an optio
207198
`.spec.ipFamilies`, on the Service.
208199
-->
209200
如果你想要定义哪个 IP 族用于单栈或定义双栈 IP 族的顺序,可以通过设置
210-
服务上的可选字段 `.spec.ipFamilies` 来选择地址族。
201+
Service 上的可选字段 `.spec.ipFamilies` 来选择地址族。
211202

212203
{{< note >}}
213204
<!--
214205
The `.spec.ipFamilies` field is conditionally mutable: you can add or remove a secondary
215206
IP address family, but you cannot change the primary IP address family of an existing Service.
216207
-->
217208
`.spec.ipFamilies` 字段修改是有条件的:你可以添加或删除第二个 IP 地址族,
218-
但你不能更改现有服务的主要 IP 地址族。
209+
但你不能更改现有 Service 的主要 IP 地址族。
219210
{{< /note >}}
220211

221212
<!--
@@ -244,14 +235,14 @@ The first family you list is used for the legacy `.spec.ClusterIP` field.
244235
245236
These examples demonstrate the behavior of various dual-stack Service configuration scenarios.
246237
-->
247-
### 双栈服务配置场景 {#dual-stack-service-configuration-scenarios}
238+
### 双栈 Service 配置场景 {#dual-stack-service-configuration-scenarios}
248239

249-
以下示例演示多种双栈服务配置场景下的行为
240+
以下示例演示多种双栈 Service 配置场景下的行为
250241

251242
<!--
252243
#### Dual-stack options on new Services
253244
-->
254-
#### 新服务的双栈选项 {#dual-stack-options-on-new-services}
245+
#### 新 Service 的双栈选项 {#dual-stack-options-on-new-services}
255246

256247
<!--
257248
1. This Service specification does not explicitly define `.spec.ipFamilyPolicy`. When you create
@@ -261,12 +252,11 @@ These examples demonstrate the behavior of various dual-stack Service configurat
261252
[headless Services](/docs/concepts/services-networking/service/#headless-services) with selectors
262253
will behave in this same way.)
263254
-->
264-
1. 此服务规约中没有显式设定 `.spec.ipFamilyPolicy`当你创建此服务时,Kubernetes
265-
从所配置的第一个 `service-cluster-ip-range` 中为服务分配一个集群 IP,并设置
255+
1. 此 Service 规约中没有显式设定 `.spec.ipFamilyPolicy`当你创建此 Service 时,Kubernetes
256+
从所配置的第一个 `service-cluster-ip-range` 中为 Service 分配一个集群 IP,并设置
266257
`.spec.ipFamilyPolicy``SingleStack`
267-
[无选择算符的服务](/zh-cn/docs/concepts/services-networking/service/#services-without-selectors)
268-
[无头服务](/zh-cn/docs/concepts/services-networking/service/#headless-services)的行为方式
269-
与此相同。)
258+
[无选择算符的 Service](/zh-cn/docs/concepts/services-networking/service/#services-without-selectors)
259+
[无头服务(Headless Service)](/zh-cn/docs/concepts/services-networking/service/#headless-services)的行为方式与此相同。)
270260

271261
{{% code_sample file="service/networking/dual-stack-default-svc.yaml" %}}
272262

@@ -285,14 +275,14 @@ These examples demonstrate the behavior of various dual-stack Service configurat
285275
* On a cluster with dual-stack enabled, specifying `RequireDualStack` in `.spec.ipFamilyPolicy`
286276
behaves the same as `PreferDualStack`.
287277
-->
288-
2. 此服务规约显式地将 `.spec.ipFamilyPolicy` 设置为 `PreferDualStack`
289-
当你在双栈集群上创建此服务时,Kubernetes 会为该服务分配 IPv4 和 IPv6 地址。
290-
控制平面更新服务的 `.spec` 以记录 IP 地址分配。
278+
2. 此 Service 规约显式地将 `.spec.ipFamilyPolicy` 设置为 `PreferDualStack`
279+
当你在双栈集群上创建此 Service 时,Kubernetes 会为此 Service 分配 IPv4 和 IPv6 地址。
280+
控制平面更新 Service 的 `.spec` 以记录 IP 地址分配。
291281
字段 `.spec.ClusterIPs` 是主要字段,包含两个分配的 IP 地址;`.spec.ClusterIP` 是次要字段,
292282
其取值从 `.spec.ClusterIPs` 计算而来。
293283

294-
* 对于 `.spec.ClusterIP` 字段,控制面记录来自第一个服务集群 IP 范围
295-
对应的地址族的 IP 地址。
284+
* 对于 `.spec.ClusterIP` 字段,控制面记录来自第一个服务集群 IP
285+
范围对应的地址族的 IP 地址。
296286
* 对于单协议栈的集群,`.spec.ClusterIPs``.spec.ClusterIP` 字段都
297287
仅仅列出一个地址。
298288
* 对于启用了双协议栈的集群,将 `.spec.ipFamilyPolicy` 设置为
@@ -306,8 +296,8 @@ These examples demonstrate the behavior of various dual-stack Service configurat
306296
IPv4 address in `.spec.ClusterIPs`, `.spec.ClusterIP` is set to the IPv6 address because that is
307297
the first element in the `.spec.ClusterIPs` array, overriding the default.
308298
-->
309-
3. 下面的服务规约显式地在 `.spec.ipFamilies` 中指定 `IPv6``IPv4`
310-
`.spec.ipFamilyPolicy` 设定为 `PreferDualStack`
299+
3. 下面的 Service 规约显式地在 `.spec.ipFamilies` 中指定 `IPv6``IPv4`并将
300+
`.spec.ipFamilyPolicy` 设定为 `PreferDualStack`
311301
当 Kubernetes 为 `.spec.ClusterIPs` 分配一个 IPv6 和一个 IPv4 地址时,
312302
`.spec.ClusterIP` 被设置成 IPv6 地址,因为它是 `.spec.ClusterIPs` 数组中的第一个元素,
313303
覆盖其默认值。
@@ -317,14 +307,14 @@ These examples demonstrate the behavior of various dual-stack Service configurat
317307
<!--
318308
#### Dual-stack defaults on existing Services
319309
-->
320-
#### 现有服务的双栈默认值 {#dual-stack-defaults-on-existing-services}
310+
#### 现有 Service 的双栈默认值 {#dual-stack-defaults-on-existing-services}
321311

322312
<!--
323313
These examples demonstrate the default behavior when dual-stack is newly enabled on a cluster
324314
where Services already exist. (Upgrading an existing cluster to 1.21 or beyond will enable
325315
dual-stack.)
326316
-->
327-
下面示例演示了在服务已经存在的集群上新启用双栈时的默认行为
317+
下面示例演示了在 Service 已经存在的集群上新启用双栈时的默认行为
328318
(将现有集群升级到 1.21 或者更高版本会启用双协议栈支持。)
329319

330320
<!--
@@ -333,16 +323,16 @@ dual-stack.)
333323
`.spec.ipFamilies` to the address family of the existing Service. The existing Service cluster IP
334324
will be stored in `.spec.ClusterIPs`.
335325
-->
336-
1. 在集群上启用双栈时,控制面会将现有服务(无论是 `IPv4` 还是 `IPv6`)配置
326+
1. 在集群上启用双栈时,控制面会将现有 Service(无论是 `IPv4` 还是 `IPv6`)配置
337327
`.spec.ipFamilyPolicy``SingleStack` 并设置 `.spec.ipFamilies`
338-
为服务的当前地址族
328+
为 Service 的当前地址族
339329

340330
{{% code_sample file="service/networking/dual-stack-default-svc.yaml" %}}
341331

342332
<!--
343333
You can validate this behavior by using kubectl to inspect an existing service.
344334
-->
345-
你可以通过使用 kubectl 检查现有服务来验证此行为
335+
你可以通过使用 kubectl 检查现有 Service 来验证此行为
346336

347337
```shell
348338
kubectl get svc my-service -o yaml
@@ -423,12 +413,12 @@ dual-stack.)
423413
<!--
424414
#### Switching Services between single-stack and dual-stack
425415
-->
426-
#### 在单栈和双栈之间切换服务 {#switching-services-between-single-stack-and-dual-stack}
416+
#### 在单栈和双栈之间切换 Service {#switching-services-between-single-stack-and-dual-stack}
427417

428418
<!--
429419
Services can be changed from single-stack to dual-stack and from dual-stack to single-stack.
430420
-->
431-
服务可以从单栈更改为双栈,也可以从双栈更改为单栈。
421+
Service 可以从单栈更改为双栈,也可以从双栈更改为单栈。
432422

433423
<!--
434424
1. To change a Service from single-stack to dual-stack, change `.spec.ipFamilyPolicy` from
@@ -438,11 +428,11 @@ Services can be changed from single-stack to dual-stack and from dual-stack to s
438428

439429
Edit the Service specification updating the `.spec.ipFamilyPolicy` from `SingleStack` to `PreferDualStack`.
440430
-->
441-
1. 要将服务从单栈更改为双栈,根据需要将 `.spec.ipFamilyPolicy` 从 `SingleStack` 改为
431+
1. 要将 Service 从单栈更改为双栈,根据需要将 `.spec.ipFamilyPolicy` 从 `SingleStack` 改为
442432
`PreferDualStack` 或 `RequireDualStack`。
443-
当你将此服务从单栈更改为双栈时,Kubernetes 将分配缺失的地址族,
444-
以便现在该服务具有 IPv4 和 IPv6 地址。
445-
编辑服务规约将 `.spec.ipFamilyPolicy` 从 `SingleStack` 改为 `PreferDualStack`。
433+
当你将此 Service 从单栈更改为双栈时,Kubernetes 将分配缺失的地址族,
434+
以便现在此 Service具有 IPv4 和 IPv6 地址。
435+
编辑 Service 规约将 `.spec.ipFamilyPolicy` 从 `SingleStack` 改为 `PreferDualStack`。
446436

447437
<!--
448438
Before:
@@ -471,9 +461,9 @@ Services can be changed from single-stack to dual-stack and from dual-stack to s
471461
array, and sets `.spec.ClusterIP` to that IP address and sets `.spec.ipFamilies` to the address
472462
family of `.spec.ClusterIPs`.
473463
-->
474-
2. 要将服务从双栈更改为单栈,请将 `.spec.ipFamilyPolicy` 从 `PreferDualStack` 或
464+
2. 要将 Service 从双栈更改为单栈,请将 `.spec.ipFamilyPolicy` 从 `PreferDualStack` 或
475465
`RequireDualStack` 改为 `SingleStack`。
476-
当你将此服务从双栈更改为单栈时,Kubernetes 只保留 `.spec.ClusterIPs`
466+
当你将此 Service 从双栈更改为单栈时,Kubernetes 只保留 `.spec.ClusterIPs`
477467
数组中的第一个元素,并设置 `.spec.ClusterIP` 为那个 IP 地址,
478468
并设置 `.spec.ipFamilies` 为 `.spec.ClusterIPs` 地址族。
479469

@@ -494,15 +484,15 @@ and without `.spec.ipFamilyPolicy` explicitly set, the `.spec.ipFamilyPolicy` fi
494484
<!--
495485
### Service type LoadBalancer
496486
-->
497-
### LoadBalancer 类型服务 {#service-type-loadbalancer}
487+
### LoadBalancer 类型 Service {#service-type-loadbalancer}
498488

499489
<!--
500490
To provision a dual-stack load balancer for your Service:
501491

502492
* Set the `.spec.type` field to `LoadBalancer`
503493
* Set `.spec.ipFamilyPolicy` field to `PreferDualStack` or `RequireDualStack`
504494
-->
505-
要为你的服务提供双栈负载均衡器
495+
要为你的 Service 提供双栈负载均衡器
506496

507497
* 将 `.spec.type` 字段设置为 `LoadBalancer`
508498
* 将 `.spec.ipFamilyPolicy` 字段设置为 `PreferDualStack` 或者 `RequireDualStack`
@@ -512,7 +502,7 @@ To provision a dual-stack load balancer for your Service:
512502
To use a dual-stack `LoadBalancer` type Service, your cloud provider must support IPv4 and IPv6
513503
load balancers.
514504
-->
515-
为了使用双栈的负载均衡器类型服务,你的云驱动必须支持 IPv4 和 IPv6 的负载均衡器。
505+
为了使用双栈的负载均衡器类型 Service,你的云驱动必须支持 IPv4 和 IPv6 的负载均衡器。
516506
{{< /note >}}
517507

518508
<!--
@@ -552,15 +542,15 @@ You can use IPv4/IPv6 dual-stack networking with `l2bridge` networks.
552542
## Windows 支持 {#windows-support}
553543

554544
Windows 上的 Kubernetes 不支持单栈“仅 IPv6” 网络。 然而,
555-
对于 Pod 和节点而言,仅支持单栈形式服务的双栈 IPv4/IPv6 网络是被支持的。
545+
对于 Pod 和节点而言,仅支持单栈形式 Service 的双栈 IPv4/IPv6 网络是被支持的。
556546

557547
你可以使用 `l2bridge` 网络来实现 IPv4/IPv6 双栈联网。
558548

559549
{{< note >}}
560550
<!--
561551
Overlay (VXLAN) networks on Windows **do not** support dual-stack networking.
562552
-->
563-
Windows 上的 Overlay (VXLAN) 网络**不**支持双栈网络。
553+
Windows 上的 OverlayVXLAN网络**不**支持双栈网络。
564554
{{< /note >}}
565555

566556
<!--

0 commit comments

Comments
 (0)