EndpointSlice

EndpointSlice 表示实现服务的端点的子集。

apiVersion: discovery.k8s.io/v1

import "k8s.io/api/discovery/v1"

EndpointSlice

EndpointSlice 表示实现服务的端点的子集。 对于给定的服务,可能存在多个 EndpointSlice 对象,这些对象通过标签选择,必须连接起来才能生成完整的端点集。


  • apiVersion: discovery.k8s.io/v1

  • kind: EndpointSlice

  • metadata (ObjectMeta)

    标准对象的元数据。

  • addressType (字符串),必需

    addressType 指定此 EndpointSlice 携带的地址类型。 此切片中的所有地址必须是同一类型。 此字段在创建后是不可变的。 目前支持以下地址类型: * IPv4:表示 IPv4 地址。 * IPv6:表示 IPv6 地址。 * FQDN:表示完全限定域名。

  • endpoints ([]Endpoint),必需

    原子操作:将在合并期间被替换

    endpoints 是此切片中唯一端点的列表。 每个切片最多可以包含 1000 个端点。

    Endpoint 表示实现服务的单个逻辑“后端”。

    • endpoints.addresses ([]字符串),必需

      集合:将在合并期间保留唯一值

      此端点的地址。 此字段的内容根据相应的 EndpointSlice addressType 字段进行解释。 使用者必须在其自身能力的环境中处理不同类型的地址。 这必须包含至少一个地址,但不能超过 100 个。 这些都假定是可互换的,客户端可以选择仅使用第一个元素。 请参阅:https://issue.k8s.io/106267

    • endpoints.conditions (EndpointConditions)

      conditions 包含有关端点当前状态的信息。

      EndpointConditions 表示端点的当前状态。

      • endpoints.conditions.ready (布尔值)

        ready 表示此端点已准备好接收流量,根据管理该端点的任何系统。 nil 值表示未知状态。 在大多数情况下,使用者应将此未知状态解释为就绪。 出于兼容性原因,对于正在终止的端点,ready 永远不应为“true”,除非明确覆盖正常的就绪行为,例如,当关联的服务设置了 publishNotReadyAddresses 标志时。

      • endpoints.conditions.serving (布尔值)

        serving 与 ready 相同,不同之处在于它是设置的,而与端点的终止状态无关。 对于正在终止的就绪端点,应将此条件设置为 true。 如果为 nil,则使用者应参考 ready 条件。

      • endpoints.conditions.terminating (布尔值)

        terminating 表示此端点正在终止。 nil 值表示未知状态。 使用者应将此未知状态解释为端点未终止。

    • endpoints.deprecatedTopology (map[string]string)

      deprecatedTopology 包含 v1beta1 API 的一部分的拓扑信息。 此字段已弃用,并且将在删除 v1beta1 API 时删除(不早于 kubernetes v1.24)。 虽然此字段可以保存值,但它不能通过 v1 API 写入,并且任何写入尝试都将被静默忽略。 拓扑信息可以在 zone 和 nodeName 字段中找到。

    • endpoints.hints (EndpointHints)

      hints 包含与如何使用端点相关的信息。

      EndpointHints 提供有关应如何使用端点的提示。

      • endpoints.hints.forZones ([]ForZone)

        原子操作:将在合并期间被替换

        forZones 指示应由哪些区域使用此端点以启用拓扑感知路由。

        ForZone 提供有关应使用此端点的区域的信息。

        • endpoints.hints.forZones.name (字符串),必需

          name 表示区域的名称。

    • endpoints.hostname (字符串)

      此端点的主机名。 端点的使用者可以使用此字段来区分彼此的端点(例如,在 DNS 名称中)。 使用相同主机名的多个端点应被视为可互换(例如,DNS 中的多个 A 值)。 必须是小写的,并通过 DNS 标签 (RFC 1123) 验证。

    • endpoints.nodeName (字符串)

      nodeName 表示托管此端点的节点的名称。 这可以用于确定节点本地的端点。

    • endpoints.targetRef (ObjectReference)

      targetRef 是对表示此端点的 Kubernetes 对象的引用。

    • endpoints.zone (字符串)

      zone 是此端点所在的区域的名称。

  • ports ([]EndpointPort)

    原子操作:将在合并期间被替换

    ports 指定此切片中每个端点公开的网络端口列表。 每个端口必须具有唯一的名称。 当 ports 为空时,表示没有定义的端口。 当使用 nil 端口值定义端口时,表示“所有端口”。 每个切片最多可以包含 100 个端口。

    EndpointPort 表示 EndpointSlice 使用的端口

    • ports.port (int32)

      port 表示端点的端口号。 如果未指定,则端口不受限制,并且必须在特定使用者的环境中进行解释。

    • ports.protocol (字符串)

      protocol 表示此端口的 IP 协议。 必须是 UDP、TCP 或 SCTP。 默认为 TCP。

    • ports.name (字符串)

      name 表示此端口的名称。 EndpointSlice 中的所有端口必须具有唯一的名称。 如果 EndpointSlice 源自 Kubernetes 服务,则这对应于 Service.ports[].name。 名称必须是空字符串或通过 DNS_LABEL 验证: * 长度不得超过 63 个字符。 * 必须由小写字母数字字符或“-”组成。 * 必须以字母数字字符开头和结尾。 默认为空字符串。

    • ports.appProtocol (字符串)

      此端口的应用程序协议。 这用作实现提供对其理解的协议的更丰富行为的提示。 此字段遵循标准的 Kubernetes 标签语法。 有效值是

EndpointSliceList

EndpointSliceList 表示端点切片的列表


  • apiVersion: discovery.k8s.io/v1

  • kind: EndpointSliceList

  • metadata (ListMeta)

    标准列表元数据。

  • items ([]EndpointSlice),必需

    items 是端点切片的列表

操作


get 读取指定的 EndpointSlice

HTTP 请求

GET /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}

参数

  • name (在路径中): 字符串,必需

    EndpointSlice 的名称

  • namespace (在路径中): 字符串,必需

    命名空间

  • pretty (在查询中): 字符串

    pretty

响应

200 (EndpointSlice): 确定

401: 未授权

list 列出或监视 EndpointSlice 类型的对象

HTTP 请求

GET /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices

参数

响应

200 (EndpointSliceList): 成功

401: 未授权

list 列出或监视 EndpointSlice 类型的对象

HTTP 请求

GET /apis/discovery.k8s.io/v1/endpointslices

参数

响应

200 (EndpointSliceList): 成功

401: 未授权

create 创建一个 EndpointSlice

HTTP 请求

POST /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices

参数

响应

200 (EndpointSlice): 确定

201 (EndpointSlice): 已创建

202 (EndpointSlice): 已接受

401: 未授权

update 替换指定的 EndpointSlice

HTTP 请求

PUT /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}

参数

  • name (在路径中): 字符串,必需

    EndpointSlice 的名称

  • namespace (在路径中): 字符串,必需

    命名空间

  • body: EndpointSlice, 必需

  • dryRun (在查询中): 字符串

    dryRun

  • fieldManager (在查询中): 字符串

    fieldManager

  • fieldValidation (在查询中): 字符串

    fieldValidation

  • pretty (在查询中): 字符串

    pretty

响应

200 (EndpointSlice): 确定

201 (EndpointSlice): 已创建

401: 未授权

patch 部分更新指定的 EndpointSlice

HTTP 请求

PATCH /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}

参数

  • name (在路径中): 字符串,必需

    EndpointSlice 的名称

  • namespace (在路径中): 字符串,必需

    命名空间

  • body: Patch, 必需

  • dryRun (在查询中): 字符串

    dryRun

  • fieldManager (在查询中): 字符串

    fieldManager

  • fieldValidation (在查询中): 字符串

    fieldValidation

  • force (在查询中): 布尔值

    force

  • pretty (在查询中): 字符串

    pretty

响应

200 (EndpointSlice): 确定

201 (EndpointSlice): 已创建

401: 未授权

delete 删除一个 EndpointSlice

HTTP 请求

DELETE /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}

参数

响应

200 (Status): 成功

202 (Status): 已接受

401: 未授权

deletecollection 删除 EndpointSlice 的集合

HTTP 请求

DELETE /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices

参数

响应

200 (Status): 成功

401: 未授权

此页面为自动生成。

如果您计划报告此页面的问题,请在您的问题描述中提及该页面是自动生成的。修复可能需要在 Kubernetes 项目的其他地方进行。

上次修改时间:2024 年 8 月 28 日下午 6:01 PST:更新 v1.31 的自动生成的 API 参考 (8ba98c79c1)