From 0fb07f776b4093743b5d6a8cc851139602e5ec4e Mon Sep 17 00:00:00 2001 From: Qiming Teng Date: Fri, 20 Nov 2020 13:56:36 +0800 Subject: [PATCH] [zh] Sync tasks/administer-cluster/enabling-endpointslices.md --- .../enabling-endpointslices.md | 132 ++++++++++-------- 1 file changed, 76 insertions(+), 56 deletions(-) diff --git a/content/zh/docs/tasks/administer-cluster/enabling-endpointslices.md b/content/zh/docs/tasks/administer-cluster/enabling-endpointslices.md index 4e6bd67307..cf36557dd6 100644 --- a/content/zh/docs/tasks/administer-cluster/enabling-endpointslices.md +++ b/content/zh/docs/tasks/administer-cluster/enabling-endpointslices.md @@ -1,110 +1,130 @@ --- reviewers: -- bowei -- freehan -title: 启用端点切片 +title: 启用 EndpointSlices content_type: task --- -本页提供启用 Kubernetes 端点切片的总览 - - - +本页提供启用 Kubernetes EndpointSlice 的总览。 ## {{% heading "prerequisites" %}} - - {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} - - - +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} ## 介绍 -端点切片为 Kubernetes 端点提供了可伸缩和可扩展的替代方案。它们建立在端点提供的功能基础之上,并以可伸缩的方式进行扩展。当服务具有大量(>100)网络端点, -它们将被分成多个较小的端点切片资源,而不是单个大型端点资源。 +EndpointSlice (端点切片)为 Kubernetes Endpoints 提供了可伸缩和可扩展的替代方案。 +它们建立在 Endpoints 提供的功能基础之上,并以可伸缩的方式进行扩展。 +当 Service 具有大量(>100)网络端点时,它们将被分成多个较小的 EndpointSlice 资源, +而不是单个大型 Endpoints 资源。 -## 启用端点切片 -{{< feature-state for_k8s_version="v1.16" state="alpha" >}} +## 启用 EndpointSlice +{{< feature-state for_k8s_version="v1.17" state="beta" >}} {{< note >}} - -尽管端点切片最终可能会取代端点,但许多 Kubernetes 组件仍然依赖于端点。目前,启用端点切片应该被视为集群中端点的补充,而不是它们的替代。 - +尽管 EndpointSlice 最终可能会取代 Endpoints,但许多 Kubernetes 组件仍然依赖于 +Endpoints。目前,启用 EndpointSlice 应该被视为集群中 Endpoints 的补充,而不是 +替代它们。 {{< /note >}} +Kubernetes 中的 EndpointSlice 功能包含若干不同组件。它们中的大部分都是 +默认被启用的: -作为 Alpha 功能,默认情况下,Kubernetes 中未启用端点切片。启用端点切片需要对 Kubernetes 集群进行多达 3 项配置修改。 + +* _EndpointSlice API_:EndpointSlice 隶属于 `discovery.k8s.io/v1beta1` API。 + 此 API 处于 Beta 阶段,从 Kubernetes 1.17 开始默认被启用。 + 下面列举的所有组件都依赖于此 API 被启用。 +* _EndpointSlice 控制器_:此 {{< glossary_tooltip text="控制器" term_id="controller" >}} + 为 Service 维护 EndpointSlice 及其引用的 Pods。 + 此控制器通过 `EndpointSlice` 特性门控控制。自从 Kubernetes 1.18 起, + 该特性门控默认被启用。 -要启用包括端点切片的 Discovery API 组,请使用运行时配置标志(`--runtime-config=discovery.k8s.io/v1alpha1=true`)。 - -该逻辑负责监视服务,pod 和节点以及创建或更新与之关联,在端点切片控制器内的端点切片。 -默认情况下,此功能处于禁用状态,但可以通过启用在 kube-controller-manager 控制器的标志(`--controllers=endpointslice`)来开启。 - -对于像 kube-proxy 这样的 Kubernetes 组件真正开始使用端点切片,需要开启端点切片功能标志(`--feature-gates=EndpointSlice=true`)。 + +* _EndpointSliceMirroring 控制器_:此 {{< glossary_tooltip text="控制器" term_id="controller" >}} + 将自定义的 Endpoints 映射为 EndpointSlice。 + 控制器受 `EndpointSlice` 特性门控控制。该特性门控自 1.19 开始被默认启用。 +* _kube-proxy_:当 {{< glossary_tooltip text="kube-proxy" term_id="kube-proxy">}} + 被配置为使用 EndpointSlice 时,它会支持更大数量的 Service 端点。 + 此功能在 Linux 上受 `EndpointSliceProxying` 特性门控控制;在 Windows 上受 + `WindowsEndpointSliceProxying` 特性门控控制。 + 在 Linux 上,从 Kubernetes 1.19 版本起自动启用。目前尚未在 Windows 节点 + 上默认启用。 + 要在 Windows 节点上配置 kube-proxy 使用 EndpointSlice,你需要为 kube-proxy 启用 + `WindowsEndpointSliceProxying` + [特性门控](/zh/docs/reference/command-line-tools-reference/feature-gates/)。 +## 使用 EndpointSlice -## 使用端点切片 +在集群中完全启用 EndpointSlice 的情况下,你应该看到对应于每个 +Endpoints 资源的 EndpointSlice 资源。除了支持现有的 Endpoints 功能外, +EndpointSlice 还引入了拓扑结构等新的信息。它们将使集群中网络端点具有更强的 +可伸缩性和可扩展性。 -在集群中完全启用端点切片的情况下,您应该看到对应的每个端点资源的端点切片资源。除了兼容现有的端点功能,端点切片应包括拓扑等新的信息。它们将使集群中网络端点具有更强的可伸缩性,可扩展性。 \ No newline at end of file