EndpointSlice 代表实现服务的端点的一个子集。对于给定的服务,可能存在多个 EndpointSlice 对象,通过标签选择,这些对象必须组合起来才能产生完整的端点集。
EndpointSlice 代表实现服务的端点的一个子集。对于给定的服务,可能存在多个 EndpointSlice 对象,通过标签选择,这些对象必须组合起来才能产生完整的端点集。
对象
addressType
endpoints
属性 | 类型 | 描述 |
---|---|---|
|
|
addressType 指定此 EndpointSlice 承载的地址类型。此切片中的所有地址必须具有相同的类型。此字段在创建后不可变。目前支持以下地址类型:* IPv4:表示 IPv4 地址。* IPv6:表示 IPv6 地址。* FQDN:表示完全限定域名。 可能的枚举值:- |
|
|
APIVersion 定义此对象表示的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
endpoints 是此切片中唯一端点的列表。每个切片最多可包含 1000 个端点。 |
|
|
Endpoint 代表实现服务的单个逻辑“后端”。 |
|
|
Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。无法更新。使用驼峰命名法。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
标准对象的元数据。 |
|
|
|
ports 指定此切片中每个端点公开的网络端口列表。每个端口必须具有唯一名称。当 ports 为空时,表示没有定义端口。当端口定义了 nil 端口值时,表示“所有端口”。每个切片最多可包含 100 个端口。 |
|
|
EndpointPort 代表 EndpointSlice 使用的端口 |
Endpoint 代表实现服务的单个逻辑“后端”。
对象
addresses
属性 | 类型 | 描述 |
---|---|---|
|
|
此端点的地址。此字段的内容根据相应的 EndpointSlice addressType 字段进行解释。使用者必须在其自身功能的上下文中处理不同类型的地址。这必须包含至少一个地址,但最多不超过 100 个。这些都被假定为可互换的,客户端可以选择只使用第一个元素。参考:https://issue.k8s.io/106267 |
|
|
EndpointConditions 表示端点的当前状态。 |
|
|
deprecatedTopology 包含 v1beta1 API 部分的拓扑信息。此字段已弃用,将在删除 v1beta1 API 时删除(不早于 kubernetes v1.24)。虽然此字段可以保存值,但不能通过 v1 API 写入,任何尝试写入它的操作都将被静默忽略。拓扑信息可以在 zone 和 nodeName 字段中找到。 |
|
|
EndpointHints 提供描述如何使用端点的提示。 |
|
|
此端点的主机名。使用者可以使用此字段来区分端点(例如在 DNS 名称中)。使用相同主机名的多个端点应被视为可互换的(例如,DNS 中的多个 A 值)。必须是小写字母,并通过 DNS 标签 (RFC 1123) 验证。 |
|
|
nodeName 表示托管此端点的节点的名称。这可以用来确定本地于节点的端点。 |
|
targetRef 是对表示此端点的 Kubernetes 对象的引用。 |
|
|
|
zone 是此端点所在的区域的名称。 |
EndpointConditions 表示端点的当前状态。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
ready 表示此端点已准备好接收流量,具体取决于管理端点的系统。nil 值表示未知状态。在大多数情况下,使用者应将此未知状态解释为已准备就绪。出于兼容性原因,对于终止的端点,ready 绝不应为“true”,除非显式覆盖正常的就绪行为,例如当关联的服务已设置 publishNotReadyAddresses 标志时。 |
|
|
serving 与 ready 相同,不同之处在于它无论端点的终止状态如何都会设置。对于正在终止的已准备就绪的端点,此状态应设置为 true。如果为 nil,使用者应参考 ready 状态。 |
|
|
terminating 表示此端点正在终止。nil 值表示未知状态。使用者应将此未知状态解释为端点未终止。 |
EndpointHints 提供描述如何使用端点的提示。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
forZones 指示此端点应由哪个区域使用以启用拓扑感知路由。 |
|
|
ForZone 提供有关哪些区域应使用此端点的信息。 |
ForZone 提供有关哪些区域应使用此端点的信息。
对象
name
属性 | 类型 | 描述 |
---|---|---|
|
|
name 表示区域的名称。 |
ports 指定此切片中每个端点公开的网络端口列表。每个端口必须具有唯一名称。当 ports 为空时,表示没有定义端口。当端口定义了 nil 端口值时,表示“所有端口”。每个切片最多可包含 100 个端口。
数组
EndpointPort 代表 EndpointSlice 使用的端口
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
此端口的应用程序协议。这用作实现的提示,以便为其理解的协议提供更丰富的行为。此字段遵循标准 Kubernetes 标签语法。有效值为: * 未加前缀的协议名称 - 保留用于 IANA 标准服务名称(根据 RFC-6335 和 https://www.iana.org/assignments/service-names)。 * Kubernetes 定义的前缀名称:* 'kubernetes.io/h2c' - 如 https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior- 中所述的明文优先的 HTTP/2。* 'kubernetes.io/ws' - 如 https://www.rfc-editor.org/rfc/rfc6455 中所述的明文 WebSocket。* 'kubernetes.io/wss' - 如 https://www.rfc-editor.org/rfc/rfc6455 中所述的 TLS 上的 WebSocket。 * 其他协议应使用实现定义的前缀名称,例如 mycompany.com/my-custom-protocol。 |
|
|
name 表示此端口的名称。EndpointSlice 中的所有端口必须具有唯一的名称。如果 EndpointSlice 来自 Kubernetes 服务,则这对应于 Service.ports[].name。名称必须为空字符串或通过 DNS_LABEL 验证:* 长度不得超过 63 个字符。* 必须由小写字母数字字符或 '-' 组成。* 必须以字母数字字符开头和结尾。默认为空字符串。 |
|
|
port 表示端点的端口号。如果未指定此项,则端口不受限制,必须在特定使用者的上下文中进行解释。 |
|
|
protocol 表示此端口的 IP 协议。必须是 UDP、TCP 或 SCTP。默认为 TCP。 可能的枚举值:- |
以下 API 端点可用
/apis/discovery.k8s.io/v1/endpointslices
GET
:列出或监听 EndpointSlice 对象
/apis/discovery.k8s.io/v1/watch/endpointslices
GET
:监听 EndpointSlice 列表的单个更改。已弃用:请改用列表操作中的“watch”参数。
/apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices
DELETE
:删除 EndpointSlice 集合
GET
:列出或监听 EndpointSlice 对象
POST
:创建 EndpointSlice
/apis/discovery.k8s.io/v1/watch/namespaces/{namespace}/endpointslices
GET
:监听 EndpointSlice 列表的单个更改。已弃用:请改用列表操作中的“watch”参数。
/apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}
DELETE
:删除 EndpointSlice
GET
:读取指定的 EndpointSlice
PATCH
:部分更新指定的 EndpointSlice
PUT
:替换指定的 EndpointSlice
/apis/discovery.k8s.io/v1/watch/namespaces/{namespace}/endpointslices/{name}
GET
:监听 EndpointSlice 对象的更改。已弃用:请改用列表操作中的“watch”参数,并使用“fieldSelector”参数过滤为单个项目。
GET
列出或监听 EndpointSlice 对象
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
监听 EndpointSlice 列表的单个更改。已弃用:请改用列表操作中的“watch”参数。
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
DELETE
删除 EndpointSlice 集合
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
列出或监听 EndpointSlice 对象
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
POST
创建 EndpointSlice
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段和遇到的每个重复字段,这将通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 中的默认值 - Strict:如果任何未知字段将从对象中删除,或者如果存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
监听 EndpointSlice 列表的单个更改。已弃用:请改用列表操作中的“watch”参数。
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
EndpointSlice 的名称 |
DELETE
删除 EndpointSlice
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
读取指定的 EndpointSlice
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 EndpointSlice
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段和遇到的每个重复字段,这将通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 中的默认值 - Strict:如果任何未知字段将从对象中删除,或者如果存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
PUT
替换指定的 EndpointSlice
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段和遇到的每个重复字段,这将通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 中的默认值 - Strict:如果任何未知字段将从对象中删除,或者如果存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
EndpointSlice 的名称 |
GET
监听 EndpointSlice 对象的更改。已弃用:请改用列表操作中的“watch”参数,并使用“fieldSelector”参数过滤为单个项目。
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |