概念

Kubernetes v1.16 文档不再得到积极维护。您当前正在查看的版本是静态快照。有关最新文档,请参见 最新版本。

编辑这个页面

端点切片

功能状态: Kubernetes v1.16 α
该功能当前位于 α 状态,含义:

  • 版本名称包含Alpha(例如v1alpha1)。
  • 可能是越野车。启用该功能可能会暴露错误。默认禁用。
  • 随时可能删除对功能的支持,恕不另行通知。
  • 在以后的软件版本中,API可能会以不兼容的方式更改,恕不另行通知。
  • 由于存在更高的错误风险和缺乏长期支持,建议仅用于短期测试集群。

端点切片 提供一种简单的方法来跟踪网络中的网络端点 Kubernetes集群它们提供了更可扩展和可扩展的替代方案 Endpoints.

端点切片资源

在Kubernetes中,端点分片包含对一组网络的引用 端点。 EndpointSlice控制器自动创建端点切片 指定选择器时用于Kubernetes服务。这些端点片 将包含对与“服务”选择器匹配的所有Pod的引用。终点 通过独特的服务和端口组合将网络端点分组在一起。

例如,在这里’s的示例EndpointSlice资源 exampleKubernetes服务。

apiVersion: discovery.k8s.io/v1alpha1
kind: EndpointSlice
metadata:
  name: example-abc
  labels:
    kubernetes.io/service-name: example
addressType: IP
ports:
  - name: http
    protocol: TCP
    port: 80
endpoints:
  - addresses:
    - "10.1.2.3"
    - "2001:db8::1234:5678"
    conditions:
      ready: true
    hostname: pod-1
    topology:
      kubernetes.io/hostname: node-1
      topology.kubernetes.io/zone: us-west2-a

默认情况下,由EndpointSlice控制器管理的Endpoint Slice将没有 每个端点超过100个。低于此比例,端点切片应映射为1:1 与Endpoints and 服务s并具有相似的性能。

当涉及到kube-proxy时,端点分片可以充当真理的来源 如何路由内部流量。启用后,它们应提供性能 改善具有大量端点的服务。

动机

Endpoints API提供了一种简单明了的方法 跟踪Kubernetes中的网络端点不幸的是随着Kubernetes集群 并且服务变得越来越大,该API的局限性变得更加明显。 最值得注意的是,这些挑战包括扩展到更多 network endpoints.

由于服务的所有网络端点都存储在单个端点中 资源,这些资源可能会变得很大。影响了性能 Kubernetes组件(尤其是主控制平面)的数量,并导致 端点更改时大量的网络流量和处理。 端点切片可帮助您缓解这些问题并提供可扩展的 附加功能(例如拓扑路由)的平台。

什么's next

反馈