14.17. Service [v1]


描述
服务是软件服务的命名抽象(例如,mysql)由本地端口(如 3306)组成,以及代理侦听的选择器,决定哪些 pod 将回答通过代理发送的请求。
类型
对象

14.17.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

spec

对象

ServiceSpec 描述了用户在服务中创建的属性。

status

对象

ServiceStatus 代表服务的当前状态。

14.17.1.1. .spec

描述
ServiceSpec 描述了用户在服务中创建的属性。
类型
object
属性类型描述

allocateLoadBalancerNodePorts

布尔值

allocateLoadBalancerNodePorts 定义是否为类型为 LoadBalancer 的服务自动分配 NodePort。默认为 "true"。如果集群负载均衡器不依赖于 NodePort,它可以设置为 "false"。如果调用者请求特定的 NodePort (通过指定值),无论此字段是什么,这些请求都会被遵守。此字段只能为类型为 LoadBalancer 的服务设置,并在类型改为任何其他类型时清除。

clusterIP

字符串

ClusterIP 是服务的 IP 地址,通常随机分配。如果手动指定地址,是范围为 in-range (根据每个系统配置),且不使用,则它将分配给该服务;否则,服务创建将失败。无法通过更新更改此字段,除非 type 字段也改为 ExternalName (这需要此字段为空),或者将 type 字段从 ExternalName 更改(在这种情况下,可以选择性地指定此字段,如上面描述)。有效值为 "None"、空字符串("")或有效的 IP 地址。把它设置为 "None" 会导致"无头服务" (没有虚拟 IP),这在首选端点连接时很有用,且不需要代理。只适用于 ClusterIP、NodePort 和 LoadBalancer 类型。如果在创建类型为 ExternalName 的 Service 时指定了此字段,则创建将失败。当更新一个 Service 以键入 ExternalName 时,此字段将被擦除。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

clusterIPs

数组(字符串)

clusterIP 是分配给此服务的 IP 地址列表,通常随机分配。如果手动指定地址,是范围为 in-range (根据每个系统配置),且不使用,则它将分配给该服务;否则,服务创建将失败。无法通过更新更改此字段,除非 type 字段也改为 ExternalName (这需要此字段为空)或 type 字段从 ExternalName 中更改(在这种情况下,可以选择性地指定此字段,如上面描述)。有效值为 "None"、空字符串("")或有效的 IP 地址。把它设置为 "None" 会导致"无头服务" (没有虚拟 IP),这在首选端点连接时很有用,且不需要代理。只适用于 ClusterIP、NodePort 和 LoadBalancer 类型。如果在创建类型为 ExternalName 的 Service 时指定了此字段,则创建将失败。当更新一个 Service 以键入 ExternalName 时,此字段将被擦除。如果没有指定此字段,它将从 clusterIP 字段初始化。如果指定了此字段,客户端必须确保 clusterIPs[0] 和 clusterIP 的值相同。

此字段最多可保留两个条目(dual-stack IP,以任一顺序排列)。这些 IP 必须与 ipFamilies 字段的值对应。clusterIP 和 ipFamilies 都由 ipFamilyPolicy 字段管理。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

externalIPs

数组(字符串)

externalIPs 是 IP 地址列表,集群中的节点也会接受此服务的流量。这些 IP 不由 Kubernetes 管理。用户负责确保流量通过这个 IP 到达节点。一个常见示例是不是 Kubernetes 系统一部分的外部负载均衡器。

externalName

字符串

ExternalName 是发现机制将返回到此服务的别名(例如 DNS CNAME 记录)的外部引用。不会涉及代理。必须是小写的 RFC-1123 主机名(https://tools.ietf.org/html/rfc1123),且需要 类型为 "ExternalName"。

externalTrafficPolicy

string

ExternalTrafficPolicy 描述了节点如何在服务"面向外部的"地址(NodePort、ExternalIP 和 LoadBalancer IP)上分发服务流量。如果设置为 "Local",代理将以一种方式配置该服务,假设外部负载均衡器在节点间平衡服务流量,因此每个节点将仅向服务的节点本地端点发送流量,而不伪装客户端源 IP。(流量错误地发送到没有端点的节点。)默认值 "Cluster" 使用标准路由到所有端点的标准行为(可能由拓扑和其他功能修改)。请注意,从集群内部发送到外部 IP 或 LoadBalancer IP 的流量始终会获得 "Cluster" 语义,但从集群中发送到 NodePort 的客户端可能需要在选择节点时考虑流量策略。

可能枚举值: - "Cluster" - "Cluster" 将流量路由到所有端点。- "Local" - "Local" 通过只路由到与接收流量的同一节点上的端点来保留流量的源 IP (如果没有本地端点,则过滤流量)。

healthCheckNodePort

整数

HealthCheckNodePort 指定服务的健康检查 nodePort。这只有在 type 设置为 LoadBalancer 时适用,并将 externalTrafficPolicy 设置为 Local。如果指定了值,则代表范围为 in-range,且不使用,则会使用它。如果没有指定,则会自动分配一个值。外部系统(如负载均衡器)可以使用此端口来确定给定节点是否包含此服务的端点。如果在创建不需要的服务时指定了此字段,则创建将失败。当更新一个服务不再需要时(例如,更改类型),此字段将会被擦除。设置后,无法更新此字段。

internalTrafficPolicy

string

internalTrafficPolicy 描述节点如何在 ClusterIP 上分发它们接收的服务流量。如果设置为 "Local",代理将假设 pod 只想与 pod 相同的节点上的服务端点进行通信,如果没有本地端点,则丢弃流量。默认值 "Cluster" 使用标准路由到所有端点的标准行为(可能由拓扑和其他功能修改)。

可能枚举值: - "Cluster" 将流量路由到所有端点。- "Local" 将流量仅路由到与客户端 pod 相同的节点上的端点(如果没有本地端点,则过滤流量)。

ipFamilies

数组(字符串)

ipFamilies 是分配给此服务的 IP 系列(如 IPv4、IPv6)的列表。此字段通常根据集群配置和 ipFamilyPolicy 字段自动分配。如果手动指定此字段,则请求中的系列位于集群中,而 ipFamilyPolicy 允许它,它将被使用;否则创建服务将失败。此字段有条件的可变:它允许添加或删除次要 IP 系列,但它不允许更改服务的主 IP 系列。有效值为 "IPv4" 和 "IPv6"。此字段只适用于 ClusterIP、NodePort 和 LoadBalancer 类型的 Services,并应用到"无头"服务。当更新一个 Service 以键入 ExternalName 时,此字段将被擦除。

此字段最多可保留两个条目(dual-stack 系列,按任一顺序排列)。如果指定,这些系列必须与 clusterIPs 字段的值对应。clusterIP 和 ipFamilies 都由 ipFamilyPolicy 字段管理。

ipFamilyPolicy

string

ipFamilyPolicy 代表这个服务请求的双栈性。如果没有提供值,则此字段将设置为 SingleStack。服务可以是"SingleStack" (一个 IP 系列)、"PreferDualStack" (双栈上配置集群的两个 IP 系列或单堆栈集群上的一个 IP 系列)或 "RequireDualStack" (双栈配置的集群中有两个 IP 系列),否则失败。ipFamilies 和 clusterIPs 字段取决于此字段的值。当更新服务以键入 ExternalName 时,此字段将被擦除。

可能枚举值: - "PreferDualStack" 表示当为双栈配置集群时,此服务首选双栈。如果没有为双栈配置集群,则会为该服务分配一个 IPFamily。如果在 service.spec.ipFamilies 中未设置 IPFamily,则会为该服务分配集群中配置的默认 IPFamily - "RequireDualStack" 表示该服务需要双栈。在单个堆栈集群中使用 IPFamilyPolicyRequireDualStack 将导致验证错误。分配给此服务的 IPFamilies (及其顺序)基于 service.spec.ipFamilies。如果没有提供 service.spec.ipFamilies,则它将根据集群上配置的方式进行分配。如果 service.spec.ipFamilies 只有一个条目,则替代的 IPFamily 将由 apiserver - "SingleStack" 添加,表示这个服务需要具有单个 IPFamily。分配的 IPFamily 基于集群使用的默认 IPFamily,或者由 service.spec.ipFamilies 字段标识

loadBalancerClass

字符串

loadBalancerClass 是此服务所属的负载均衡器实现的类。如果指定,此字段的值必须是标签样式的标识符,其是可选的前缀,如 "internal-vip" 或 "example.com/internal-vip"。Unprefixed name 为最终用户保留。只有 Service type 为 'LoadBalancer' 时,才能设置此字段。如果没有设置,则使用默认的负载均衡器实现,现在这通常通过云提供商集成完成,但应适用于任何默认实现。如果设置,则假定负载均衡器的实现正在监视具有匹配类的服务。任何默认的负载均衡器实现(如云供应商)都应忽略设置此字段的服务。此字段只能在创建或更新 Service 以类型 'LoadBalancer' 时设置。设置之后,它就无法更改。当服务已更新至非"LoadBalancer"类型时,此字段将被擦除。

loadBalancerIP

string

只适用于 Service Type: LoadBalancer。此功能取决于底层的 cloud-provider 是否支持在创建负载均衡器时指定 loadBalancerIP。如果 cloud-provider 不支持该功能,则此字段将被忽略。deprecated :此字段已被指定,其含义因实现而异,它不能支持双栈。从 Kubernetes v1.24 开始,建议用户在可用时使用特定于实现的注解。此字段可能在以后的 API 版本中删除。

loadBalancerSourceRanges

数组(字符串)

如果平台指定和支持,这将限制通过 cloud-provider 负载平衡器的流量将限制为指定的客户端 IP。如果 cloud-provider 不支持该功能,则此字段将被忽略"。更多信息: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/

ports

array

此服务公开的端口列表。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

ports[]

对象

ServicePort 包含有关服务端口的信息。

publishNotReadyAddresses

布尔值

publishNotReadyAddresses 表示任何处理此服务端点的代理都应忽略任何 ready/not-ready 的代表。设置此字段的主要用例是 StatefulSet 的无头服务为其 Pod 传播 SRV DNS 记录,以满足对等发现的目的。为服务生成 Endpoints 和 EndpointSlice 资源的 Kubernetes 控制器会解释这一点,这意味着即使 Pod 本身没有,所有端点也被视为"就绪"。只有通过 Endpoints 或 EndpointSlice 资源使用 Kubernetes 生成的端点的代理可以安全地假设此行为。

selector

对象(字符串)

将服务流量路由到具有与此选择器匹配的标签键和值的 pod。如果为空或不存在,则假定服务具有管理其端点的外部进程,Kubernetes 将不修改。只适用于 ClusterIP、NodePort 和 LoadBalancer 类型。如果 type 是 ExternalName,则忽略。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/

sessionAffinity

字符串

支持 "ClientIP" 和 "None"。用于维护会话关联。启用基于客户端 IP 的会话关联性。必须是 ClientIP 或 None。默认值为 None。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

可能枚举值: - "ClientIP" 是基于客户端 IP。- "None" - 无会话关联。

sessionAffinityConfig

对象

sessionAffinityConfig 代表会话关联性的配置。

type

字符串

Type 决定服务是如何公开的。默认为 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

可能枚举值: - "ClusterIP" 意味着一个服务只能在集群中访问,通过集群 IP 访问。- "ExternalName" 表示服务只包括对 kubedns 或 equivalent 作为外部名称的引用,且无公开或代理任何涉及的 pod。- "LoadBalancer" 表示服务将通过外部负载均衡器(如果云提供商支持)公开。 除了 'NodePort' 类型外,- "NodePort" 意味着除了 'ClusterIP' 类型外,还会在每个节点的一个端口上公开服务。

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
属性类型描述

appProtocol

字符串

此端口的应用程序协议。此字段遵循标准 Kubernetes 标签语法。未命名的名称用于 IANA 标准服务名称(根据 RFC-6335 和 https://www.iana.org/assignments/service-names)。非标准协议应使用前缀名称,如 mycompany.com/my-custom-protocol。

name

字符串

该服务中的此端口的名称。这必须是 DNS_LABEL。ServiceSpec 中的所有端口必须具有唯一的名称。在考虑服务的端点时,这必须与 EndpointPort 中的 'name' 字段匹配。如果此服务上只定义一个 ServicePort,则可选。

nodePort

整数

在类型 NodePort 或 LoadBalancer 时公开此服务的每个节点上的端口。通常由系统分配。如果指定了值( in-range),并且不使用它,则将使用它,否则操作将失败。如果没有指定,如果这个服务需要端口,则会分配一个端口。如果在创建不需要的服务时指定了此字段,则创建将失败。当更新服务不再需要时,此字段将擦除(例如,将类型从 NodePort 更改为 ClusterIP)。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport

port

整数

此服务公开的端口。

protocol

字符串

此端口的 IP 协议。支持"TCP"、"UDP"和"SCTP"。默认为 TCP。

可能的值有: - "SCTP" 是 SCTP 协议。- "TCP" 是 TCP 协议。- "UDP" 是 UDP 协议。

targetPort

IntOrString

服务目标 pod 上要访问的端口的数量或名称。数字必须在 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
属性类型描述

clientIP

对象

ClientIPConfig 代表基于客户端 IP 的会话关联性的配置。

14.17.1.5. .spec.sessionAffinityConfig.clientIP

描述
ClientIPConfig 代表基于客户端 IP 的会话关联性的配置。
类型
object
属性类型描述

timeoutSeconds

整数

timeoutSeconds 指定 ClientIP 类型会话粘性时间的秒数。如果 ServiceAffinity == "ClientIP",则该值必须是 >0 && mvapich86400 (for 1 day)。默认值为 10800 (3 小时)。

14.17.1.6. .status

描述
ServiceStatus 代表服务的当前状态。
类型
object
属性类型描述

conditions

数组(Condition)

当前服务状态

loadBalancer

对象

LoadBalancerStatus 代表负载均衡器的状态。

14.17.1.7. .status.loadBalancer

描述
LoadBalancerStatus 代表负载均衡器的状态。
类型
object
属性类型描述

ingress

array

Ingress 是一个包含负载均衡器入口点的列表。适合服务的流量应发送到这些入口点。

ingress[]

对象

LoadBalancerIngress 代表负载均衡器入口点的状态:用于服务的流量应发送到入口点。

14.17.1.8. .status.loadBalancer.ingress

描述
Ingress 是一个包含负载均衡器入口点的列表。适合服务的流量应发送到这些入口点。
类型
array

14.17.1.9. .status.loadBalancer.ingress[]

描述
LoadBalancerIngress 代表负载均衡器入口点的状态:用于服务的流量应发送到入口点。
类型
object
属性类型描述

hostname

字符串

为基于 DNS 的负载均衡器入口点设置主机名(通常是 AWS 负载均衡器)

ip

字符串

为基于 IP 的负载均衡器入口点设置 IP (通常是 GCE 或 OpenStack 负载均衡器)

ports

array

port 是服务端口的记录列表(如果使用),服务中定义的每个端口都应该有一个条目

ports[]

对象

 

14.17.1.10. .status.loadBalancer.ingress[].ports

描述
port 是服务端口的记录列表(如果使用),服务中定义的每个端口都应该有一个条目
类型
array

14.17.1.11. .status.loadBalancer.ingress[].ports[]

描述
类型
object
必填
  • port
  • protocol
属性类型描述

错误

字符串

错误是记录服务端口的问题。错误的格式应遵循以下规则: - 在此文件中指定内置错误值,它们应使用 CamelCase 名称 - 云供应商特定错误值必须符合 foo.example.com/CamelCase 格式的名称。

port

整数

port 是记录状态的服务端口的端口号

protocol

字符串

protocol 是记录状态的服务端口的协议,这里支持的值有:"TCP", "UDP", "SCTP"

可能的值有: - "SCTP" 是 SCTP 协议。- "TCP" 是 TCP 协议。- "UDP" 是 UDP 协议。

14.17.2. API 端点

可用的 API 端点如下:

  • /api/v1/services

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

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

    • DELETE :删除服务集合
    • GET: 列出或监视类型为 Service 的对象
    • POST :创建服务
  • /api/v1/watch/namespaces/{namespace}/services

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

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

    • GET: 观察对类型为 Service 的对象的更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤到带有 'fieldSelector' 参数的单个项目。
  • /api/v1/namespaces/{namespace}/services/{name}/status

    • GET: 指定服务的读取状态
    • PATCH :部分更新指定服务的状态
    • PUT :替换指定服务的状态

14.17.2.1. /api/v1/services

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

allowWatchBookmarks

布尔值

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

继续

字符串

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

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

fieldSelector

字符串

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

labelSelector

字符串

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

limit

整数

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

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

pretty

字符串

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

resourceVersion

字符串

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

默认为未设置

resourceVersionMatch

字符串

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

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,监视流将以 synthetic 事件开头,以生成集合中对象的当前状态。发送完所有此类事件后,将发送一个合成"Bookmark"事件。书签将报告与一组对象对应的 ResourceVersion (RV),并标有 '"k8s.io/initial-events-end": "true"' 注解。之后,监视流会照常进行,将与更改对应的监控事件(subsequent to the RV)发送到被监视的对象。

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

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

timeoutSeconds

整数

list/watch 调用的超时。这限制了调用的持续时间,而不考虑任何活动或不活跃。

watch

布尔值

观察对上述资源的更改,并将其恢复为添加、更新和删除通知的流。指定 resourceVersion。

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

200 - OK

ServiceList 模式

401 - Unauthorized

14.17.2.2. /api/v1/watch/services

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

allowWatchBookmarks

布尔值

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

继续

字符串

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

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

fieldSelector

字符串

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

labelSelector

字符串

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

limit

整数

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

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

pretty

字符串

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

resourceVersion

字符串

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

默认为未设置

resourceVersionMatch

字符串

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

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,监视流将以 synthetic 事件开头,以生成集合中对象的当前状态。发送完所有此类事件后,将发送一个合成"Bookmark"事件。书签将报告与一组对象对应的 ResourceVersion (RV),并标有 '"k8s.io/initial-events-end": "true"' 注解。之后,监视流会照常进行,将与更改对应的监控事件(subsequent to the RV)发送到被监视的对象。

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

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

timeoutSeconds

整数

list/watch 调用的超时。这限制了调用的持续时间,而不考虑任何活动或不活跃。

watch

布尔值

观察对上述资源的更改,并将其恢复为添加、更新和删除通知的流。指定 resourceVersion。

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

200 - OK

WatchEvent 模式

401 - Unauthorized

14.17.2.3. /api/v1/namespaces/{namespace}/services

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

namespace

字符串

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

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

pretty

字符串

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

HTTP 方法
DELETE
描述
删除服务集合
表 14.494. 查询参数
参数类型描述

继续

字符串

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

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

dryRun

字符串

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

fieldSelector

字符串

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

gracePeriodSeconds

整数

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

labelSelector

字符串

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

limit

整数

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

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

orphanDependents

布尔值

deprecated :请使用 PropagationPolicy,此字段将在 1.7 中弃用。依赖的对象应该被孤立。如果为 true/false,则"orphan"终结器将从对象的终结器列表添加到/删除。可以设置此字段或 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 的列表调用设置 resourceVersionMatch,详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,监视流将以 synthetic 事件开头,以生成集合中对象的当前状态。发送完所有此类事件后,将发送一个合成"Bookmark"事件。书签将报告与一组对象对应的 ResourceVersion (RV),并标有 '"k8s.io/initial-events-end": "true"' 注解。之后,监视流会照常进行,将与更改对应的监控事件(subsequent to the RV)发送到被监视的对象。

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

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

timeoutSeconds

整数

list/watch 调用的超时。这限制了调用的持续时间,而不考虑任何活动或不活跃。

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

正文(body)

DeleteOptions 模式

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

200 - OK

Status 模式

401 - Unauthorized

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

allowWatchBookmarks

布尔值

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

继续

字符串

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

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

fieldSelector

字符串

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

labelSelector

字符串

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

limit

整数

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

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

resourceVersion

字符串

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

默认为未设置

resourceVersionMatch

字符串

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

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,监视流将以 synthetic 事件开头,以生成集合中对象的当前状态。发送完所有此类事件后,将发送一个合成"Bookmark"事件。书签将报告与一组对象对应的 ResourceVersion (RV),并标有 '"k8s.io/initial-events-end": "true"' 注解。之后,监视流会照常进行,将与更改对应的监控事件(subsequent to the RV)发送到被监视的对象。

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

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

timeoutSeconds

整数

list/watch 调用的超时。这限制了调用的持续时间,而不考虑任何活动或不活跃。

watch

布尔值

观察对上述资源的更改,并将其恢复为添加、更新和删除通知的流。指定 resourceVersion。

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

200 - OK

ServiceList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建服务
表 14.499. 查询参数
参数类型描述

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.500. 主体参数
参数类型描述

正文(body)

Service 模式

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

200 - OK

Service 模式

201 - Created

Service 模式

202 - Accepted

Service 模式

401 - Unauthorized

14.17.2.4. /api/v1/watch/namespaces/{namespace}/services

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

namespace

字符串

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

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

allowWatchBookmarks

布尔值

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

继续

字符串

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

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

fieldSelector

字符串

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

labelSelector

字符串

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

limit

整数

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

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

pretty

字符串

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

resourceVersion

字符串

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

默认为未设置

resourceVersionMatch

字符串

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

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,监视流将以 synthetic 事件开头,以生成集合中对象的当前状态。发送完所有此类事件后,将发送一个合成"Bookmark"事件。书签将报告与一组对象对应的 ResourceVersion (RV),并标有 '"k8s.io/initial-events-end": "true"' 注解。之后,监视流会照常进行,将与更改对应的监控事件(subsequent to the RV)发送到被监视的对象。

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

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

timeoutSeconds

整数

list/watch 调用的超时。这限制了调用的持续时间,而不考虑任何活动或不活跃。

watch

布尔值

观察对上述资源的更改,并将其恢复为添加、更新和删除通知的流。指定 resourceVersion。

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

200 - OK

WatchEvent 模式

401 - Unauthorized

14.17.2.5. /api/v1/namespaces/{namespace}/services/{name}

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

name

字符串

服务的名称

namespace

字符串

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

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

pretty

字符串

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

HTTP 方法
DELETE
描述
删除服务
表 14.507. 查询参数
参数类型描述

dryRun

字符串

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

gracePeriodSeconds

整数

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

orphanDependents

布尔值

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

propagationPolicy

字符串

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

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

正文(body)

DeleteOptions 模式

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

200 - OK

Service 模式

202 - Accepted

Service 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的服务
表 14.510. HTTP 响应
HTTP 代码响应正文

200 - OK

Service 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的服务
表 14.511. 查询参数
参数类型描述

dryRun

字符串

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

fieldManager

字符串

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

fieldValidation

string

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

force

布尔值

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

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

正文(body)

Patch 模式

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

200 - OK

Service 模式

201 - Created

Service 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的 Service
表 14.514. 查询参数
参数类型描述

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.515. 主体参数
参数类型描述

正文(body)

Service 模式

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

200 - OK

Service 模式

201 - Created

Service 模式

401 - Unauthorized

14.17.2.6. /api/v1/watch/namespaces/{namespace}/services/{name}

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

name

字符串

服务的名称

namespace

字符串

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

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

allowWatchBookmarks

布尔值

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

继续

字符串

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

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

fieldSelector

字符串

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

labelSelector

字符串

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

limit

整数

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

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

pretty

字符串

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

resourceVersion

字符串

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

默认为未设置

resourceVersionMatch

字符串

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

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,监视流将以 synthetic 事件开头,以生成集合中对象的当前状态。发送完所有此类事件后,将发送一个合成"Bookmark"事件。书签将报告与一组对象对应的 ResourceVersion (RV),并标有 '"k8s.io/initial-events-end": "true"' 注解。之后,监视流会照常进行,将与更改对应的监控事件(subsequent to the RV)发送到被监视的对象。

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

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

timeoutSeconds

整数

list/watch 调用的超时。这限制了调用的持续时间,而不考虑任何活动或不活跃。

watch

布尔值

观察对上述资源的更改,并将其恢复为添加、更新和删除通知的流。指定 resourceVersion。

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

200 - OK

WatchEvent 模式

401 - Unauthorized

14.17.2.7. /api/v1/namespaces/{namespace}/services/{name}/status

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

name

字符串

服务的名称

namespace

字符串

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

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

pretty

字符串

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

HTTP 方法
GET
描述
指定服务的读取状态
表 14.522. HTTP 响应
HTTP 代码响应正文

200 - OK

Service 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
指定服务的部分更新状态
表 14.523. 查询参数
参数类型描述

dryRun

字符串

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

fieldManager

字符串

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

fieldValidation

string

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

force

布尔值

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

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

正文(body)

Patch 模式

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

200 - OK

Service 模式

201 - Created

Service 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定服务的状态
表 14.526. 查询参数
参数类型描述

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.527. 主体参数
参数类型描述

正文(body)

Service 模式

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

200 - OK

Service 模式

201 - Created

Service 模式

401 - Unauthorized

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.