15.16. Service [v1]


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

15.16.1. 规格

Expand
属性类型描述

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 代表服务的当前状态。

15.16.1.1. .spec

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

allocateLoadBalancerNodePorts

布尔值

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

clusterIP

字符串

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

clusterIPs

数组(字符串)

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

除非启用了 "IPv6DualStack" 功能门,否则此字段限制为一个值,它必须与 clusterIP 字段相同。如果启用了功能门,该字段可以最多保存两个条目(按以下顺序排列堆栈 IP)。这些 IP 必须与 ipFamilies 字段的值对应。clusterIPs 和 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 hostname (https://tools.ietf.org/html/rfc1123),且需要 type 为 "ExternalName"。

externalTrafficPolicy

字符串

externalTrafficPolicy 表示该服务是否希望将外部流量路由到节点本地或集群范围端点。"local"保留客户端源 IP,并避免对 LoadBalancer 和 Nodeport 类型服务的第二个跃点,但可能会破坏分散的流量。"Cluster" 隐藏客户端源 IP,并可能导致第二个跃点到另一节点,但应该具有良好整体负载。

healthCheckNodePort

整数

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

internalTrafficPolicy

字符串

internalTrafficPolicy 指定集群内部流量是否应路由到所有端点或节点本地端点。"cluster"将内部流量路由到服务到所有端点。"local"仅将流量路由到节点本地端点,如果没有节点本地端点就绪,流量将被丢弃。默认值为 "Cluster"。

ipFamilies

数组(字符串)

ipFamilies 是分配给此服务的 IP 系列(如 IPv4、IPv6)的列表,由 "IPv6DualStack" 功能门授权。此字段通常根据集群配置和 ipFamilyPolicy 字段自动分配。如果手动指定此字段,则集群中提供了请求的系列,ipFamilyPolicy 允许它,否则将使用该服务;否则,服务创建将失败。此字段有条件性:它允许添加或删除二级 IP 系列,但它不允许更改服务的主 IP 系列。有效值为 "IPv4" 和 "IPv6"。此字段只适用于 ClusterIP、NodePort 和 LoadBalancer 类型的服务,并适用于"无头"服务。更新 Service 以类型 ExternalName 时,此字段将被擦除。

此字段最多可保存两个条目(通常的系列,按以下顺序排列)。如果指定,这些系列必须与 clusterIPs 字段的值对应。clusterIPs 和 ipFamilies 均由 ipFamilyPolicy 字段进行管理。

ipFamilyPolicy

字符串

ipFamilyPolicy 代表此 Service 请求或所需的双栈,由 "IPv6DualStack" 功能门指定。如果没有提供值,则此字段将设置为 SingleStack。服务可以是"SingleStack" (单个 IP 系列)、"PreferDualStack" (双栈配置集群中的两个 IP 系列,或在单堆栈集群中的单个 IP 系列)或"RequireDualStack" (双堆栈配置的集群,否则失败)。ipFamilies 和 clusterIPs 字段取决于此字段的值。更新服务以类型 ExternalName 时,此字段将被擦除。

loadBalancerClass

字符串

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

loadBalancerIP

字符串

只适用于 Service Type: LoadBalancer LoadBalancer 将使用此字段中指定的 IP 创建。此功能取决于底层 cloud-provider 在创建负载均衡器时是否支持指定 loadBalancerIP。如果 cloud-provider 不支持该功能,则此字段将被忽略。

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

selector

对象(字符串)

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

sessionAffinity

字符串

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

sessionAffinityConfig

对象

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

type

字符串

Type 决定服务是如何公开的。默认为 ClusterIP。有效选项包括 ExternalName、ClusterCluster、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

15.16.1.2. .spec.ports

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

15.16.1.3. .spec.ports[]

描述
servicePort 包含服务端口的信息。
类型
对象
必填
  • port
Expand
属性类型描述

appProtocol

字符串

此端口的应用程序协议。此字段遵循标准 Kubernetes 标签语法。未前缀的名称是为 IANA 标准服务名称保留的(与 RFC-6335 和 http://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。

targetPort

IntOrString

服务目标的 pod 上访问的端口的数量或名称。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。如果这是字符串,它会在目标 Pod 的容器端口上作为命名的端口查找。如果没有指定,则使用 'port' 字段的值(身份映射)。对于带有 clusterIP=None 的服务,此字段会被忽略,应忽略或设置为 'port' 字段。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service

15.16.1.4. .spec.sessionAffinityConfig

描述
sessionAffinityConfig 代表会话关联性的配置。
类型
对象
Expand
属性类型描述

clientIP

对象

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

15.16.1.5. .spec.sessionAffinityConfig.clientIP

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

timeoutSeconds

整数

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

15.16.1.6. .status

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

conditions

数组(条件)

当前服务状态

loadBalancer

对象

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

15.16.1.7. .status.loadBalancer

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

ingress

array

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

ingress[]

对象

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

15.16.1.8. .status.loadBalancer.ingress

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

15.16.1.9. .status.loadBalancer.ingress[]

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

hostname

字符串

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

ip

字符串

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

ports

array

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

ports[]

对象

 

15.16.1.10. .status.loadBalancer.ingress[].ports

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

15.16.1.11. .status.loadBalancer.ingress[].ports[]

描述
类型
对象
必填
  • port
  • protocol
Expand
属性类型描述

错误

字符串

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

port

整数

port 是此处记录的服务端口的端口号

protocol

字符串

protocol 是服务端口的协议,该状态记录在此处,支持的值有:"TCP", "UDP", "SCTP"

15.16.2. API 端点

可用的 API 端点如下:

  • /api/v1/services

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

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

    • 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 的对象的更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤到带有 'fieldSelector' 参数的单个项目。
  • /api/v1/namespaces/{namespace}/services/{name}/status

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

15.16.2.1. /api/v1/services

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

allowWatchBookmarks

布尔值

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

继续

字符串

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

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

fieldSelector

字符串

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

labelSelector

字符串

通过标签限制返回的对象列表的选择器。默认为任何内容。

limit

整数

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

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

pretty

字符串

如果 'true',则输出被用户友善。

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

默认为未设置

timeoutSeconds

整数

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

watch

布尔值

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

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

200 - OK

ServiceList 模式

401 - Unauthorized

15.16.2.2. /api/v1/watch/services

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

allowWatchBookmarks

布尔值

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

继续

字符串

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

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

fieldSelector

字符串

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

labelSelector

字符串

通过标签限制返回的对象列表的选择器。默认为任何内容。

limit

整数

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

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

pretty

字符串

如果 'true',则输出被用户友善。

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

默认为未设置

timeoutSeconds

整数

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

watch

布尔值

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

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

200 - OK

WatchEvent 模式

401 - Unauthorized

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

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

namespace

字符串

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

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

pretty

字符串

如果 'true',则输出被用户友善。

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

allowWatchBookmarks

布尔值

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

继续

字符串

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

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

fieldSelector

字符串

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

labelSelector

字符串

通过标签限制返回的对象列表的选择器。默认为任何内容。

limit

整数

限制是列表调用要返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的"continue"字段设置为可用于同一初始查询的值,以检索下一个结果集。在过滤所有请求的对象时,设置限制可能会返回比请求的项目数量少(最多为零项),客户端应只使用 continue 字段的存在来确定是否有更多结果可用。服务器可以选择不支持限制参数,并将返回所有可用的结果。如果指定了限制,并且 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

默认为未设置

timeoutSeconds

整数

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

watch

布尔值

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

Expand
表 15.415. HTTP 响应
HTTP 代码响应正文

200 - OK

ServiceList 模式

401 - Unauthorized

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

dryRun

字符串

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

fieldManager

字符串

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

Expand
表 15.417. 主体参数
参数类型描述

正文(body)

Service 模式

 
Expand
表 15.418. HTTP 响应
HTTP 代码响应正文

200 - OK

Service 模式

201 - Created

Service 模式

202 - Accepted

Service 模式

401 - Unauthorized

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

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

namespace

字符串

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

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

allowWatchBookmarks

布尔值

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

继续

字符串

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

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

fieldSelector

字符串

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

labelSelector

字符串

通过标签限制返回的对象列表的选择器。默认为任何内容。

limit

整数

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

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

pretty

字符串

如果 'true',则输出被用户友善。

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

默认为未设置

timeoutSeconds

整数

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

watch

布尔值

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

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

200 - OK

WatchEvent 模式

401 - Unauthorized

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

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

name

字符串

服务名称

namespace

字符串

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

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

pretty

字符串

如果 'true',则输出被用户友善。

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

dryRun

字符串

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

gracePeriodSeconds

整数

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

orphanDependents

布尔值

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

propagationPolicy

字符串

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

Expand
表 15.425. 主体参数
参数类型描述

正文(body)

DeleteOptions 模式

 
Expand
表 15.426. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

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

200 - OK

Service 模式

401 - Unauthorized

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

dryRun

字符串

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

fieldManager

字符串

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

force

布尔值

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

Expand
表 15.429. 主体参数
参数类型描述

正文(body)

Patch 模式

 
Expand
表 15.430. HTTP 响应
HTTP 代码响应正文

200 - OK

Service 模式

201 - Created

Service 模式

401 - Unauthorized

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

dryRun

字符串

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

fieldManager

字符串

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

Expand
表 15.432. 主体参数
参数类型描述

正文(body)

Service 模式

 
Expand
表 15.433. HTTP 响应
HTTP 代码响应正文

200 - OK

Service 模式

201 - Created

Service 模式

401 - Unauthorized

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

name

字符串

服务名称

namespace

字符串

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

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

allowWatchBookmarks

布尔值

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

继续

字符串

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

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

fieldSelector

字符串

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

labelSelector

字符串

通过标签限制返回的对象列表的选择器。默认为任何内容。

limit

整数

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

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

pretty

字符串

如果 'true',则输出被用户友善。

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

默认为未设置

timeoutSeconds

整数

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

watch

布尔值

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

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

200 - OK

WatchEvent 模式

401 - Unauthorized

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

name

字符串

服务名称

namespace

字符串

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

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

pretty

字符串

如果 'true',则输出被用户友善。

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

200 - OK

Service 模式

401 - Unauthorized

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

dryRun

字符串

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

fieldManager

字符串

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

force

布尔值

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

Expand
表 15.441. 主体参数
参数类型描述

正文(body)

Patch 模式

 
Expand
表 15.442. HTTP 响应
HTTP 代码响应正文

200 - OK

Service 模式

201 - Created

Service 模式

401 - Unauthorized

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

dryRun

字符串

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

fieldManager

字符串

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

Expand
表 15.444. 主体参数
参数类型描述

正文(body)

Service 模式

 
Expand
表 15.445. HTTP 响应
HTTP 代码响应正文

200 - OK

Service 模式

201 - Created

Service 模式

401 - Unauthorized

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat