服务是对软件服务的命名抽象(例如,mysql),它由代理监听的本地端口(例如 3306)和确定哪些 Pod 将响应通过代理发送的请求的选择器组成。
属性 | 类型 | 描述 |
---|---|---|
|
|
APIVersion 定义了此对象表示的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。无法更新。使用驼峰命名法。更多信息: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 表示服务的当前状态。 |
ServiceSpec 描述了用户在服务上创建的属性。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
allocateLoadBalancerNodePorts 定义是否将为类型为 LoadBalancer 的服务自动分配 NodePorts。默认为“true”。如果集群负载均衡器不依赖于 NodePorts,则可以将其设置为“false”。如果调用者请求特定的 NodePorts(通过指定值),则无论此字段如何,这些请求都将被尊重。此字段可能仅设置用于类型为 LoadBalancer 的服务,如果类型更改为任何其他类型,则将清除此字段。 |
|
|
clusterIP 是服务的 IP 地址,通常随机分配。如果手动指定地址,且该地址在范围内(根据系统配置),并且未被使用,则该地址将被分配给该服务;否则,服务的创建将失败。除非 type 字段也更改为 ExternalName(这需要此字段为空)或 type 字段从 ExternalName 更改(在这种情况下,可以根据上述描述选择性地指定此字段),否则无法通过更新更改此字段。有效值为“None”、空字符串 (“”) 或有效的 IP 地址。将其设置为“None”将创建一个“headless 服务”(无虚拟 IP),这在首选直接端点连接且不需要代理时非常有用。仅适用于 ClusterIP、NodePort 和 LoadBalancer 类型。如果在创建类型为 ExternalName 的服务时指定此字段,则创建将失败。将服务更新为 ExternalName 类型时,此字段将被清除。更多信息:https://kubernetes.ac.cn/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies |
|
|
ClusterIPs 是分配给此服务的 IP 地址列表,通常随机分配。如果手动指定地址,且该地址在范围内(根据系统配置),并且未被使用,则该地址将被分配给该服务;否则,服务的创建将失败。除非 type 字段也更改为 ExternalName(这需要此字段为空)或 type 字段从 ExternalName 更改(在这种情况下,可以根据上述描述选择性地指定此字段),否则无法通过更新更改此字段。有效值为“None”、空字符串 (“”) 或有效的 IP 地址。将其设置为“None”将创建一个“headless 服务”(无虚拟 IP),这在首选直接端点连接且不需要代理时非常有用。仅适用于 ClusterIP、NodePort 和 LoadBalancer 类型。如果在创建类型为 ExternalName 的服务时指定此字段,则创建将失败。将服务更新为 ExternalName 类型时,此字段将被清除。如果未指定此字段,它将从 clusterIP 字段初始化。如果指定此字段,客户端必须确保 clusterIPs[0] 和 clusterIP 值相同。 此字段最多可以包含两个条目(双栈 IP,顺序任意)。这些 IP 必须与 ipFamilies 字段的值相对应。clusterIPs 和 ipFamilies 都受 ipFamilyPolicy 字段控制。更多信息:https://kubernetes.ac.cn/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 描述节点如何分发它们在服务的“面向外部”地址(NodePorts、ExternalIPs 和 LoadBalancer IP)之一接收的服务流量。如果设置为“Local”,代理将以假定外部负载均衡器将负责在节点之间平衡服务流量的方式配置服务,因此每个节点仅将流量传递到服务的节点本地端点,而不会伪装客户端源 IP。(错误地发送到没有端点的节点的流量将被丢弃。)默认值“Cluster”使用标准行为,即均匀地路由到所有端点(可能由拓扑和其他功能修改)。请注意,从集群内部发送到外部 IP 或 LoadBalancer IP 的流量将始终获得“Cluster”语义,但从集群内部发送到 NodePort 的客户端可能需要在选择节点时考虑流量策略。 可能的枚举值:- |
|
|
healthCheckNodePort 指定服务的健康检查 nodePort。这仅在 type 设置为 LoadBalancer 且 externalTrafficPolicy 设置为 Local 时适用。如果指定了值,且该值在范围内且未被使用,则将使用该值。如果未指定,则将自动分配一个值。外部系统(例如负载均衡器)可以使用此端口来确定给定节点是否持有此服务的端点。如果在创建不需要此字段的服务时指定此字段,则创建将失败。将服务更新为不再需要此字段(例如更改 type)时,此字段将被清除。此字段一旦设置就不能更新。 |
|
|
InternalTrafficPolicy 描述节点如何分发它们在 ClusterIP 上接收的服务流量。如果设置为“Local”,代理将假定 pod 仅希望与服务在与 pod 相同节点上的端点进行通信,如果没有任何本地端点,则丢弃流量。默认值“Cluster”使用标准行为,即均匀地路由到所有端点(可能由拓扑和其他功能修改)。 可能的枚举值:- |
|
|
IPFamilies 是分配给此服务的 IP 族(例如 IPv4、IPv6)列表。此字段通常根据集群配置和 ipFamilyPolicy 字段自动分配。如果手动指定此字段,并且集群中可用请求的族,且 ipFamilyPolicy 允许它,则将使用它;否则,服务的创建将失败。此字段是条件可变的:它允许添加或删除辅助 IP 族,但不允许更改服务的 primary IP 族。有效值为“IPv4”和“IPv6”。此字段仅适用于 ClusterIP、NodePort 和 LoadBalancer 类型的服务,并适用于“headless”服务。将服务更新为 ExternalName 类型时,此字段将被清除。 此字段最多可以包含两个条目(双栈族,顺序任意)。如果指定了这些族,则这些族必须与 clusterIPs 字段的值相对应。clusterIPs 和 ipFamilies 都受 ipFamilyPolicy 字段控制。 |
|
|
IPFamilyPolicy 表示此服务请求或需要的双栈性。如果没有提供值,则此字段将设置为 SingleStack。服务可以是“SingleStack”(单个 IP 族)、“PreferDualStack”(在双栈配置的集群上使用两个 IP 族,或在单栈集群上使用单个 IP 族)或“RequireDualStack”(在双栈配置的集群上使用两个 IP 族,否则失败)。ipFamilies 和 clusterIPs 字段取决于此字段的值。将服务更新为 ExternalName 类型时,此字段将被清除。 可能的枚举值:- |
|
|
loadBalancerClass 是此服务所属的负载均衡器实现的类。如果指定,此字段的值必须是标签样式标识符,带可选前缀,例如“internal-vip”或“example.com/internal-vip”。无前缀名称保留供最终用户使用。只有在服务类型为“LoadBalancer”时才能设置此字段。如果未设置,则使用默认负载均衡器实现,目前这通常通过云提供商集成完成,但应适用于任何默认实现。如果设置了此字段,则假定负载均衡器实现正在监视具有匹配类的服务。任何默认负载均衡器实现(例如云提供商)都应忽略设置此字段的服务。只有在创建或更新服务类型为“LoadBalancer”时才能设置此字段。设置后,无法更改。当服务更新为非“LoadBalancer”类型时,此字段将被清除。 |
|
|
仅适用于服务类型:LoadBalancer。此功能取决于底层云提供商是否支持在创建负载均衡器时指定 loadBalancerIP。如果云提供商不支持此功能,则将忽略此字段。已弃用:此字段未充分指定,其含义在不同实现中有所不同。使用它不可移植,并且可能不支持双栈。鼓励用户在可用时使用特定于实现的注释。 |
|
|
如果指定并受平台支持,则这将限制通过云提供商负载均衡器的流量,并将限制为指定的客户端 IP。如果云提供商不支持此功能,则将忽略此字段。“更多信息:https://kubernetes.ac.cn/docs/tasks/access-application-cluster/create-external-load-balancer/ |
|
|
此服务公开的端口列表。更多信息:https://kubernetes.ac.cn/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies |
|
|
ServicePort 包含有关服务端口的信息。 |
|
|
publishNotReadyAddresses 指示任何处理此服务端点的代理都应忽略任何就绪/未就绪的指示。设置此字段的主要用例是对于 StatefulSet 的无头服务,是为了传播其 Pod 的 SRV DNS 记录以进行对等发现。为服务生成端点和 EndpointSlice 资源的 Kubernetes 控制器将其解释为意味着所有端点都被认为是“就绪的”,即使 Pod 本身未就绪也是如此。仅通过 Endpoints 或 EndpointSlice 资源使用 Kubernetes 生成的端点的代理可以安全地假设此行为。 |
|
|
将服务流量路由到其标签键值与该选择器匹配的 Pod。如果为空或不存在,则假定服务具有管理其端点的外部进程,Kubernetes 不会修改它。仅适用于 ClusterIP、NodePort 和 LoadBalancer 类型。如果类型为 ExternalName,则忽略。更多信息:https://kubernetes.ac.cn/docs/concepts/services-networking/service/ |
|
|
支持“ClientIP”和“None”。用于维护会话关联。启用基于客户端 IP 的会话关联。必须为 ClientIP 或 None。默认为 None。更多信息:https://kubernetes.ac.cn/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies 可能的枚举值:- |
|
|
SessionAffinityConfig 表示会话关联的配置。 |
|
|
TrafficDistribution 提供了一种表达对如何将流量分发到服务端点的偏好的方法。实现可以使用此字段作为提示,但不保证严格遵守。如果未设置此字段,则实现将应用其默认路由策略。如果设置为“PreferClose”,则实现应优先考虑拓扑上接近的端点(例如,同一区域)。这是一个 alpha 字段,需要启用 ServiceTrafficDistribution 功能。 |
|
|
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.ac.cn/docs/concepts/services-networking/service/#publishing-services-service-types 可能的枚举值:- |
ServicePort 包含有关服务端口的信息。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
此端口的应用程序协议。这用作实现提示,以便为其理解的协议提供更丰富的行为。此字段遵循标准 Kubernetes 标签语法。有效值为: * 未加前缀的协议名称 - 保留用于 IANA 标准服务名称(根据 RFC-6335 和 https://www.iana.org/assignments/service-names)。 * Kubernetes 定义的前缀名称:* 'kubernetes.io/h2c' - 通过明文进行的 HTTP/2 预先了解,如 https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior- 中所述 * 'kubernetes.io/ws' - 通过明文的 WebSocket,如 https://www.rfc-editor.org/rfc/rfc6455 中所述 * 'kubernetes.io/wss' - 通过 TLS 的 WebSocket,如 https://www.rfc-editor.org/rfc/rfc6455 中所述 * 其他协议应使用实现定义的前缀名称,例如 mycompany.com/my-custom-protocol。 |
|
|
此服务内此端口的名称。这必须是 DNS_LABEL。ServiceSpec 中的所有端口必须具有唯一的名称。在考虑服务的端点时,这必须与 EndpointPort 中的“名称”字段匹配。如果此服务上仅定义了一个 ServicePort,则为可选。 |
|
|
当类型为 NodePort 或 LoadBalancer 时,在此服务公开的每个节点上的端口。通常由系统分配。如果指定了值,并且在范围内且未使用,则将使用该值,否则操作将失败。如果未指定,则如果此服务需要端口,则将分配一个端口。如果在创建不需要它的服务时指定了此字段,则创建将失败。在将服务更新为不再需要它时(例如,将类型从 NodePort 更改为 ClusterIP),此字段将被清除。更多信息:https://kubernetes.ac.cn/docs/concepts/services-networking/service/#type-nodeport |
|
|
此服务将公开的端口。 |
|
|
此端口的 IP 协议。支持“TCP”、“UDP”和“SCTP”。默认为 TCP。 可能的枚举值:- |
|
访问服务目标 Pod 上的端口的数字或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。如果这是一个字符串,它将作为目标 Pod 的容器端口中的命名端口查找。如果未指定此项,则使用“端口”字段的值(标识映射)。此字段对于 clusterIP=None 的服务被忽略,应省略或设置为等于“端口”字段。更多信息:https://kubernetes.ac.cn/docs/concepts/services-networking/service/#defining-a-service |
SessionAffinityConfig 表示会话关联的配置。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
ClientIPConfig 表示基于客户端 IP 的会话关联的配置。 |
ClientIPConfig 表示基于客户端 IP 的会话关联的配置。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
timeoutSeconds 指定 ClientIP 类型会话粘性时间的秒数。如果 ServiceAffinity == "ClientIP",则该值必须 >0 && <=86400(持续 1 天)。默认值为 10800(持续 3 小时)。 |
ServiceStatus 表示服务的当前状态。
对象
属性 | 类型 | 描述 |
---|---|---|
|
当前服务状态 |
|
|
|
LoadBalancerStatus 表示负载均衡器的状态。 |
LoadBalancerStatus 表示负载均衡器的状态。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Ingress 是一个包含负载均衡器入口点的列表。打算用于服务的流量应发送到这些入口点。 |
|
|
LoadBalancerIngress 表示负载均衡器入口点的状态:打算用于服务的流量应发送到入口点。 |
LoadBalancerIngress 表示负载均衡器入口点的状态:打算用于服务的流量应发送到入口点。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
对于基于 DNS 的负载均衡器入口点(通常是 AWS 负载均衡器),会设置 Hostname |
|
|
对于基于 IP 的负载均衡器入口点(通常是 GCE 或 OpenStack 负载均衡器),会设置 IP |
|
|
IPMode 指定负载均衡器 IP 的行为方式,并且只有在指定 ip 字段时才能指定。将其设置为“VIP”表示流量将传递到目标设置为负载均衡器 IP 和端口的节点。将其设置为“Proxy”表示流量将传递到目标设置为节点 IP 和节点端口或 Pod IP 和端口的节点或 Pod。服务实现可以使用此信息来调整流量路由。 |
|
|
Ports 是服务端口记录的列表。如果使用,则服务中定义的每个端口都应在其中有一个条目。 |
|
|
对象
port
协议
属性 | 类型 | 描述 |
---|---|---|
|
|
Error 用于记录服务端口的问题。错误的格式应符合以下规则:- 内置错误值应在此文件中指定,并且应使用驼峰命名法 - 云提供商特定的错误值必须具有符合 foo.example.com/CamelCase 格式的名称。 |
|
|
Port 是此处记录其状态的服务端口的端口号。 |
|
|
Protocol 是此处记录其状态的服务端口的协议。支持的值为:“TCP”、“UDP”、“SCTP”。 可能的枚举值:- |
提供以下 API 端点
/api/v1/services
GET
:列出或监视 Service 类型对象
/api/v1/watch/services
GET
:监视对 Service 列表的单个更改。已弃用:改为使用列表操作的“watch”参数。
/api/v1/namespaces/{namespace}/services
DELETE
:删除 Service 集合
GET
:列出或监视 Service 类型对象
POST
:创建一个 Service
/api/v1/watch/namespaces/{namespace}/services
GET
:监视对 Service 列表的单个更改。已弃用:改为使用列表操作的“watch”参数。
/api/v1/namespaces/{namespace}/services/{name}
DELETE
:删除一个 Service
GET
:读取指定的 Service
PATCH
:部分更新指定的 Service
PUT
:替换指定的 Service
/api/v1/watch/namespaces/{namespace}/services/{name}
GET
:监视 Service 类型对象的更改。已弃用:改为使用列表操作的“watch”参数,并使用“fieldSelector”参数将其过滤为单个项目。
/api/v1/namespaces/{namespace}/services/{name}/status
GET
:读取指定 Service 的状态
PATCH
:部分更新指定 Service 的状态
PUT
:替换指定 Service 的状态
GET
列出或监视 Service 类型对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
监视对 Service 列表的单个更改。已弃用:改为使用列表操作的“watch”参数。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
DELETE
删除 Service 集合
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
列出或监视 Service 类型对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
POST
创建一个 Service
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:这将忽略任何未知字段,这些字段将从对象中静默删除,并且将忽略解码器遇到的所有重复字段,只保留最后一个。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,这将导致请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - 已创建 |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
监视对 Service 列表的单个更改。已弃用:改为使用列表操作的“watch”参数。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
Service 的名称 |
DELETE
删除一个 Service
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
读取指定的 Service
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 Service
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:这将忽略任何未知字段,这些字段将从对象中静默删除,并且将忽略解码器遇到的所有重复字段,只保留最后一个。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,这将导致请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
PUT
替换指定的 Service
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:这将忽略任何未知字段,这些字段将从对象中静默删除,并且将忽略解码器遇到的所有重复字段,只保留最后一个。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,这将导致请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
Service 的名称 |
GET
监视 Service 对象的更改。已弃用:请改用列表操作中的“watch”参数,并使用“fieldSelector”参数将其过滤为单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
Service 的名称 |
GET
读取指定 Service 的状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定 Service 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:这将忽略任何未知字段,这些字段将从对象中静默删除,并且将忽略解码器遇到的所有重复字段,只保留最后一个。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,这将导致请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
PUT
替换指定 Service 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:这将忽略任何未知字段,这些字段将从对象中静默删除,并且将忽略解码器遇到的所有重复字段,只保留最后一个。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,这将导致请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |