第 11 章 EndpointSlice [discovery.k8s.io/v1]


描述
EndpointSlice 代表实施服务的端点的子集。对于给定服务,可能有多个 EndpointSlice 对象,它们通过标签选择,必须加入来生成完整的端点。
类型
object
必填
  • addressType
  • 端点

11.1. 规格

属性类型描述

addressType

字符串

addressType 指定此 EndpointSlice 执行的地址类型。这个片段中的所有地址都必须是相同的类型。此字段在创建后是不可变的。目前支持以下地址类型:* IPv4:代表 IPv4 地址。* IPv6:代表 IPv6 地址。* FQDN:代表完全限定域名。

可能枚举值: - "FQDN" 代表 FQDN。- "IPv4" 代表 IPv4 地址。- "IPv6" 代表 IPv6 地址。

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

端点

array

端点是此片段中唯一端点的列表。每个片段最多可能包括 1000 个端点。

endpoints[]

对象

端点代表实施服务的单一逻辑"后端"。

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

标准对象元数据。

ports

array

ports 指定此片段中每个端点公开的网络端口列表。每个端口都必须具有唯一的名称。当端口为空时,这表明没有定义的端口。当使用 nil port 值定义端口时,它表示 "all ports"。每个片段最多可能包括 100 个端口。

ports[]

对象

EndpointPort 代表 EndpointSlice 使用的端口

11.1.1. .endpoints

描述
端点是此片段中唯一端点的列表。每个片段最多可能包括 1000 个端点。
类型
array

11.1.2. .endpoints[]

描述
端点代表实施服务的单一逻辑"后端"。
类型
object
必填
  • addresses
属性类型描述

addresses

数组(字符串)

此端点的地址。此字段的内容会根据对应的 EndpointSlice addressType 字段进行解释。消费者必须在自身功能的情况下处理不同类型的地址。这必须至少包含一个地址,但没有超过 100 个。这些都假定是非常有的,客户端可能会选择仅使用第一个元素。请参阅 :https://issue.k8s.io/106267

conditions

对象

EndpointConditions 代表端点的当前条件。

deprecatedTopology

对象(字符串)

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

hints

对象

EndpointHints 提供了描述如何使用端点的提示。

hostname

字符串

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

nodeName

字符串

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

targetRef

ObjectReference

TargetRef 是代表此端点的 Kubernetes 对象的引用。

zone

字符串

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

11.1.3. .endpoints[].conditions

描述
EndpointConditions 代表端点的当前条件。
类型
object
属性类型描述

ready

布尔值

Ready 表示此端点已准备好接收流量,具体取决于任何系统正在管理端点。nil 值表示未知状态。在大多数情况下,消费者应将此未知状态解释为就绪。出于兼容性的原因,对于终止端点,ready 不应该为 "true",但当正常就绪度行为被显式覆盖时,例如,相关服务设置了 publishNotReadyAddresses 标志时。

serving

布尔值

serving 与 ready 相同,除了无论端点终止状态如何设置。对于终止的就绪端点,此条件应设为 true。如果为 nil,消费者应该会延迟到 ready 条件。

Terminating

布尔值

Terminating 表示此端点正在终止。nil 值表示未知状态。消费者应解释这个未知状态,以表示端点没有终止。

11.1.4. .endpoints[].hints

描述
EndpointHints 提供了描述如何使用端点的提示。
类型
object
属性类型描述

forZones

array

forZones 表示此端点应使用的区域,以启用拓扑感知路由。

forZones[]

对象

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

11.1.5. .endpoints[].hints.forZones

描述
forZones 表示此端点应使用的区域,以启用拓扑感知路由。
类型
array

11.1.6. .endpoints[].hints.forZones[]

描述
ForZone 提供有关哪些区域应使用此端点的信息。
类型
object
必填
  • name
属性类型描述

name

字符串

name 代表区域的名称。

11.1.7. .ports

描述
ports 指定此片段中每个端点公开的网络端口列表。每个端口都必须具有唯一的名称。当端口为空时,这表明没有定义的端口。当使用 nil port 值定义端口时,它表示 "all ports"。每个片段最多可能包括 100 个端口。
类型
array

11.1.8. .ports[]

描述
EndpointPort 代表 EndpointSlice 使用的端口
类型
object
属性类型描述

appProtocol

字符串

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

* 未前缀的协议名称 - 为 IANA 标准服务名称保留(如 RFC-6335 和 https://www.iana.org/assignments/service-names)。

* Kubernetes-defined prefixed name: * 'kubernetes.io/h2c' - HTTP/2 before knowledge overtext as https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior- * 'kubernetes.io/ws' - WebSocket over cleartext,如 https://www.rfc-editor.org/rfc/rfc6455 * 'kubernetes.io/wss' - WebSocket over TLS 所述

* 其他协议应使用定义实施的前缀名称,如 mycompany.com/my-custom-protocol。

名称

string

name 表示此端口的名称。EndpointSlice 中的所有端口都必须具有唯一的名称。如果 EndpointSlice 派生自 Kubernetes 服务,则对应于 Service.ports[].name。name 必须是空字符串或传递 DNS_LABEL 验证:* 不得超过 63 个字符。* 必须包含小写字母数字字符或 '-'。* 必须以字母数字字符开头和结尾。默认为空字符串。

port

整数

port 代表端点的端口号。如果没有指定,则端口不会被限制,必须在特定消费者的上下文中解释端口。

protocol

string

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

可能枚举值: - "SCTP" 是 SCTP 协议。- "TCP" 是 TCP 协议。- "UDP" 是 UDP 协议。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.