14.17. Service [v1]
- 描述
- 服务是一个由代理侦听的本地端口(如 mysql)组成的、指定软件服务的抽象概念,以及决定哪些 Pod 将通过代理发送的请求的选择器。
- 类型
-
对象
14.17.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| ServiceSpec 描述了用户在服务上创建的属性。 |
|
| ServiceStatus 代表服务的当前状态。 |
14.17.1.1. .spec
- 描述
- ServiceSpec 描述了用户在服务上创建的属性。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| allocateLoadBalancerNodePorts 定义是否为类型为 LoadBalancer 的服务自动分配 NodePort。默认值为 "true"。如果集群负载均衡器不依赖于 NodePort,则可能会将其设置为 "false"。如果调用者请求特定的 NodePort (通过指定值),无论此字段如何,将遵守这些请求。此字段只能为类型为 LoadBalancer 的服务设置,并在类型改为任何其他类型时清除。 |
|
| ClusterIP 是服务的 IP 地址,通常随机分配。如果手动指定地址,处于范围形式(如每个系统配置一样),但没有使用,则会将其分配给该服务;否则创建服务将失败。此字段不能通过更新来更改,除非类型字段也更改为 ExternalName (要求此字段为空白),或者 type 字段从 ExternalName 更改(在这种情况下,可以选择性地指定此字段,如上述描述)。有效值为 "None", 空字符串("")或一个有效的 IP 地址。把它设置为 "None" make a "headless service" (没有虚拟 IP),当不需要直接端点连接且不需要代理时,这很有用。仅适用于类型 ClusterIP、NodePort 和 LoadBalancer。如果在创建类型为 ExternalName 的 Service 时指定了此字段,则创建将失败。当将 Service 更新为类型为 ExternalName 时,此字段将擦除。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies |
|
| clusterIPs 是分配给此服务的 IP 地址列表,通常是随机分配的。如果手动指定地址,处于范围形式(如每个系统配置一样),但没有使用,则会将其分配给该服务;否则创建服务将失败。此字段不能通过更新来更改,除非类型字段也更改为 ExternalName (要求此字段为空),或者 type 字段从 ExternalName 更改(在这种情况下,可以选择性地指定此字段,如上述描述)。有效值为 "None", 空字符串("")或一个有效的 IP 地址。把它设置为 "None" make a "headless service" (没有虚拟 IP),当不需要直接端点连接且不需要代理时,这很有用。仅适用于类型 ClusterIP、NodePort 和 LoadBalancer。如果在创建类型为 ExternalName 的 Service 时指定了此字段,则创建将失败。当将 Service 更新为类型为 ExternalName 时,此字段将擦除。如果没有指定此字段,它将从 clusterIP 字段初始化。如果指定了此字段,客户端必须确保 clusterIPs[0] 和 clusterIP 的值相同。 此字段最多可保留两个条目(双堆栈 IP,以任一顺序)。这些 IP 必须与 ipFamilies 字段的值对应。clusterIPs 和 ipFamilies 都由 ipFamilyPolicy 字段管理。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies |
|
| externalIPs 是集群中节点也接受此服务的流量的 IP 地址列表。这些 IP 不由 Kubernetes 管理。用户负责确保流量到达具有此 IP 的节点。一个常见的例子是不是 Kubernetes 系统一部分的外部负载均衡器。 |
|
|
ExternalName 是外部引用,发现机制将返回为该服务的别名(例如,DNS CNAME 记录)。不涉及代理。必须是小写 RFC-1123 主机名(https://tools.ietf.org/html/rfc1123),且需要 |
|
| ExternalTrafficPolicy 描述了节点如何在其中一个服务"面向服务的"外部"地址(NodePort、ExternalIP 和 LoadBalancer IP)上接收服务流量。如果设置为"本地",代理将以一种方式配置服务,假设外部负载均衡器负责在节点间平衡服务流量,因此每个节点只会向服务的本地端点发送流量,而不伪装客户端源 IP。(流量错误地发送到没有端点的节点。)默认值 "Cluster" 使用了平均路由到所有端点的标准行为(可能是根据拓扑和其他功能修改)。请注意,从集群内部发送到外部 IP 或 LoadBalancer IP 的流量将始终获得"集群"语义,但从集群中发送到 NodePort 的客户端可能需要在选择节点时考虑流量策略。
可能枚举值: - |
|
| HealthCheckNodePort 为服务指定健康检查 nodePort。这仅在将 type 设置为 LoadBalancer 并且 externalTrafficPolicy 设置为 Local 时才适用。如果指定了值,为 in-range,但没有在使用中,它将被使用。如果没有指定,则会自动分配值。外部系统(如负载均衡器)可以使用此端口来确定给定节点是否包含此服务的端点。如果在创建不需要的 Service 时指定了此字段,则创建将失败。当更新 Service 时,将擦除此字段,使其不再需要(例如更改类型)。设置后,不能更新此字段。 |
|
| internalTrafficPolicy 描述了节点如何分发它们在 ClusterIP 上接收的服务流量。如果设置为 "Local",代理将假定 pod 只想与与 pod 相同的节点上与服务端点通信,如果没有本地端点,则丢弃流量。默认值 "Cluster" 使用了平均路由到所有端点的标准行为(可能是根据拓扑和其他功能修改)。
可能枚举值: - |
|
| ipFamilies 是分配给此服务的 IP 系列(如 IPv4、IPv6)的列表。通常会根据集群配置和 ipFamilyPolicy 字段自动分配此字段。如果手动指定此字段,则集群中提供了请求的系列,并且 ipFamilyPolicy 允许它,否则创建服务将失败。此字段有条件性 :它允许添加或删除二级 IP 系列,但它不允许更改服务的主 IP 系列。有效值为 "IPv4" 和 "IPv6"。此字段只适用于 ClusterIP、NodePort 和 LoadBalancer 类型的服务,并适用于 "headless" 服务。当将 Service 更新为类型为 ExternalName 时,此字段将擦除。 此字段最多可保留两个条目(以任一顺序排列的双栈系列)。如果指定,这些系列必须与 clusterIPs 字段的值对应。clusterIPs 和 ipFamilies 都由 ipFamilyPolicy 字段管理。 |
|
| ipFamilyPolicy 代表此 Service 请求或所需的双栈。如果没有提供值,则此字段将设置为 SingleStack。服务可以是"SingleStack" (单一 IP 系列)、"PreferDualStack" (在双栈配置的集群或单堆栈群集上的单个 IP 系列)或"RequireDualStack" (双堆栈配置群集的两个 IP 系列),否则失败。ipFamilies 和 clusterIPs 字段取决于此字段的值。当将服务更新为类型为 ExternalName 时,将擦除此字段。
可能枚举值:- |
|
| loadBalancerClass 是此服务所属的负载均衡器实现的类。如果指定,此字段的值必须是标签式标识符,带有可选前缀,如 "internal-vip" 或 "example.com/internal-vip"。Unprefixed name 为最终用户保留。只有在 Service type 为 'LoadBalancer' 时,才能设置此字段。如果没有设置,则使用默认负载均衡器实施,现在这通常通过云供应商集成来实现,但应该适用于任何默认的实施。如果设置,则会假定负载均衡器实现正在监视具有匹配类的服务。任何默认的负载均衡器实现(如云供应商)都应忽略设置此字段的服务。此字段只能在创建或更新 Service 以键入"LoadBalancer"时设置。设置后,无法更改它。当服务更新为非"LoadBalancer"类型时,将擦除此字段。 |
|
| 只适用于 Service Type: LoadBalancer。此功能取决于创建负载均衡器时是否支持指定 loadBalancerIP 底层的 cloud-provider。如果 cloud-provider 不支持该功能,则此字段将被忽略。弃用:此字段是指定的,其含义因实现而异,且不支持双栈。从 Kubernetes v1.24 开始,建议用户使用特定于实施的注解(如果可用)。此字段可能会在以后的 API 版本中删除。 |
|
| 如果平台指定和支持,这将限制通过 cloud-provider 负载平衡器的流量将限制为指定的客户端 IP。如果 cloud-provider 不支持该功能,则此字段将被忽略。更多信息: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/ |
|
| 此服务公开的端口列表。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies |
|
| servicePort 包含服务端口的信息。 |
|
| publishNotReadyAddresses 表示处理此服务端点的任何代理,应忽略任何就绪/未就绪的指示。设置此字段的主要用例是 StatefulSet 的无标头服务,用于其 Pod 的 SRV DNS 记录,用于对等发现。为服务生成 Endpoints 和 EndpointSlice 资源的 Kubernetes 控制器会解释它,这意味着即使 Pod 本身没有,所有端点都被视为"就绪"。只有通过 Endpoints 或 EndpointSlice 资源消耗 Kubernetes 生成的端点的代理可以安全地假设此行为。 |
|
| 使用与此选择器匹配的标签键和值将服务流量路由到 pod。如果为空或不存在,则假定服务具有管理其端点的外部进程,Kubernetes 将不会被修改。仅适用于类型 ClusterIP、NodePort 和 LoadBalancer。如果 type 是 ExternalName,则忽略。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/ |
|
| 支持"ClientIP"和"None"。用于维护会话关联。启用基于客户端 IP 的会话关联性。必须是 ClientIP 或 None。默认值为 None。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
可能枚举值: - |
|
| sessionAffinityConfig 代表会话关联性的配置。 |
|
| Type 决定 Service 的公开方式。默认为 ClusterIP。有效选项包括 ExternalName、ClusterIP、NodePort 和 LoadBalancer。"ClusterIP"分配集群内部 IP 地址,以负载平衡到端点。端点由选择器决定,或者未指定,或者通过手动构建 Endpoints 对象或 EndpointSlice 对象来决定。如果 clusterIP 是"None",则不会分配虚拟 IP,端点作为一组端点发布,而不是虚拟 IP。"NodePort"基于 ClusterIP 构建,并在每个节点上分配一个端口,它们路由到与 clusterIP 相同的端点。"LoadBalancer"在 NodePort 上构建,并创建一个外部负载均衡器(如果当前云支持),它将路由到与 clusterIP 相同的端点。"ExternalName"将该服务别名到指定的 externalName 中。几个其他字段不适用于 ExternalName 服务。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
可能枚举值: - |
14.17.1.2. .spec.ports
- 描述
- 此服务公开的端口列表。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
- 类型
-
array
14.17.1.3. .spec.ports[]
- 描述
- servicePort 包含服务端口的信息。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此端口的应用程序协议。此字段遵循标准 Kubernetes 标签语法。未前缀的名称为 IANA 标准服务名称保留(如 RFC-6335 和 https://www.iana.org/assignments/service-names)。非标准协议应使用前缀名称,如 mycompany.com/my-custom-protocol。 |
|
| 此端口在服务内的名称。这必须是 DNS_LABEL。ServiceSpec 中的所有端口都必须具有唯一的名称。在考虑服务的端点时,这必须与 EndpointPort 中的 'name' 字段匹配。如果在这个服务中只定义了一个 ServicePort。 |
|
| 当类型为 NodePort 或 LoadBalancer 时,此服务在其上公开的每个节点上的端口。通常由系统分配。如果指定了值( in-range),并且不使用它,则会使用它,否则操作将失败。如果没有指定,如果此服务需要端口,则会分配端口。如果在创建不需要的 Service 时指定了此字段,则创建将失败。当将 Service 更新为不再需要时(例如,将类型从 NodePort 更改为 ClusterIP),将擦除此字段。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport |
|
| 此服务将由此服务公开的端口。 |
|
| 此端口的 IP 协议。支持"TCP"、"UDP"和"SCTP"。默认为 TCP。
可能枚举值: - |
| 在服务目标的 pod 上访问的端口数量或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。如果这是字符串,它将在目标 Pod 的容器端口中查找为命名的端口。如果没有指定,则使用 'port' 字段的值(身份映射)。对于带有 clusterIP=None 的服务,会忽略此字段,并应省略或设置为 'port' 字段。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service |
14.17.1.4. .spec.sessionAffinityConfig
- 描述
- sessionAffinityConfig 代表会话关联性的配置。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ClientIPConfig 代表基于客户端 IP 的会话关联性的配置。 |
14.17.1.5. .spec.sessionAffinityConfig.clientIP
- 描述
- ClientIPConfig 代表基于客户端 IP 的会话关联性的配置。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| timeoutSeconds 指定 ClientIP 类型粘性时间的秒数。如果 ServiceAffinity == "ClientIP",则该值必须是 >0 && wagon86400 (1 天)。默认值为 10800 (3 小时)。 |
14.17.1.6. .status
- 描述
- ServiceStatus 代表服务的当前状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| 当前服务状态 | |
|
| LoadBalancerStatus 代表负载均衡器的状态。 |
14.17.1.7. .status.loadBalancer
- 描述
- LoadBalancerStatus 代表负载均衡器的状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| Ingress 是一个包含负载均衡器的入口点的列表。为服务预期的流量应发送到这些入口点。 |
|
| LoadBalancerIngress 代表负载均衡器入口点的状态:服务预期的流量应发送到入口点。 |
14.17.1.8. .status.loadBalancer.ingress
- 描述
- Ingress 是一个包含负载均衡器的入口点的列表。为服务预期的流量应发送到这些入口点。
- 类型
-
array
14.17.1.9. .status.loadBalancer.ingress[]
- 描述
- LoadBalancerIngress 代表负载均衡器入口点的状态:服务预期的流量应发送到入口点。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 为基于 DNS 的负载均衡器入口点设置 hostname (通常是 AWS 负载均衡器) |
|
| 为基于 IP (通常是 GCE 或 OpenStack 负载平衡器)的负载均衡器入站点设置 IP |
|
| ports 是服务端口的记录列表(如果使用),服务中定义的每个端口都应该在其中有一个条目 |
|
|
14.17.1.10. .status.loadBalancer.ingress[].ports
- 描述
- ports 是服务端口的记录列表(如果使用),服务中定义的每个端口都应该在其中有一个条目
- 类型
-
array
14.17.1.11. .status.loadBalancer.ingress[].ports[]
- 描述
- 类型
-
object
- 必填
-
port
-
protocol
-
属性 | 类型 | 描述 |
---|---|---|
|
| 错误是记录服务端口的问题。错误的格式应遵循以下规则: - 内置错误值应该在此文件中指定,而那些应该使用 CamelCase 名称 - 云供应商特定错误值必须具有符合 foo.example.com/CamelCase 格式的名称。 |
|
| port 是记录状态的服务端口的端口号 |
|
| protocol 是服务端口的协议,此处记录状态,支持的值有: "TCP", "UDP", "SCTP"
可能枚举值: - |
14.17.2. API 端点
可用的 API 端点如下:
/api/v1/services
-
GET
:列出或监视类型为 Service 的对象
-
/api/v1/watch/services
-
GET
: 观察单个对服务列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
-
/api/v1/namespaces/{namespace}/services
-
DELETE
:删除服务集合 -
GET
:列出或监视类型为 Service 的对象 -
POST
:创建服务
-
/api/v1/watch/namespaces/{namespace}/services
-
GET
: 观察单个对服务列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
-
/api/v1/namespaces/{namespace}/services/{name}
-
DELETE
:删除服务 -
GET
:读取指定的服务 -
PATCH
: 部分更新指定的服务 -
PUT
:替换指定的服务
-
/api/v1/watch/namespaces/{namespace}/services/{name}
-
GET
: 观察对类型为 Service 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
-
/api/v1/namespaces/{namespace}/services/{name}/status
-
GET
:指定服务的读取状态 -
PATCH
: 部分更新指定服务的状态 -
PUT
:替换指定服务的状态
-
14.17.2.1. /api/v1/services
参数 | 类型 | 描述 |
---|---|---|
|
| allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。 |
|
| 从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,它必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误接收的令牌的列表请求,服务器将以从下一个密钥开始开始的列表响应,但从最新的快照开始,这与上一个列表结果中不一致 - 在第一个列表请求后将包含在响应中,只要它们的密钥位于 "next key" 后。 当 watch 为 true 时不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不丢失任何修改。 |
|
| 一个选择器,用于限制其字段返回的对象列表。默认为任何内容。 |
|
| 一个选择器,用于限制其标签返回的对象列表。默认为任何内容。 |
|
| limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的"continue"字段设为可用于同一初始查询的值,以检索下一组结果。如果过滤所有请求的对象,则设置限制可能会返回少于请求项目数量(最多为零项),并且客户端只应使用 continue 字段的存在,以确定是否有更多结果可用。服务器可能会选择不支持 limit 参数,并返回所有可用的结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假定没有更多结果可用。如果 watch 为 true,则不支持此字段。 服务器保证,在使用时返回的对象将与在没有限制限制的情况下发出单个列表调用相同 - 也就是说,在发出第一个请求后没有创建、修改或删除对象。这有时被称为一致的快照,并确保使用限制来接收非常大结果的较小的块的客户端可确保它们看到所有可能的对象。如果在块列表中更新对象,则返回第一个列表结果时存在的对象版本。 |
|
| 如果为 'true',则输出会经过 pretty print 处理。 |
|
| resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions 默认为未设置 |
|
| resourceVersionMatch 决定如何将 resourceVersion 应用到列表调用。强烈建议您为设置 resourceVersion 的 list 调用设置 resourceVersionMatch。详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions。 默认为未设置 |
|
| '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。 |
|
| 列表/watch 调用的超时。这限制了调用的持续时间,无论任何活动或不活跃。 |
|
| 观察对所描述资源的更改,并将它们作为添加、更新和删除通知的流返回。指定 resourceVersion。 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 Service 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
14.17.2.2. /api/v1/watch/services
参数 | 类型 | 描述 |
---|---|---|
|
| allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。 |
|
| 从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,它必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误接收的令牌的列表请求,服务器将以从下一个密钥开始开始的列表响应,但从最新的快照开始,这与上一个列表结果中不一致 - 在第一个列表请求后将包含在响应中,只要它们的密钥位于 "next key" 后。 当 watch 为 true 时不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不丢失任何修改。 |
|
| 一个选择器,用于限制其字段返回的对象列表。默认为任何内容。 |
|
| 一个选择器,用于限制其标签返回的对象列表。默认为任何内容。 |
|
| limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的"continue"字段设为可用于同一初始查询的值,以检索下一组结果。如果过滤所有请求的对象,则设置限制可能会返回少于请求项目数量(最多为零项),并且客户端只应使用 continue 字段的存在,以确定是否有更多结果可用。服务器可能会选择不支持 limit 参数,并返回所有可用的结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假定没有更多结果可用。如果 watch 为 true,则不支持此字段。 服务器保证,在使用时返回的对象将与在没有限制限制的情况下发出单个列表调用相同 - 也就是说,在发出第一个请求后没有创建、修改或删除对象。这有时被称为一致的快照,并确保使用限制来接收非常大结果的较小的块的客户端可确保它们看到所有可能的对象。如果在块列表中更新对象,则返回第一个列表结果时存在的对象版本。 |
|
| 如果为 'true',则输出会经过 pretty print 处理。 |
|
| resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions 默认为未设置 |
|
| resourceVersionMatch 决定如何将 resourceVersion 应用到列表调用。强烈建议您为设置 resourceVersion 的 list 调用设置 resourceVersionMatch。详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions。 默认为未设置 |
|
| '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。 |
|
| 列表/watch 调用的超时。这限制了调用的持续时间,无论任何活动或不活跃。 |
|
| 观察对所描述资源的更改,并将它们作为添加、更新和删除通知的流返回。指定 resourceVersion。 |
- HTTP 方法
-
GET
- 描述
- 观察单个对服务列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
14.17.2.3. /api/v1/namespaces/{namespace}/services
参数 | 类型 | 描述 |
---|---|---|
|
| 对象名称和身份验证范围,如团队(team)和项目(project) |
参数 | 类型 | 描述 |
---|---|---|
|
| 如果为 'true',则输出会经过 pretty print 处理。 |
- HTTP 方法
-
DELETE
- 描述
- 删除服务集合
参数 | 类型 | 描述 |
---|---|---|
|
| 从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,它必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误接收的令牌的列表请求,服务器将以从下一个密钥开始开始的列表响应,但从最新的快照开始,这与上一个列表结果中不一致 - 在第一个列表请求后将包含在响应中,只要它们的密钥位于 "next key" 后。 当 watch 为 true 时不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不丢失任何修改。 |
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| 一个选择器,用于限制其字段返回的对象列表。默认为任何内容。 |
|
| 应该删除对象前的持续时间(以秒为单位)。值必须是非负整数。值为零表示立即删除。如果这个值是 nil,则会使用指定类型的默认宽限期。如果没有指定,则默认为每个对象值。零表示立即删除。 |
|
| 一个选择器,用于限制其标签返回的对象列表。默认为任何内容。 |
|
| limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的"continue"字段设为可用于同一初始查询的值,以检索下一组结果。如果过滤所有请求的对象,则设置限制可能会返回少于请求项目数量(最多为零项),并且客户端只应使用 continue 字段的存在,以确定是否有更多结果可用。服务器可能会选择不支持 limit 参数,并返回所有可用的结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假定没有更多结果可用。如果 watch 为 true,则不支持此字段。 服务器保证,在使用时返回的对象将与在没有限制限制的情况下发出单个列表调用相同 - 也就是说,在发出第一个请求后没有创建、修改或删除对象。这有时被称为一致的快照,并确保使用限制来接收非常大结果的较小的块的客户端可确保它们看到所有可能的对象。如果在块列表中更新对象,则返回第一个列表结果时存在的对象版本。 |
|
| 弃用:请使用 PropagationPolicy,此字段将在 1.7 中弃用。如果依赖对象是孤立的。如果为 true/false,则 "orphan" finalizer 将添加到对象的终结器列表中。可以设置此字段或 PropagationPolicy,但不能同时设置。 |
|
| 是否执行垃圾回收。可以设置此字段或 OrphanDependents,但不能同时设置两者。默认策略由 metadata.finalizers 和特定于资源的默认策略中设置的现有终结器决定。可接受的值有: 'Orphan' - 孤立的依赖项; 'Background' - 允许垃圾收集器删除依赖项,"Foreground' - 删除前台所有依赖的级联策略。 |
|
| resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions 默认为未设置 |
|
| resourceVersionMatch 决定如何将 resourceVersion 应用到列表调用。强烈建议您为设置 resourceVersion 的 list 调用设置 resourceVersionMatch。详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions。 默认为未设置 |
|
| '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。 |
|
| 列表/watch 调用的超时。这限制了调用的持续时间,无论任何活动或不活跃。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 Service 的对象
参数 | 类型 | 描述 |
---|---|---|
|
| allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。 |
|
| 从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,它必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误接收的令牌的列表请求,服务器将以从下一个密钥开始开始的列表响应,但从最新的快照开始,这与上一个列表结果中不一致 - 在第一个列表请求后将包含在响应中,只要它们的密钥位于 "next key" 后。 当 watch 为 true 时不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不丢失任何修改。 |
|
| 一个选择器,用于限制其字段返回的对象列表。默认为任何内容。 |
|
| 一个选择器,用于限制其标签返回的对象列表。默认为任何内容。 |
|
| limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的"continue"字段设为可用于同一初始查询的值,以检索下一组结果。如果过滤所有请求的对象,则设置限制可能会返回少于请求项目数量(最多为零项),并且客户端只应使用 continue 字段的存在,以确定是否有更多结果可用。服务器可能会选择不支持 limit 参数,并返回所有可用的结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假定没有更多结果可用。如果 watch 为 true,则不支持此字段。 服务器保证,在使用时返回的对象将与在没有限制限制的情况下发出单个列表调用相同 - 也就是说,在发出第一个请求后没有创建、修改或删除对象。这有时被称为一致的快照,并确保使用限制来接收非常大结果的较小的块的客户端可确保它们看到所有可能的对象。如果在块列表中更新对象,则返回第一个列表结果时存在的对象版本。 |
|
| resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions 默认为未设置 |
|
| resourceVersionMatch 决定如何将 resourceVersion 应用到列表调用。强烈建议您为设置 resourceVersion 的 list 调用设置 resourceVersionMatch。详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions。 默认为未设置 |
|
| '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。 |
|
| 列表/watch 调用的超时。这限制了调用的持续时间,无论任何活动或不活跃。 |
|
| 观察对所描述资源的更改,并将它们作为添加、更新和删除通知的流返回。指定 resourceVersion。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建服务
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
14.17.2.4. /api/v1/watch/namespaces/{namespace}/services
参数 | 类型 | 描述 |
---|---|---|
|
| 对象名称和身份验证范围,如团队(team)和项目(project) |
参数 | 类型 | 描述 |
---|---|---|
|
| allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。 |
|
| 从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,它必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误接收的令牌的列表请求,服务器将以从下一个密钥开始开始的列表响应,但从最新的快照开始,这与上一个列表结果中不一致 - 在第一个列表请求后将包含在响应中,只要它们的密钥位于 "next key" 后。 当 watch 为 true 时不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不丢失任何修改。 |
|
| 一个选择器,用于限制其字段返回的对象列表。默认为任何内容。 |
|
| 一个选择器,用于限制其标签返回的对象列表。默认为任何内容。 |
|
| limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的"continue"字段设为可用于同一初始查询的值,以检索下一组结果。如果过滤所有请求的对象,则设置限制可能会返回少于请求项目数量(最多为零项),并且客户端只应使用 continue 字段的存在,以确定是否有更多结果可用。服务器可能会选择不支持 limit 参数,并返回所有可用的结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假定没有更多结果可用。如果 watch 为 true,则不支持此字段。 服务器保证,在使用时返回的对象将与在没有限制限制的情况下发出单个列表调用相同 - 也就是说,在发出第一个请求后没有创建、修改或删除对象。这有时被称为一致的快照,并确保使用限制来接收非常大结果的较小的块的客户端可确保它们看到所有可能的对象。如果在块列表中更新对象,则返回第一个列表结果时存在的对象版本。 |
|
| 如果为 'true',则输出会经过 pretty print 处理。 |
|
| resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions 默认为未设置 |
|
| resourceVersionMatch 决定如何将 resourceVersion 应用到列表调用。强烈建议您为设置 resourceVersion 的 list 调用设置 resourceVersionMatch。详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions。 默认为未设置 |
|
| '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。 |
|
| 列表/watch 调用的超时。这限制了调用的持续时间,无论任何活动或不活跃。 |
|
| 观察对所描述资源的更改,并将它们作为添加、更新和删除通知的流返回。指定 resourceVersion。 |
- HTTP 方法
-
GET
- 描述
- 观察单个对服务列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
14.17.2.5. /api/v1/namespaces/{namespace}/services/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| Service 的名称 |
|
| 对象名称和身份验证范围,如团队(team)和项目(project) |
参数 | 类型 | 描述 |
---|---|---|
|
| 如果为 'true',则输出会经过 pretty print 处理。 |
- HTTP 方法
-
DELETE
- 描述
- 删除服务
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| 应该删除对象前的持续时间(以秒为单位)。值必须是非负整数。值为零表示立即删除。如果这个值是 nil,则会使用指定类型的默认宽限期。如果没有指定,则默认为每个对象值。零表示立即删除。 |
|
| 弃用:请使用 PropagationPolicy,此字段将在 1.7 中弃用。如果依赖对象是孤立的。如果为 true/false,则 "orphan" finalizer 将添加到对象的终结器列表中。可以设置此字段或 PropagationPolicy,但不能同时设置。 |
|
| 是否执行垃圾回收。可以设置此字段或 OrphanDependents,但不能同时设置两者。默认策略由 metadata.finalizers 和特定于资源的默认策略中设置的现有终结器决定。可接受的值有: 'Orphan' - 孤立的依赖项; 'Background' - 允许垃圾收集器删除依赖项,"Foreground' - 删除前台所有依赖的级联策略。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的服务
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的服务
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。应用请求(application/apply-patch)需要此字段,但对非应用补丁类型(JsonPatch、MergePatch、MergePatch)是可选的。 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
|
| 强制要"强制"应用请求。这意味着用户将重新分配由其他人员拥有的冲突字段。对于非应用补丁请求,必须取消设置 force 标志。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的服务
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
14.17.2.6. /api/v1/watch/namespaces/{namespace}/services/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| Service 的名称 |
|
| 对象名称和身份验证范围,如团队(team)和项目(project) |
参数 | 类型 | 描述 |
---|---|---|
|
| allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。 |
|
| 从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,它必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误接收的令牌的列表请求,服务器将以从下一个密钥开始开始的列表响应,但从最新的快照开始,这与上一个列表结果中不一致 - 在第一个列表请求后将包含在响应中,只要它们的密钥位于 "next key" 后。 当 watch 为 true 时不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不丢失任何修改。 |
|
| 一个选择器,用于限制其字段返回的对象列表。默认为任何内容。 |
|
| 一个选择器,用于限制其标签返回的对象列表。默认为任何内容。 |
|
| limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的"continue"字段设为可用于同一初始查询的值,以检索下一组结果。如果过滤所有请求的对象,则设置限制可能会返回少于请求项目数量(最多为零项),并且客户端只应使用 continue 字段的存在,以确定是否有更多结果可用。服务器可能会选择不支持 limit 参数,并返回所有可用的结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假定没有更多结果可用。如果 watch 为 true,则不支持此字段。 服务器保证,在使用时返回的对象将与在没有限制限制的情况下发出单个列表调用相同 - 也就是说,在发出第一个请求后没有创建、修改或删除对象。这有时被称为一致的快照,并确保使用限制来接收非常大结果的较小的块的客户端可确保它们看到所有可能的对象。如果在块列表中更新对象,则返回第一个列表结果时存在的对象版本。 |
|
| 如果为 'true',则输出会经过 pretty print 处理。 |
|
| resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions 默认为未设置 |
|
| resourceVersionMatch 决定如何将 resourceVersion 应用到列表调用。强烈建议您为设置 resourceVersion 的 list 调用设置 resourceVersionMatch。详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions。 默认为未设置 |
|
| '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。 |
|
| 列表/watch 调用的超时。这限制了调用的持续时间,无论任何活动或不活跃。 |
|
| 观察对所描述资源的更改,并将它们作为添加、更新和删除通知的流返回。指定 resourceVersion。 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 Service 的对象的更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
14.17.2.7. /api/v1/namespaces/{namespace}/services/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| Service 的名称 |
|
| 对象名称和身份验证范围,如团队(team)和项目(project) |
参数 | 类型 | 描述 |
---|---|---|
|
| 如果为 'true',则输出会经过 pretty print 处理。 |
- HTTP 方法
-
GET
- 描述
- 指定服务的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定服务的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。应用请求(application/apply-patch)需要此字段,但对非应用补丁类型(JsonPatch、MergePatch、MergePatch)是可选的。 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
|
| 强制要"强制"应用请求。这意味着用户将重新分配由其他人员拥有的冲突字段。对于非应用补丁请求,必须取消设置 force 标志。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定服务的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |