14.5. Endpoints [v1]


描述

端点是实施实际服务的端点集合。Example:

 Name: "mysvc",
 Subsets: [
   {
     Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}],
     Ports: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}]
   },
   {
     Addresses: [{"ip": "10.10.3.3"}],
     Ports: [{"name": "a", "port": 93}, {"name": "b", "port": 76}]
   },
]
类型
对象

14.5.1. 规格

属性类型描述

apiVersion

字符串

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

kind

字符串

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

metadata

ObjectMeta

标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

子集

array

所有端点的集合是所有子集的联合。根据它们共享的 IP,地址被放入子集中。具有多个端口的单一地址,其中有些地址已就绪,它们没有(因为它们来自不同的容器)将导致不同端口的不同子集中显示地址。同一子集中的 Addresses 和 NotReadyAddresses 中都没有地址。组成服务的地址和端口集合。

subsets[]

对象

EndpointSubset 是一组具有一组通用端口的地址。扩展的端点集是 Addresses x Ports 的 Cartesian 产品。例如,给定:

{ addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}], Ports: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}] }

生成的端点集可视为:

答: [ 10.10.1.1:8675, 10.10.2.2:8675 ], b: [ 10.10.1.1:309, 10.10.2.2:309 ]

14.5.1.1. .subsets

描述
所有端点的集合是所有子集的联合。根据它们共享的 IP,地址被放入子集中。具有多个端口的单一地址,其中有些地址已就绪,它们没有(因为它们来自不同的容器)将导致不同端口的不同子集中显示地址。同一子集中的 Addresses 和 NotReadyAddresses 中都没有地址。组成服务的地址和端口集合。
类型
array

14.5.1.2. .subsets[]

描述

EndpointSubset 是一组具有一组通用端口的地址。扩展的端点集是 Addresses x Ports 的 Cartesian 产品。例如,给定:

{
  Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}],
  Ports:     [{"name": "a", "port": 8675}, {"name": "b", "port": 309}]
}

生成的端点集可视为:

a: [ 10.10.1.1:8675, 10.10.2.2:8675 ],
b: [ 10.10.1.1:309, 10.10.2.2:309 ]
类型
object
属性类型描述

addresses

array

提供标记为就绪的相关端口的 IP 地址。这些端点应该被视为安全的负载均衡器和客户端。

addresses[]

对象

EndpointAddress 是一个描述单个 IP 地址的元组。

notReadyAddresses

array

提供相关端口但当前未标记为就绪的 IP 地址,因为它们尚未完成,并且最近未完成就绪度检查,或者最近失败了存活度检查。

notReadyAddresses[]

对象

EndpointAddress 是一个描述单个 IP 地址的元组。

ports

array

相关 IP 地址上可用的端口号。

ports[]

对象

EndpointPort 是一个描述单个端口的元组。

14.5.1.3. .subsets[].addresses

描述
提供标记为就绪的相关端口的 IP 地址。这些端点应该被视为安全的负载均衡器和客户端。
类型
array

14.5.1.4. .subsets[].addresses[]

描述
EndpointAddress 是一个描述单个 IP 地址的元组。
类型
object
必填
  • ip
属性类型描述

hostname

字符串

此端点的主机名

ip

字符串

此端点的 IP。可能不能是 loopback (127.0.0.0/8 or ::1), link-local (169.254.0.0/16 or fe80::/10)或 link-local multicast (224.0.0.0/24 或 ff02::/16)。

nodeName

字符串

可选:托管此端点的节点。这可用于确定本地到节点的端点。

targetRef

对象

ObjectReference 包含足够信息供您检查或修改引用的对象。

14.5.1.5. .subsets[].addresses[].targetRef

描述
ObjectReference 包含足够信息供您检查或修改引用的对象。
类型
object
属性类型描述

apiVersion

字符串

引用的 API 版本。

fieldPath

字符串

如果引用的是对象的一部分而非整个对象,则该字符串应包含有效的 JSON/Go 字段访问声明,如 desiredState.manifest.containers[2]。例如,如果对象引用是一个 pod 中的容器,它应该还以下类似: "spec.containers{name}"(其中 "name" 是指触发事件的容器的名称),如果不使用容器名称,则应类似于 "spec.containers[2]"(使用此 pod 中索引值为 2 的容器)。选择这个语法的原因是,为了有一些指向对象部分的正确定义方法。

kind

字符串

引用的类型。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

namespace

字符串

引用的命名空间。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

resourceVersion

字符串

指定构成这个引用的 resourceVersion(如果存在)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

uid

字符串

引用的 UID。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

14.5.1.6. .subsets[].notReadyAddresses

描述
提供相关端口但当前未标记为就绪的 IP 地址,因为它们尚未完成,并且最近未完成就绪度检查,或者最近失败了存活度检查。
类型
array

14.5.1.7. .subsets[].notReadyAddresses[]

描述
EndpointAddress 是一个描述单个 IP 地址的元组。
类型
object
必填
  • ip
属性类型描述

hostname

字符串

此端点的主机名

ip

字符串

此端点的 IP。可能不能是 loopback (127.0.0.0/8 or ::1), link-local (169.254.0.0/16 or fe80::/10)或 link-local multicast (224.0.0.0/24 或 ff02::/16)。

nodeName

字符串

可选:托管此端点的节点。这可用于确定本地到节点的端点。

targetRef

对象

ObjectReference 包含足够信息供您检查或修改引用的对象。

14.5.1.8. .subsets[].notReadyAddresses[].targetRef

描述
ObjectReference 包含足够信息供您检查或修改引用的对象。
类型
object
属性类型描述

apiVersion

字符串

引用的 API 版本。

fieldPath

字符串

如果引用的是对象的一部分而非整个对象,则该字符串应包含有效的 JSON/Go 字段访问声明,如 desiredState.manifest.containers[2]。例如,如果对象引用是一个 pod 中的容器,它应该还以下类似: "spec.containers{name}"(其中 "name" 是指触发事件的容器的名称),如果不使用容器名称,则应类似于 "spec.containers[2]"(使用此 pod 中索引值为 2 的容器)。选择这个语法的原因是,为了有一些指向对象部分的正确定义方法。

kind

字符串

引用的类型。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

namespace

字符串

引用的命名空间。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

resourceVersion

字符串

指定构成这个引用的 resourceVersion(如果存在)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

uid

字符串

引用的 UID。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

14.5.1.9. .subsets[].ports

描述
相关 IP 地址上可用的端口号。
类型
array

14.5.1.10. .subsets[].ports[]

描述
EndpointPort 是一个描述单个端口的元组。
类型
object
必填
  • port
属性类型描述

appProtocol

字符串

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

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

* Kubernetes 定义的前缀名称:* 'kubernetes.io/h2c' - HTTP/2 over cleartext,如 https://www.rfc-editor.org/rfc/rfc7540所述

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

name

字符串

此端口的名称。这必须与对应的 ServicePort 中的 'name' 字段匹配。必须是 DNS_LABEL。仅在定义了一个端口时才可选。

port

整数

端点的端口号。

protocol

字符串

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

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

14.5.2. API 端点

可用的 API 端点如下:

  • /api/v1/endpoints

    • GET: 列出或监视类型为 Endpoints 的对象
  • /api/v1/watch/endpoints

    • GET: 观察单个对 Endpoints 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
  • /api/v1/namespaces/{namespace}/endpoints

    • DELETE :删除端点的集合
    • GET: 列出或监视类型为 Endpoints 的对象
    • POST :创建端点
  • /api/v1/watch/namespaces/{namespace}/endpoints

    • GET: 观察单个对 Endpoints 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
  • /api/v1/namespaces/{namespace}/endpoints/{name}

    • DELETE :删除端点
    • GET :读取指定的端点
    • PATCH: 部分更新指定的端点
    • PUT :替换指定的端点
  • /api/v1/watch/namespaces/{namespace}/endpoints/{name}

    • GET: 观察对类型为 Endpoints 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。

14.5.2.1. /api/v1/endpoints

表 14.46. 全局查询参数
参数类型描述

allowWatchBookmarks

布尔值

allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。

继续

字符串

从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,它必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误接收的令牌的列表请求,服务器将以从下一个密钥开始开始的列表响应,但从最新的快照开始,这与上一个列表结果中不一致 - 在第一个列表请求后将包含在响应中,只要它们的密钥位于 "next key" 后。

当 watch 为 true 时不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不丢失任何修改。

fieldSelector

字符串

一个选择器,用于限制其字段返回的对象列表。默认为任何内容。

labelSelector

字符串

一个选择器,用于限制其标签返回的对象列表。默认为任何内容。

limit

整数

limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的"continue"字段设为可用于同一初始查询的值,以检索下一组结果。如果过滤所有请求的对象,则设置限制可能会返回少于请求项目数量(最多为零项),并且客户端只应使用 continue 字段的存在,以确定是否有更多结果可用。服务器可能会选择不支持 limit 参数,并返回所有可用的结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假定没有更多结果可用。如果 watch 为 true,则不支持此字段。

服务器保证,在使用时返回的对象将与在没有限制限制的情况下发出单个列表调用相同 - 也就是说,在发出第一个请求后没有创建、修改或删除对象。这有时被称为一致的快照,并确保使用限制来接收非常大结果的较小的块的客户端可确保它们看到所有可能的对象。如果在块列表中更新对象,则返回第一个列表结果时存在的对象版本。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

resourceVersion

字符串

resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

resourceVersionMatch

字符串

resourceVersionMatch 决定如何将 resourceVersion 应用到列表调用。强烈建议您为设置 resourceVersion 的 list 调用设置 resourceVersionMatch。详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,观察流将以复合事件开头,以生成集合中对象的当前状态。发送完所有这些事件后,将发送合成"Bookmark"事件。书签将报告与对象集合对应的 ResourceVersion (RV),并使用 '"k8s.io/initial-events-end": "true" 注解进行标记。之后,监视流将照常进行,从而向监视的对象发送与更改对应的监视事件(按 RV 排序)。

当设置 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。watch 请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 被解释为"data"作为提供的 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签 事件至少作为 ListOptions 提供的 "resourceVersion'。如果未设置 'resourceVersion',这会被解释为 "consistent read",当请求开始处理时至少会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或未设置 Invalid 错误。

如果 'resourceVersion=""' 或 'resourceVersion="0"' (出于向后兼容原因)和 false,则默认为 true。

timeoutSeconds

整数

列表/watch 调用的超时。这限制了调用的持续时间,无论任何活动或不活跃。

watch

布尔值

观察对所描述资源的更改,并将它们作为添加、更新和删除通知的流返回。指定 resourceVersion。

HTTP 方法
GET
描述
列出或监视类型为 Endpoints 的对象
表 14.47. HTTP 响应
HTTP 代码响应正文

200 - OK

EndpointsList 模式

401 - Unauthorized

14.5.2.2. /api/v1/watch/endpoints

表 14.48. 全局查询参数
参数类型描述

allowWatchBookmarks

布尔值

allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。

继续

字符串

从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,它必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误接收的令牌的列表请求,服务器将以从下一个密钥开始开始的列表响应,但从最新的快照开始,这与上一个列表结果中不一致 - 在第一个列表请求后将包含在响应中,只要它们的密钥位于 "next key" 后。

当 watch 为 true 时不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不丢失任何修改。

fieldSelector

字符串

一个选择器,用于限制其字段返回的对象列表。默认为任何内容。

labelSelector

字符串

一个选择器,用于限制其标签返回的对象列表。默认为任何内容。

limit

整数

limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的"continue"字段设为可用于同一初始查询的值,以检索下一组结果。如果过滤所有请求的对象,则设置限制可能会返回少于请求项目数量(最多为零项),并且客户端只应使用 continue 字段的存在,以确定是否有更多结果可用。服务器可能会选择不支持 limit 参数,并返回所有可用的结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假定没有更多结果可用。如果 watch 为 true,则不支持此字段。

服务器保证,在使用时返回的对象将与在没有限制限制的情况下发出单个列表调用相同 - 也就是说,在发出第一个请求后没有创建、修改或删除对象。这有时被称为一致的快照,并确保使用限制来接收非常大结果的较小的块的客户端可确保它们看到所有可能的对象。如果在块列表中更新对象,则返回第一个列表结果时存在的对象版本。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

resourceVersion

字符串

resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

resourceVersionMatch

字符串

resourceVersionMatch 决定如何将 resourceVersion 应用到列表调用。强烈建议您为设置 resourceVersion 的 list 调用设置 resourceVersionMatch。详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,观察流将以复合事件开头,以生成集合中对象的当前状态。发送完所有这些事件后,将发送合成"Bookmark"事件。书签将报告与对象集合对应的 ResourceVersion (RV),并使用 '"k8s.io/initial-events-end": "true" 注解进行标记。之后,监视流将照常进行,从而向监视的对象发送与更改对应的监视事件(按 RV 排序)。

当设置 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。watch 请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 被解释为"data"作为提供的 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签 事件至少作为 ListOptions 提供的 "resourceVersion'。如果未设置 'resourceVersion',这会被解释为 "consistent read",当请求开始处理时至少会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或未设置 Invalid 错误。

如果 'resourceVersion=""' 或 'resourceVersion="0"' (出于向后兼容原因)和 false,则默认为 true。

timeoutSeconds

整数

列表/watch 调用的超时。这限制了调用的持续时间,无论任何活动或不活跃。

watch

布尔值

观察对所描述资源的更改,并将它们作为添加、更新和删除通知的流返回。指定 resourceVersion。

HTTP 方法
GET
描述
观察单个对 Endpoints 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
表 14.49. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

14.5.2.3. /api/v1/namespaces/{namespace}/endpoints

表 14.50. 全局路径参数
参数类型描述

namespace

字符串

对象名称和身份验证范围,如团队(team)和项目(project)

表 14.51. 全局查询参数
参数类型描述

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
DELETE
描述
删除端点集合
表 14.52. 查询参数
参数类型描述

继续

字符串

从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,它必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误接收的令牌的列表请求,服务器将以从下一个密钥开始开始的列表响应,但从最新的快照开始,这与上一个列表结果中不一致 - 在第一个列表请求后将包含在响应中,只要它们的密钥位于 "next key" 后。

当 watch 为 true 时不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不丢失任何修改。

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldSelector

字符串

一个选择器,用于限制其字段返回的对象列表。默认为任何内容。

gracePeriodSeconds

整数

应该删除对象前的持续时间(以秒为单位)。值必须是非负整数。值为零表示立即删除。如果这个值是 nil,则会使用指定类型的默认宽限期。如果没有指定,则默认为每个对象值。零表示立即删除。

labelSelector

字符串

一个选择器,用于限制其标签返回的对象列表。默认为任何内容。

limit

整数

limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的"continue"字段设为可用于同一初始查询的值,以检索下一组结果。如果过滤所有请求的对象,则设置限制可能会返回少于请求项目数量(最多为零项),并且客户端只应使用 continue 字段的存在,以确定是否有更多结果可用。服务器可能会选择不支持 limit 参数,并返回所有可用的结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假定没有更多结果可用。如果 watch 为 true,则不支持此字段。

服务器保证,在使用时返回的对象将与在没有限制限制的情况下发出单个列表调用相同 - 也就是说,在发出第一个请求后没有创建、修改或删除对象。这有时被称为一致的快照,并确保使用限制来接收非常大结果的较小的块的客户端可确保它们看到所有可能的对象。如果在块列表中更新对象,则返回第一个列表结果时存在的对象版本。

orphanDependents

布尔值

弃用:请使用 PropagationPolicy,此字段将在 1.7 中弃用。如果依赖对象是孤立的。如果为 true/false,则 "orphan" finalizer 将添加到对象的终结器列表中。可以设置此字段或 PropagationPolicy,但不能同时设置。

propagationPolicy

字符串

是否执行垃圾回收。可以设置此字段或 OrphanDependents,但不能同时设置两者。默认策略由 metadata.finalizers 和特定于资源的默认策略中设置的现有终结器决定。可接受的值有: 'Orphan' - 孤立的依赖项; 'Background' - 允许垃圾收集器删除依赖项,"Foreground' - 删除前台所有依赖的级联策略。

resourceVersion

字符串

resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

resourceVersionMatch

字符串

resourceVersionMatch 决定如何将 resourceVersion 应用到列表调用。强烈建议您为设置 resourceVersion 的 list 调用设置 resourceVersionMatch。详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,观察流将以复合事件开头,以生成集合中对象的当前状态。发送完所有这些事件后,将发送合成"Bookmark"事件。书签将报告与对象集合对应的 ResourceVersion (RV),并使用 '"k8s.io/initial-events-end": "true" 注解进行标记。之后,监视流将照常进行,从而向监视的对象发送与更改对应的监视事件(按 RV 排序)。

当设置 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。watch 请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 被解释为"data"作为提供的 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签 事件至少作为 ListOptions 提供的 "resourceVersion'。如果未设置 'resourceVersion',这会被解释为 "consistent read",当请求开始处理时至少会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或未设置 Invalid 错误。

如果 'resourceVersion=""' 或 'resourceVersion="0"' (出于向后兼容原因)和 false,则默认为 true。

timeoutSeconds

整数

列表/watch 调用的超时。这限制了调用的持续时间,无论任何活动或不活跃。

表 14.53. 主体参数
参数类型描述

正文(body)

DeleteOptions 模式

 
表 14.54. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出或监视类型为 Endpoints 的对象
表 14.55. 查询参数
参数类型描述

allowWatchBookmarks

布尔值

allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。

继续

字符串

从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,它必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误接收的令牌的列表请求,服务器将以从下一个密钥开始开始的列表响应,但从最新的快照开始,这与上一个列表结果中不一致 - 在第一个列表请求后将包含在响应中,只要它们的密钥位于 "next key" 后。

当 watch 为 true 时不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不丢失任何修改。

fieldSelector

字符串

一个选择器,用于限制其字段返回的对象列表。默认为任何内容。

labelSelector

字符串

一个选择器,用于限制其标签返回的对象列表。默认为任何内容。

limit

整数

limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的"continue"字段设为可用于同一初始查询的值,以检索下一组结果。如果过滤所有请求的对象,则设置限制可能会返回少于请求项目数量(最多为零项),并且客户端只应使用 continue 字段的存在,以确定是否有更多结果可用。服务器可能会选择不支持 limit 参数,并返回所有可用的结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假定没有更多结果可用。如果 watch 为 true,则不支持此字段。

服务器保证,在使用时返回的对象将与在没有限制限制的情况下发出单个列表调用相同 - 也就是说,在发出第一个请求后没有创建、修改或删除对象。这有时被称为一致的快照,并确保使用限制来接收非常大结果的较小的块的客户端可确保它们看到所有可能的对象。如果在块列表中更新对象,则返回第一个列表结果时存在的对象版本。

resourceVersion

字符串

resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

resourceVersionMatch

字符串

resourceVersionMatch 决定如何将 resourceVersion 应用到列表调用。强烈建议您为设置 resourceVersion 的 list 调用设置 resourceVersionMatch。详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,观察流将以复合事件开头,以生成集合中对象的当前状态。发送完所有这些事件后,将发送合成"Bookmark"事件。书签将报告与对象集合对应的 ResourceVersion (RV),并使用 '"k8s.io/initial-events-end": "true" 注解进行标记。之后,监视流将照常进行,从而向监视的对象发送与更改对应的监视事件(按 RV 排序)。

当设置 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。watch 请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 被解释为"data"作为提供的 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签 事件至少作为 ListOptions 提供的 "resourceVersion'。如果未设置 'resourceVersion',这会被解释为 "consistent read",当请求开始处理时至少会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或未设置 Invalid 错误。

如果 'resourceVersion=""' 或 'resourceVersion="0"' (出于向后兼容原因)和 false,则默认为 true。

timeoutSeconds

整数

列表/watch 调用的超时。这限制了调用的持续时间,无论任何活动或不活跃。

watch

布尔值

观察对所描述资源的更改,并将它们作为添加、更新和删除通知的流返回。指定 resourceVersion。

表 14.56. HTTP 响应
HTTP 代码响应正文

200 - OK

EndpointsList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建端点
表 14.57. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

表 14.58. 主体参数
参数类型描述

正文(body)

Endpoints 模式

 
表 14.59. HTTP 响应
HTTP 代码响应正文

200 - OK

Endpoints 模式

201 - Created

Endpoints 模式

202 - Accepted

Endpoints 模式

401 - Unauthorized

14.5.2.4. /api/v1/watch/namespaces/{namespace}/endpoints

表 14.60. 全局路径参数
参数类型描述

namespace

字符串

对象名称和身份验证范围,如团队(team)和项目(project)

表 14.61. 全局查询参数
参数类型描述

allowWatchBookmarks

布尔值

allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。

继续

字符串

从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,它必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误接收的令牌的列表请求,服务器将以从下一个密钥开始开始的列表响应,但从最新的快照开始,这与上一个列表结果中不一致 - 在第一个列表请求后将包含在响应中,只要它们的密钥位于 "next key" 后。

当 watch 为 true 时不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不丢失任何修改。

fieldSelector

字符串

一个选择器,用于限制其字段返回的对象列表。默认为任何内容。

labelSelector

字符串

一个选择器,用于限制其标签返回的对象列表。默认为任何内容。

limit

整数

limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的"continue"字段设为可用于同一初始查询的值,以检索下一组结果。如果过滤所有请求的对象,则设置限制可能会返回少于请求项目数量(最多为零项),并且客户端只应使用 continue 字段的存在,以确定是否有更多结果可用。服务器可能会选择不支持 limit 参数,并返回所有可用的结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假定没有更多结果可用。如果 watch 为 true,则不支持此字段。

服务器保证,在使用时返回的对象将与在没有限制限制的情况下发出单个列表调用相同 - 也就是说,在发出第一个请求后没有创建、修改或删除对象。这有时被称为一致的快照,并确保使用限制来接收非常大结果的较小的块的客户端可确保它们看到所有可能的对象。如果在块列表中更新对象,则返回第一个列表结果时存在的对象版本。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

resourceVersion

字符串

resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

resourceVersionMatch

字符串

resourceVersionMatch 决定如何将 resourceVersion 应用到列表调用。强烈建议您为设置 resourceVersion 的 list 调用设置 resourceVersionMatch。详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,观察流将以复合事件开头,以生成集合中对象的当前状态。发送完所有这些事件后,将发送合成"Bookmark"事件。书签将报告与对象集合对应的 ResourceVersion (RV),并使用 '"k8s.io/initial-events-end": "true" 注解进行标记。之后,监视流将照常进行,从而向监视的对象发送与更改对应的监视事件(按 RV 排序)。

当设置 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。watch 请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 被解释为"data"作为提供的 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签 事件至少作为 ListOptions 提供的 "resourceVersion'。如果未设置 'resourceVersion',这会被解释为 "consistent read",当请求开始处理时至少会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或未设置 Invalid 错误。

如果 'resourceVersion=""' 或 'resourceVersion="0"' (出于向后兼容原因)和 false,则默认为 true。

timeoutSeconds

整数

列表/watch 调用的超时。这限制了调用的持续时间,无论任何活动或不活跃。

watch

布尔值

观察对所描述资源的更改,并将它们作为添加、更新和删除通知的流返回。指定 resourceVersion。

HTTP 方法
GET
描述
观察单个对 Endpoints 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
表 14.62. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

14.5.2.5. /api/v1/namespaces/{namespace}/endpoints/{name}

表 14.63. 全局路径参数
参数类型描述

name

字符串

端点的名称

namespace

字符串

对象名称和身份验证范围,如团队(team)和项目(project)

表 14.64. 全局查询参数
参数类型描述

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
DELETE
描述
删除端点
表 14.65. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

gracePeriodSeconds

整数

应该删除对象前的持续时间(以秒为单位)。值必须是非负整数。值为零表示立即删除。如果这个值是 nil,则会使用指定类型的默认宽限期。如果没有指定,则默认为每个对象值。零表示立即删除。

orphanDependents

布尔值

弃用:请使用 PropagationPolicy,此字段将在 1.7 中弃用。如果依赖对象是孤立的。如果为 true/false,则 "orphan" finalizer 将添加到对象的终结器列表中。可以设置此字段或 PropagationPolicy,但不能同时设置。

propagationPolicy

字符串

是否执行垃圾回收。可以设置此字段或 OrphanDependents,但不能同时设置两者。默认策略由 metadata.finalizers 和特定于资源的默认策略中设置的现有终结器决定。可接受的值有: 'Orphan' - 孤立的依赖项; 'Background' - 允许垃圾收集器删除依赖项,"Foreground' - 删除前台所有依赖的级联策略。

表 14.66. 主体参数
参数类型描述

正文(body)

DeleteOptions 模式

 
表 14.67. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的端点
表 14.68. HTTP 响应
HTTP 代码响应正文

200 - OK

Endpoints 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的端点
表 14.69. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。应用请求(application/apply-patch)需要此字段,但对非应用补丁类型(JsonPatch、MergePatch、MergePatch)是可选的。

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

force

布尔值

强制要"强制"应用请求。这意味着用户将重新分配由其他人员拥有的冲突字段。对于非应用补丁请求,必须取消设置 force 标志。

表 14.70. 主体参数
参数类型描述

正文(body)

Patch 模式

 
表 14.71. HTTP 响应
HTTP 代码响应正文

200 - OK

Endpoints 模式

201 - Created

Endpoints 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的端点
表 14.72. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

表 14.73. 主体参数
参数类型描述

正文(body)

Endpoints 模式

 
表 14.74. HTTP 响应
HTTP 代码响应正文

200 - OK

Endpoints 模式

201 - Created

Endpoints 模式

401 - Unauthorized

14.5.2.6. /api/v1/watch/namespaces/{namespace}/endpoints/{name}

表 14.75. 全局路径参数
参数类型描述

name

字符串

端点的名称

namespace

字符串

对象名称和身份验证范围,如团队(team)和项目(project)

表 14.76. 全局查询参数
参数类型描述

allowWatchBookmarks

布尔值

allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。

继续

字符串

从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,它必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误接收的令牌的列表请求,服务器将以从下一个密钥开始开始的列表响应,但从最新的快照开始,这与上一个列表结果中不一致 - 在第一个列表请求后将包含在响应中,只要它们的密钥位于 "next key" 后。

当 watch 为 true 时不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不丢失任何修改。

fieldSelector

字符串

一个选择器,用于限制其字段返回的对象列表。默认为任何内容。

labelSelector

字符串

一个选择器,用于限制其标签返回的对象列表。默认为任何内容。

limit

整数

limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的"continue"字段设为可用于同一初始查询的值,以检索下一组结果。如果过滤所有请求的对象,则设置限制可能会返回少于请求项目数量(最多为零项),并且客户端只应使用 continue 字段的存在,以确定是否有更多结果可用。服务器可能会选择不支持 limit 参数,并返回所有可用的结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假定没有更多结果可用。如果 watch 为 true,则不支持此字段。

服务器保证,在使用时返回的对象将与在没有限制限制的情况下发出单个列表调用相同 - 也就是说,在发出第一个请求后没有创建、修改或删除对象。这有时被称为一致的快照,并确保使用限制来接收非常大结果的较小的块的客户端可确保它们看到所有可能的对象。如果在块列表中更新对象,则返回第一个列表结果时存在的对象版本。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

resourceVersion

字符串

resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

resourceVersionMatch

字符串

resourceVersionMatch 决定如何将 resourceVersion 应用到列表调用。强烈建议您为设置 resourceVersion 的 list 调用设置 resourceVersionMatch。详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,观察流将以复合事件开头,以生成集合中对象的当前状态。发送完所有这些事件后,将发送合成"Bookmark"事件。书签将报告与对象集合对应的 ResourceVersion (RV),并使用 '"k8s.io/initial-events-end": "true" 注解进行标记。之后,监视流将照常进行,从而向监视的对象发送与更改对应的监视事件(按 RV 排序)。

当设置 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。watch 请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 被解释为"data"作为提供的 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签 事件至少作为 ListOptions 提供的 "resourceVersion'。如果未设置 'resourceVersion',这会被解释为 "consistent read",当请求开始处理时至少会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或未设置 Invalid 错误。

如果 'resourceVersion=""' 或 'resourceVersion="0"' (出于向后兼容原因)和 false,则默认为 true。

timeoutSeconds

整数

列表/watch 调用的超时。这限制了调用的持续时间,无论任何活动或不活跃。

watch

布尔值

观察对所描述资源的更改,并将它们作为添加、更新和删除通知的流返回。指定 resourceVersion。

HTTP 方法
GET
描述
观察对类型为 Endpoints 的对象的更改。已弃用:使用带列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
表 14.77. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.