网络 API


OpenShift Container Platform 4.17

网络 API 的参考指南

Red Hat OpenShift Documentation Team

摘要

本文档描述了 OpenShift Container Platform 网络 API 对象及其详细规格。

第 1 章 网络 API

1.1. AdminNetworkPolicy [policy.networking.k8s.io/v1alpha1]

描述
AdminNetworkPolicy 是一个集群级别资源,属于 AdminNetworkPolicy API。
类型
object

1.2. AdminPolicyBasedExternalRoute [k8s.ovn.org/v1]

描述
AdminPolicyBasedExternalRoute 是一个 CRD,集群管理员可以为外部网关 IP 配置策略,应用到所选命名空间中的所有 pod。来自属于集群外部命名空间的 pod 的出口流量通过这些外部网关 IP 路由。
类型
object

1.3. BaselineAdminNetworkPolicy [policy.networking.k8s.io/v1alpha1]

描述
BaselineAdminNetworkPolicy 是一个集群级别资源,属于 AdminNetworkPolicy API。
类型
object

1.4. CloudPrivateIPConfig [cloud.network.openshift.io/v1]

描述
CloudPrivateIPConfig 将私有 IP 地址分配给与云虚拟机关联的主 NIC。这可以通过指定 IP 应该分配给的 IP 和 Kubernetes 节点来完成。此 CRD 旨在由管理集群网络的网络插件使用。spec 端代表网络插件请求的状态,状态端表示此 CRD 控制器执行的当前状态。没有用户修改它的权限,如果 cluster-admin 决定编辑它,则在下次网络插件协调对象时,其更改将被覆盖。注: CR 的名称必须指定请求的私有 IP 地址(可以是 IPv4 或 IPv6)。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
类型
object

1.5. EgressFirewall [k8s.ovn.org/v1]

描述
EgressFirewall 描述了命名空间的当前出口防火墙。系统将针对 pod 的命名空间 EgressFirewall 中的每个 EgressFirewallRule 检查从 pod 到集群外的 IP 地址的流量。如果没有规则匹配(或不存在 EgressFirewall),则默认允许流量。
类型
object

1.6. EgressIP [k8s.ovn.org/v1]

描述
EgressIP 是一个 CRD,用户可以为其 spec 定义来自与 EgressIP 资源匹配的 pod 的所有出口流量定义固定源 IP。
类型
object

1.7. EgressQoS [k8s.ovn.org/v1]

描述
egressqos 是一个 CRD,允许用户在其命名空间中为 pod 出口流量定义 DSCP 值到指定的 CIDR。来自这些 pod 的流量将根据命名空间的 EgressQoSRule 中的每个 EgressQoSRule 检查,如果存在与相关 DSCP 值匹配的流量。
类型
object

1.8. EgressService [k8s.ovn.org/v1]

描述
EgressService 是一个 CRD,允许用户请求来自对应 LoadBalancer 服务端点的所有 pod 的出口数据包的源 IP 是其入口 IP。另外,它允许用户请求来自作为 LoadBalancer 服务端点的所有 pod 的出口数据包,并使用与主服务不同的网络。
类型
对象

1.9. Endpoints [v1]

描述

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

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

1.10. EndpointSlice [discovery.k8s.io/v1]

描述
EndpointSlice 代表实施服务的端点的子集。对于给定服务,可能有多个 EndpointSlice 对象,它们通过标签选择,必须加入来生成完整的端点。
类型
对象

1.11. EgressRouter [network.operator.openshift.io/v1]

描述
EgressRouter 是一种允许用户定义出口路由器的功能,充当 pod 和外部系统间的桥接。出口路由器运行一个服务,它将来自 pod 或一组 pod 的出口流量重定向到远程外部系统或每个配置的多个目的地。它被 cluster-network-operator 使用。更具体地说,对于带有 <name> 的 EgressRouter CR,CNO 将创建和管理: - 名为 <name> - 一个名为 <name> 的出口 pod - 名为 <name> 兼容性级别 1 的 NAD:在主发行版本中至少为 12 个月或 3 个次版本(以更长的时间为准)。EgressRouter 是单个 egressrouter pod 配置对象。
类型
对象

1.12. Ingress [networking.k8s.io/v1]

描述
Ingress 是允许入站连接访问后端定义的端点的规则集合。可将 Ingress 配置为向外部可访问的 URL 提供服务、负载均衡流量、终止 SSL、提供基于名称的虚拟主机等。
类型
对象

1.13. IngressClass [networking.k8s.io/v1]

描述
IngressClass 代表 Ingress 的类,由 Ingress Spec 引用。ingressclass.kubernetes.io/is-default-class 注解可以用来表示 IngressClass 应该被视为 default。当单个 IngressClass 资源将此注解设置为 true 时,没有指定类的新 Ingress 资源将分配此默认存储类。
类型
对象

1.14. IPPool [whereabouts.cni.cncf.io/v1alpha1]

描述
IPPool 是 ippools API 的 Schema
类型
对象

1.15. MultiNetworkPolicy [k8s.cni.cncf.io/v1beta1]

描述
MultiNetworkPolicy 是一个 CRD 模式,为 net-attach-def 提供 NetworkPolicy 机制,该机制由 Network Plumbing Working Group 指定。MultiNetworkPolicy 与 Kubernetes NetworkPolicy 相同,请参阅 :https://kubernetes.io/docs/concepts/services-networking/network-policies/。
类型
对象

1.16. NetworkAttachmentDefinition [k8s.cni.cncf.io/v1]

描述
NetworkAttachmentDefinition 是 Network Plumbing Working Group 指定的 CRD 模式,用于表达将 pod 附加到一个或多个逻辑或物理网络的意图。更多信息: https://github.com/k8snetworkplumbingwg/multi-net-spec
类型
对象

1.17. NetworkPolicy [networking.k8s.io/v1]

描述
NetworkPolicy 描述一组 Pod 允许哪些网络流量
类型
object

1.18. OverlappingRangeIPReservation [whereabouts.cni.cncf.io/v1alpha1]

描述
OverlappingRangeIPReservation 是 OverlappingRangeIPReservations API 的 Schema
类型
对象

1.19. PodNetworkConnectivityCheck [controlplane.operator.openshift.io/v1alpha1]

描述
PodNetworkConnectivityCheck 兼容性级别 4:不提供兼容性,API 可以在任何原因而改变。这些功能不应由需要长期支持的应用程序使用。
类型
对象

1.20. Route [route.openshift.io/v1]

描述

通过路由,开发人员可以通过 HTTP (S)了解负载平衡和代理层通过公共 DNS 条目公开服务。路由可以进一步指定 TLS 选项和证书,或者指定路由器也应该接受 HTTP 和 HTTPS 流量的公共 CNAME。管理员通常将其路由器配置为在集群防火墙外可见,还可在服务内容上添加额外的安全性、缓存或流量控制。路由器通常直接与服务端点通信。

创建路由后,可能不会更改 host 字段。通常,路由器在解析冲突时使用带有给定主机的最旧的路由。

路由器受到额外的自定义,可以通过 annotations 字段支持其他控制。

由于管理员可以配置多个路由器,因此路由状态字段用于向客户端返回每个路由器下路由的名称和状态的信息。如果客户端选择重复的名称,例如,则使用路由状态条件来指示无法选择路由。

要在路由上启用 HTTP/2 ALPN,它需要自定义(非通配符)证书。这可防止客户端的连接并发,特别是 Web 浏览器。由于连接重新使用的风险,我们不支持使用默认证书的 HTTP/2 ALPN。没有其自身自定义证书的路由在前端或后端上都不会是启用了 HTTP/2 ALPN 的路由。

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
对象

1.21. Service [v1]

描述
服务是一个由代理侦听的本地端口(如 mysql)组成的、指定软件服务的抽象概念,以及决定哪些 Pod 将通过代理发送的请求的选择器。
类型
object

第 2 章 AdminNetworkPolicy [policy.networking.k8s.io/v1alpha1]

描述
AdminNetworkPolicy 是一个集群级别资源,属于 AdminNetworkPolicy API。
类型
object
必填
  • metadata
  • spec

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

object

指定 AdminNetworkPolicy 所需的行为。

status

object

Status 是实现要报告的状态。

2.1.1. .spec

描述
指定 AdminNetworkPolicy 所需的行为。
类型
object
必填
  • priority
  • subject
属性类型描述

egress

数组

Egress 是要应用到所选 pod 的 Egress 规则列表。每个 ANP 实例中允许总计 100 个规则。单个 ANP 对象(所有共享优先级)中的出口规则的相对优先级将由编写规则的顺序决定。因此,在出口规则顶部出现的规则将具有最高的优先级。没有出口规则的 ANP 不会影响出口流量。

支持:Core

egress[]

object

AdminNetworkPolicyEgressRule 描述了对来自 AdminNetworkPolicy 的 Subject 字段选择的 pod 的特定流量集合执行的操作。<network-policy-api:experimental:validation>

ingress

数组

Ingress 是要应用到所选 pod 的 Ingress 规则列表。每个 ANP 实例中允许总计 100 个规则。单个 ANP 对象(所有共享优先级)中的 ingress 规则的相对优先级将由编写规则的顺序决定。因此,在入口规则顶部出现的规则将具有最高的优先级。没有入口规则的 ANP 不会影响入口流量。

支持:Core

ingress[]

object

AdminNetworkPolicyIngressRule 描述了对由 AdminNetworkPolicy 的 Subject 字段选择的特定流量集合执行的操作。

priority

整数

priority 是从 0 到 1000 的值。优先级值较低的规则具有更高的优先级,并在优先级较高的规则之前检查。所有 AdminNetworkPolicy 规则的优先级高于 NetworkPolicy 或 BaselineAdminNetworkPolicy 规则,如果两个 ANP 对象具有相同的优先级,则行为未定义。

支持:Core

subject

object

subject 定义此 AdminNetworkPolicy 应用到的 pod。请注意,主机网络的 pod 不包含在主题选择中。

支持:Core

2.1.2. .spec.egress

描述

Egress 是要应用到所选 pod 的 Egress 规则列表。每个 ANP 实例中允许总计 100 个规则。单个 ANP 对象(所有共享优先级)中的出口规则的相对优先级将由编写规则的顺序决定。因此,在出口规则顶部出现的规则将具有最高的优先级。没有出口规则的 ANP 不会影响出口流量。

支持:Core

类型
array

2.1.3. .spec.egress[]

描述
AdminNetworkPolicyEgressRule 描述了对来自 AdminNetworkPolicy 的 Subject 字段选择的 pod 的特定流量集合执行的操作。<network-policy-api:experimental:validation>
类型
object
必填
  • action
属性类型描述

action

string

action 指定此规则对匹配流量的影响。目前支持以下操作: Allow: 允许所选流量(即使被 NetworkPolicy 拒绝拒绝) Deny: 拒绝所选流量 Pass: 指示所选流量跳过任何剩余的 ANP 规则,然后将执行传递给选择 pod 的任何 NetworkPolicies。如果任何 NetworkPolicies 没有选择 pod,则执行会被传递给选择 pod 的任何 BaselineAdminNetworkPolicies。

支持:Core

名称

string

name 是此规则的标识符,长度不超过 100 个字符。实现应使用此字段来帮助改进任何应用的 AdminNetworkPolicies 的可观察性、可读性和错误报告。

支持:Core

ports

数组

端口允许根据端口和协议匹配流量。此字段是传出出口流量的目标端口列表。如果没有设置 Ports,则规则不会通过端口过滤流量。

支持:Core

ports[]

object

AdminNetworkPolicyPort 描述了如何选择 pod 上的网络端口。必须设置一个字段。

数组

to 是此规则应用到的目的地列表。如果任何 AdminNetworkPolicyEgressPeer 与传出流量的目的地匹配,则会应用指定的操作。必须定义此字段并至少包含一个项。

支持:Core

to[]

object

AdminNetworkPolicyEgressPeer 定义了一个允许流量的对等点。必须为给定的对等点设置其中一个选择器指针。如果消费者观察没有设置其字段,它们必须假定指定了未知选项,并且关闭失败。

2.1.4. .spec.egress[].ports

描述

端口允许根据端口和协议匹配流量。此字段是传出出口流量的目标端口列表。如果没有设置 Ports,则规则不会通过端口过滤流量。

支持:Core

类型
array

2.1.5. .spec.egress[].ports[]

描述
AdminNetworkPolicyPort 描述了如何选择 pod 上的网络端口。必须设置一个字段。
类型
object
属性类型描述

namedPort

string

NamedPort 根据名称选择一个 pod 上的端口。

支持:扩展

<network-policy-api:experimental>

portNumber

object

port 根据数字选择 pod 上的端口。

支持:Core

portRange

object

PortRange 根据提供的 start 和 end 值在 pod 上选择一个端口范围。

支持:Core

2.1.6. .spec.egress[].ports[].portNumber

描述

port 根据数字选择 pod 上的端口。

支持:Core

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

port

整数

number 定义网络端口值。

支持:Core

protocol

string

协议是流量必须匹配的网络协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。

支持:Core

2.1.7. .spec.egress[].ports[].portRange

描述

PortRange 根据提供的 start 和 end 值在 pod 上选择一个端口范围。

支持:Core

类型
object
必填
  • end
  • start
属性类型描述

end

整数

end 定义端口范围末尾的网络端口,End 值必须大于 Start。

支持:Core

protocol

string

协议是流量必须匹配的网络协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。

支持:Core

start

整数

start 定义端口范围起始的网络端口,Start 值必须小于 End。

支持:Core

2.1.8. .spec.egress[].to

描述

to 是此规则应用到的目的地列表。如果任何 AdminNetworkPolicyEgressPeer 与传出流量的目的地匹配,则会应用指定的操作。必须定义此字段并至少包含一个项。

支持:Core

类型
array

2.1.9. .spec.egress[].to[]

描述
AdminNetworkPolicyEgressPeer 定义了一个允许流量的对等点。必须为给定的对等点设置其中一个选择器指针。如果消费者观察没有设置其字段,它们必须假定指定了未知选项,并且关闭失败。
类型
object
属性类型描述

命名空间

object

命名空间定义了选择一组命名空间中的所有 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。

支持:Core

networks

数组(字符串)

网络定义了通过 CIDR 块选择对等点的方法。这用于表示集群外部的实体,这些实体不能被 pod、命名空间和节点对等点选择,但请注意,集群内部流量也会针对该规则进行检查。因此,如果您允许或拒绝到 "0.0.0.0/0" 的流量,这将允许或拒绝所有 IPv4 pod 到 pod 流量。如果您不想这样做,请在网络规则前添加传递所有 pod 流量的规则。

Networks 中的每个项目都应该以 CIDR 格式提供,且应为 IPv4 或 IPv6,如 "10.0.0.0/8" 或 "fd00::/8"。

网络可以最多指定 25 个 CIDR。

支持:扩展

<network-policy-api:experimental>

节点

object

节点定义了选择集群中一组节点的方法。此字段遵循标准标签选择器语义;如果存在,它会选择所有节点。

支持:扩展

<network-policy-api:experimental>

pods

object

Pod 定义了在一组命名空间中选择一组 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。

支持:Core

2.1.10. .spec.egress[].to[].namespaces

描述

命名空间定义了选择一组命名空间中的所有 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。

支持:Core

类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

2.1.11. .spec.egress[].to[].namespaces.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

2.1.12. .spec.egress[].to[].namespaces.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

2.1.13. .spec.egress[].to[].nodes

描述

节点定义了选择集群中一组节点的方法。此字段遵循标准标签选择器语义;如果存在,它会选择所有节点。

支持:扩展

<network-policy-api:experimental>

类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

2.1.14. .spec.egress[].to[].nodes.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

2.1.15. .spec.egress[].to[].nodes.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

2.1.16. .spec.egress[].to[].pods

描述

Pod 定义了在一组命名空间中选择一组 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。

支持:Core

类型
object
必填
  • namespaceSelector
  • podSelector
属性类型描述

namespaceSelector

object

namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。

podSelector

object

podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。

2.1.17. .spec.egress[].to[].pods.namespaceSelector

描述
namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

2.1.18. .spec.egress[].to[].pods.namespaceSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

2.1.19. .spec.egress[].to[].pods.namespaceSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

2.1.20. .spec.egress[].to[].pods.podSelector

描述
podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

2.1.21. .spec.egress[].to[].pods.podSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

2.1.22. .spec.egress[].to[].pods.podSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

2.1.23. .spec.ingress

描述

Ingress 是要应用到所选 pod 的 Ingress 规则列表。每个 ANP 实例中允许总计 100 个规则。单个 ANP 对象(所有共享优先级)中的 ingress 规则的相对优先级将由编写规则的顺序决定。因此,在入口规则顶部出现的规则将具有最高的优先级。没有入口规则的 ANP 不会影响入口流量。

支持:Core

类型
array

2.1.24. .spec.ingress[]

描述
AdminNetworkPolicyIngressRule 描述了对由 AdminNetworkPolicy 的 Subject 字段选择的特定流量集合执行的操作。
类型
object
必填
  • action
  • from
属性类型描述

action

string

action 指定此规则对匹配流量的影响。目前支持以下操作: Allow: 允许所选流量(即使被 NetworkPolicy 拒绝拒绝) Deny: 拒绝所选流量 Pass: 指示所选流量跳过任何剩余的 ANP 规则,然后将执行传递给选择 pod 的任何 NetworkPolicies。如果任何 NetworkPolicies 没有选择 pod,则执行会被传递给选择 pod 的任何 BaselineAdminNetworkPolicies。

支持:Core

from

数组

from 是此规则应用到的源列表。如果任何 AdminNetworkPolicyIngressPeer 与传入流量的来源匹配,则会应用指定的操作。必须定义此字段并至少包含一个项。

支持:Core

from[]

object

AdminNetworkPolicyIngressPeer 定义了一个集群内对等点,以允许来自的流量。必须为给定的对等点设置其中一个选择器指针。如果消费者观察没有设置其字段,它们必须假定指定了未知选项,并且关闭失败。

名称

string

name 是此规则的标识符,长度不超过 100 个字符。实现应使用此字段来帮助改进任何应用的 AdminNetworkPolicies 的可观察性、可读性和错误报告。

支持:Core

ports

数组

端口允许根据端口和协议匹配流量。此字段是一个端口列表,应在针对此策略选择的 pod 上匹配,例如策略的主题。因此,它与入口流量的目标端口上匹配。如果没有设置 Ports,则规则不会通过端口过滤流量。

支持:Core

ports[]

object

AdminNetworkPolicyPort 描述了如何选择 pod 上的网络端口。必须设置一个字段。

2.1.25. .spec.ingress[].from

描述

from 是此规则应用到的源列表。如果任何 AdminNetworkPolicyIngressPeer 与传入流量的来源匹配,则会应用指定的操作。必须定义此字段并至少包含一个项。

支持:Core

类型
array

2.1.26. .spec.ingress[].from[]

描述
AdminNetworkPolicyIngressPeer 定义了一个集群内对等点,以允许来自的流量。必须为给定的对等点设置其中一个选择器指针。如果消费者观察没有设置其字段,它们必须假定指定了未知选项,并且关闭失败。
类型
object
属性类型描述

命名空间

object

命名空间定义了选择一组命名空间中的所有 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。

支持:Core

pods

object

Pod 定义了在一组命名空间中选择一组 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。

支持:Core

2.1.27. .spec.ingress[].from[].namespaces

描述

命名空间定义了选择一组命名空间中的所有 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。

支持:Core

类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

2.1.28. .spec.ingress[].from[].namespaces.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

2.1.29. .spec.ingress[].from[].namespaces.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

2.1.30. .spec.ingress[].from[].pods

描述

Pod 定义了在一组命名空间中选择一组 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。

支持:Core

类型
object
必填
  • namespaceSelector
  • podSelector
属性类型描述

namespaceSelector

object

namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。

podSelector

object

podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。

2.1.31. .spec.ingress[].from[].pods.namespaceSelector

描述
namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

2.1.32. .spec.ingress[].from[].pods.namespaceSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

2.1.33. .spec.ingress[].from[].pods.namespaceSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

2.1.34. .spec.ingress[].from[].pods.podSelector

描述
podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

2.1.35. .spec.ingress[].from[].pods.podSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

2.1.36. .spec.ingress[].from[].pods.podSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

2.1.37. .spec.ingress[].ports

描述

端口允许根据端口和协议匹配流量。此字段是一个端口列表,应在针对此策略选择的 pod 上匹配,例如策略的主题。因此,它与入口流量的目标端口上匹配。如果没有设置 Ports,则规则不会通过端口过滤流量。

支持:Core

类型
array

2.1.38. .spec.ingress[].ports[]

描述
AdminNetworkPolicyPort 描述了如何选择 pod 上的网络端口。必须设置一个字段。
类型
object
属性类型描述

namedPort

string

NamedPort 根据名称选择一个 pod 上的端口。

支持:扩展

<network-policy-api:experimental>

portNumber

object

port 根据数字选择 pod 上的端口。

支持:Core

portRange

object

PortRange 根据提供的 start 和 end 值在 pod 上选择一个端口范围。

支持:Core

2.1.39. .spec.ingress[].ports[].portNumber

描述

port 根据数字选择 pod 上的端口。

支持:Core

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

port

整数

number 定义网络端口值。

支持:Core

protocol

string

协议是流量必须匹配的网络协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。

支持:Core

2.1.40. .spec.ingress[].ports[].portRange

描述

PortRange 根据提供的 start 和 end 值在 pod 上选择一个端口范围。

支持:Core

类型
object
必填
  • end
  • start
属性类型描述

end

整数

end 定义端口范围末尾的网络端口,End 值必须大于 Start。

支持:Core

protocol

string

协议是流量必须匹配的网络协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。

支持:Core

start

整数

start 定义端口范围起始的网络端口,Start 值必须小于 End。

支持:Core

2.1.41. .spec.subject

描述

subject 定义此 AdminNetworkPolicy 应用到的 pod。请注意,主机网络的 pod 不包含在主题选择中。

支持:Core

类型
object
属性类型描述

命名空间

object

命名空间用于通过命名空间选择器选择 pod。

pods

object

Pod 用于通过命名空间 AND pod 选择器选择 pod。

2.1.42. .spec.subject.namespaces

描述
命名空间用于通过命名空间选择器选择 pod。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

2.1.43. .spec.subject.namespaces.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

2.1.44. .spec.subject.namespaces.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

2.1.45. .spec.subject.pods

描述
Pod 用于通过命名空间 AND pod 选择器选择 pod。
类型
object
必填
  • namespaceSelector
  • podSelector
属性类型描述

namespaceSelector

object

namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。

podSelector

object

podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。

2.1.46. .spec.subject.pods.namespaceSelector

描述
namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

2.1.47. .spec.subject.pods.namespaceSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

2.1.48. .spec.subject.pods.namespaceSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

2.1.49. .spec.subject.pods.podSelector

描述
podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

2.1.50. .spec.subject.pods.podSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

2.1.51. .spec.subject.pods.podSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

2.1.52. .status

描述
Status 是实现要报告的状态。
类型
object
必填
  • conditions
属性类型描述

conditions

array

 

conditions[]

对象

条件包含此 API 资源当前状态的一个方面的详情。--- 这个结构旨在直接用作字段路径 .status.conditions 中的数组。例如,

type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", 和 "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition json:"conditions, omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"

// other fields }

2.1.53. .status.conditions

描述
类型
array

2.1.54. .status.conditions[]

描述

条件包含此 API 资源当前状态的一个方面的详情。--- 这个结构旨在直接用作字段路径 .status.conditions 中的数组。例如,

type FooStatus struct{
    // Represents the observations of a foo's current state.
    // Known .status.conditions.type are: "Available", "Progressing", and "Degraded"
    // +patchMergeKey=type
    // +patchStrategy=merge
    // +listType=map
    // +listMapKey=type
    Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
    // other fields
}
类型
object
必填
  • lastTransitionTime
  • message
  • reason
  • status
  • type
属性类型描述

lastTransitionTime

字符串

lastTransitionTime 是条件从一个状态转换到另一个状态最后一次的时间。这应该是底层条件变化的时间。如果为未知,则使用 API 字段更改的时间是可以接受的。

message

字符串

Message 是人类可读的消息,指示有关转换的详细信息。这可能是一个空字符串。

observedGeneration

整数

observedGeneration 代表 .metadata.generation,这是条件设置所基于的条件。例如,如果 .metadata.generation 目前为 12,但 .status.conditions[x].observedGeneration 是 9,则代表条件与实例的当前状态已不匹配。

reason

字符串

reason 包含程序标识符,指示条件最后一次转换的原因。特定条件类型的制作者可能会定义预期的值和此字段的含义,以及这些值是否被视为有保证的 API。该值应该是 CamelCase 字符串。此字段可能不是空的。

status

字符串

条件的状态,True, False, Unknown 之一。

type

字符串

CamelCase 或 foo.example.com/CamelCase 中的条件类型。-- Many .condition.type 值在资源间是一致的,但因为任意条件可能很有用(请参阅 .node.status.conditions),deconflict 的能力非常重要。它匹配的正则表达式是 (dns1123SubdomainFmt/)? (qualifiedNameFmt)

2.2. API 端点

可用的 API 端点如下:

  • /apis/policy.networking.k8s.io/v1alpha1/adminnetworkpolicies

    • DELETE :删除 AdminNetworkPolicy 集合
    • GET: 列出类型为 AdminNetworkPolicy 的对象
    • POST :创建 AdminNetworkPolicy
  • /apis/policy.networking.k8s.io/v1alpha1/adminnetworkpolicies/{name}

    • DELETE: delete an AdminNetworkPolicy
    • GET :读取指定的 AdminNetworkPolicy
    • PATCH: 部分更新指定的 AdminNetworkPolicy
    • PUT :替换指定的 AdminNetworkPolicy
  • /apis/policy.networking.k8s.io/v1alpha1/adminnetworkpolicies/{name}/status

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

2.2.1. /apis/policy.networking.k8s.io/v1alpha1/adminnetworkpolicies

HTTP 方法
DELETE
描述
删除 AdminNetworkPolicy 集合
表 2.1. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出 AdminNetworkPolicy 类型的对象
表 2.2. HTTP 响应
HTTP 代码响应正文

200 - OK

AdminNetworkPolicyList schema

401 - Unauthorized

HTTP 方法
POST
描述
创建 AdminNetworkPolicy
表 2.3. 查询参数
参数类型描述

dryRun

string

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

fieldValidation

string

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

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

正文(body)

AdminNetworkPolicy 模式

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

200 - OK

AdminNetworkPolicy 模式

201 - Created

AdminNetworkPolicy 模式

202 - Accepted

AdminNetworkPolicy 模式

401 - Unauthorized

2.2.2. /apis/policy.networking.k8s.io/v1alpha1/adminnetworkpolicies/{name}

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

name

字符串

AdminNetworkPolicy 的名称

HTTP 方法
DELETE
描述
delete an AdminNetworkPolicy
表 2.7. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
阅读指定的 AdminNetworkPolicy
表 2.9. HTTP 响应
HTTP 代码响应正文

200 - OK

AdminNetworkPolicy 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

AdminNetworkPolicy 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

AdminNetworkPolicy 模式

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

200 - OK

AdminNetworkPolicy 模式

201 - Created

AdminNetworkPolicy 模式

401 - Unauthorized

2.2.3. /apis/policy.networking.k8s.io/v1alpha1/adminnetworkpolicies/{name}/status

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

name

string

AdminNetworkPolicy 的名称

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

200 - OK

AdminNetworkPolicy 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

AdminNetworkPolicy 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

AdminNetworkPolicy 模式

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

200 - OK

AdminNetworkPolicy 模式

201 - Created

AdminNetworkPolicy 模式

401 - Unauthorized

第 3 章 AdminPolicyBasedExternalRoute [k8s.ovn.org/v1]

描述
AdminPolicyBasedExternalRoute 是一个 CRD,集群管理员可以为外部网关 IP 配置策略,应用到所选命名空间中的所有 pod。来自属于集群外部命名空间的 pod 的出口流量通过这些外部网关 IP 路由。
类型
object
必填
  • spec

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

object

AdminPolicyBasedExternalRouteSpec 定义 AdminPolicyBasedExternalRoute 的所需状态

status

object

AdminPolicyBasedRouteStatus 包含 AdminPolicyBased 路由类型的观察状态。

3.1.1. .spec

描述
AdminPolicyBasedExternalRouteSpec 定义 AdminPolicyBasedExternalRoute 的所需状态
类型
object
必填
  • from
  • nextHops
属性类型描述

from

object

from 定义将决定目标命名空间到此 CR 的选择器。

nextHops

object

NextHops 定义两种类型的跃点: Static 和 Dynamic。每个跃点至少定义一个外部网关 IP。

3.1.2. .spec.from

描述
from 定义将决定目标命名空间到此 CR 的选择器。
类型
object
必填
  • namespaceSelector
属性类型描述

namespaceSelector

object

namespaceSelector 定义了一个选择器,用于决定此 CR 将针对哪些命名空间

3.1.3. .spec.from.namespaceSelector

描述
namespaceSelector 定义了一个选择器,用于决定此 CR 将针对哪些命名空间
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

3.1.4. .spec.from.namespaceSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

3.1.5. .spec.from.namespaceSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

3.1.6. .spec.nextHops

描述
NextHops 定义两种类型的跃点: Static 和 Dynamic。每个跃点至少定义一个外部网关 IP。
类型
object
属性类型描述

dynamic

数组

DynamicHops 定义 DynamicHop 的片段。此字段是可选的。

dynamic[]

object

DynamicHop 定义动态外部网关接口的配置。这些接口围绕位于集群内部的 pod 对象进行嵌套。字段 NetworkAttachmentName 捕获检索要使用的网关 IP 时使用的 multus 网络名称。PodSelector 和 NamespaceSelector 是必填字段。

static

数组

StaticHops 定义了 StaticHop 的一个片段。此字段是可选的。

static[]

object

StaticHop 定义作为外部网关接口的静态 IP 配置。IP 字段是必需的。

3.1.7. .spec.nextHops.dynamic

描述
DynamicHops 定义 DynamicHop 的片段。此字段是可选的。
类型
数组

3.1.8. .spec.nextHops.dynamic[]

描述
DynamicHop 定义动态外部网关接口的配置。这些接口围绕位于集群内部的 pod 对象进行嵌套。字段 NetworkAttachmentName 捕获检索要使用的网关 IP 时使用的 multus 网络名称。PodSelector 和 NamespaceSelector 是必填字段。
类型
object
必填
  • namespaceSelector
  • podSelector
属性类型描述

bfdEnabled

布尔值

BFDEnabled 确定接口是否实现双向转发检测协议。默认为false。

namespaceSelector

object

namespaceSelector 定义选择器,用于过滤 pod 网关所在的命名空间。

networkAttachmentName

string

NetworkAttachmentName 决定在检索要用作网关 IP 的 pod IP 时使用的 multus 网络名称。当此字段为空时,逻辑假设 pod 被配置为 HostNetwork,并使用节点的 IP 作为网关。

podSelector

object

podSelector 定义选择器来过滤外部网关的 pod。

3.1.9. .spec.nextHops.dynamic[].namespaceSelector

描述
namespaceSelector 定义选择器,用于过滤 pod 网关所在的命名空间。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

3.1.10. .spec.nextHops.dynamic[].namespaceSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

3.1.11. .spec.nextHops.dynamic[].namespaceSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

3.1.12. .spec.nextHops.dynamic[].podSelector

描述
podSelector 定义选择器来过滤外部网关的 pod。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

3.1.13. .spec.nextHops.dynamic[].podSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

3.1.14. .spec.nextHops.dynamic[].podSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

3.1.15. .spec.nextHops.static

描述
StaticHops 定义了 StaticHop 的一个片段。此字段是可选的。
类型
数组

3.1.16. .spec.nextHops.static[]

描述
StaticHop 定义作为外部网关接口的静态 IP 配置。IP 字段是必需的。
类型
object
必填
  • ip
属性类型描述

bfdEnabled

布尔值

BFDEnabled 确定接口是否实现双向转发检测协议。默认为false。

ip

string

IP 定义用于出口流量的静态 IP。IP 可以是 IPv4 或 IPv6。

3.1.17. .status

描述
AdminPolicyBasedRouteStatus 包含 AdminPolicyBased 路由类型的观察状态。
类型
object
属性类型描述

lastTransitionTime

string

捕获应用上次更改的时间。

messages

数组(字符串)

一个人类可读的消息数组,代表有关对象状态的详细信息。

status

string

简要指示是否成功应用 AdminPolicyBasedRoute 资源

3.2. API 端点

可用的 API 端点如下:

  • /apis/k8s.ovn.org/v1/adminpolicybasedexternalroutes

    • DELETE: delete collection of AdminPolicyBasedExternalRoute
    • GET: 列出类型为 AdminPolicyBasedExternalRoute 的对象
    • POST :创建 AdminPolicyBasedExternalRoute
  • /apis/k8s.ovn.org/v1/adminpolicybasedexternalroutes/{name}

    • DELETE: delete an AdminPolicyBasedExternalRoute
    • GET :读取指定的 AdminPolicyBasedExternalRoute
    • PATCH: 部分更新指定的 AdminPolicyBasedExternalRoute
    • PUT :替换指定的 AdminPolicyBasedExternalRoute
  • /apis/k8s.ovn.org/v1/adminpolicybasedexternalroutes/{name}/status

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

3.2.1. /apis/k8s.ovn.org/v1/adminpolicybasedexternalroutes

HTTP 方法
DELETE
描述
删除 AdminPolicyBasedExternalRoute 集合
表 3.1. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出类型为 AdminPolicyBasedExternalRoute 的对象
表 3.2. HTTP 响应
HTTP 代码响应正文

200 - OK

AdminPolicyBasedExternalRouteList schema

401 - Unauthorized

HTTP 方法
POST
描述
create an AdminPolicyBasedExternalRoute
表 3.3. 查询参数
参数类型描述

dryRun

string

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

fieldValidation

string

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

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

正文(body)

AdminPolicyBasedExternalRoute schema

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

200 - OK

AdminPolicyBasedExternalRoute schema

201 - Created

AdminPolicyBasedExternalRoute schema

202 - Accepted

AdminPolicyBasedExternalRoute schema

401 - Unauthorized

3.2.2. /apis/k8s.ovn.org/v1/adminpolicybasedexternalroutes/{name}

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

name

字符串

AdminPolicyBasedExternalRoute 的名称

HTTP 方法
DELETE
描述
delete an AdminPolicyBasedExternalRoute
表 3.7. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的 AdminPolicyBasedExternalRoute
表 3.9. HTTP 响应
HTTP 代码响应正文

200 - OK

AdminPolicyBasedExternalRoute schema

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

AdminPolicyBasedExternalRoute schema

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

AdminPolicyBasedExternalRoute schema

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

200 - OK

AdminPolicyBasedExternalRoute schema

201 - Created

AdminPolicyBasedExternalRoute schema

401 - Unauthorized

3.2.3. /apis/k8s.ovn.org/v1/adminpolicybasedexternalroutes/{name}/status

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

name

string

AdminPolicyBasedExternalRoute 的名称

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

200 - OK

AdminPolicyBasedExternalRoute schema

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

AdminPolicyBasedExternalRoute schema

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

AdminPolicyBasedExternalRoute schema

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

200 - OK

AdminPolicyBasedExternalRoute schema

201 - Created

AdminPolicyBasedExternalRoute schema

401 - Unauthorized

第 4 章 BaselineAdminNetworkPolicy [policy.networking.k8s.io/v1alpha1]

描述
BaselineAdminNetworkPolicy 是一个集群级别资源,属于 AdminNetworkPolicy API。
类型
object
必填
  • metadata
  • spec

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

object

BaselineAdminNetworkPolicy 所需的行为规格。

status

object

Status 是实现要报告的状态。

4.1.1. .spec

描述
BaselineAdminNetworkPolicy 所需的行为规格。
类型
object
必填
  • subject
属性类型描述

egress

数组

如果 Egress 规则与任何 AdminNetworkPolicy 或 NetworkPolicy 规则不匹配,则出口(egress)是要应用到所选 pod 的 Egress 规则列表。每个 BANP 实例中都允许总计 100 个 Egress 规则。在单个 BANP 对象中出口规则的相对优先级将由编写规则的顺序决定。因此,在出口规则顶部出现的规则将具有最高的优先级。没有出口规则的 BANP 不会影响出口流量。

支持:Core

egress[]

object

BaselineAdminNetworkPolicyEgressRule 描述了一个操作,它适用于源自 BaselineAdminNetworkPolicy 的 Subject 字段选择的 pod 的特定流量集。<network-policy-api:experimental:validation>

ingress

数组

如果 Ingress 规则与任何 AdminNetworkPolicy 或 NetworkPolicy 规则不匹配,则 Ingress 是要应用到所选 pod 的 Ingress 规则列表。每个 BANP 实例中都允许 100 个 Ingress 规则。单个 BANP 对象中入口规则的相对优先级将由编写规则的顺序决定。因此,在入口规则顶部出现的规则将具有最高的优先级。没有入口规则的 BANP 不会影响入口流量。

支持:Core

ingress[]

object

BaselineAdminNetworkPolicyIngressRule 描述了一个操作,用于由 BaselineAdminNetworkPolicy 的 Subject 字段选择的特定流量集合。

subject

object

subject 定义此 BaselineAdminNetworkPolicy 应用到的 pod。请注意,主机网络的 pod 不包含在主题选择中。

支持:Core

4.1.2. .spec.egress

描述

如果 Egress 规则与任何 AdminNetworkPolicy 或 NetworkPolicy 规则不匹配,则出口(egress)是要应用到所选 pod 的 Egress 规则列表。每个 BANP 实例中都允许总计 100 个 Egress 规则。在单个 BANP 对象中出口规则的相对优先级将由编写规则的顺序决定。因此,在出口规则顶部出现的规则将具有最高的优先级。没有出口规则的 BANP 不会影响出口流量。

支持:Core

类型
array

4.1.3. .spec.egress[]

描述
BaselineAdminNetworkPolicyEgressRule 描述了一个操作,它适用于源自 BaselineAdminNetworkPolicy 的 Subject 字段选择的 pod 的特定流量集。<network-policy-api:experimental:validation>
类型
object
必填
  • action
属性类型描述

action

string

action 指定此规则对匹配流量的影响。目前支持以下操作: Allow: 允许所选流量 Deny: 拒绝所选流量

支持:Core

名称

string

name 是此规则的标识符,长度不超过 100 个字符。实现应使用此字段来帮助改进任何应用的 BaselineAdminNetworkPolicies 的可观察性、可读性和错误报告。

支持:Core

ports

数组

端口允许根据端口和协议匹配流量。此字段是传出出口流量的目标端口列表。如果没有设置 Ports,则规则不会通过端口过滤流量。

ports[]

object

AdminNetworkPolicyPort 描述了如何选择 pod 上的网络端口。必须设置一个字段。

数组

to 是此规则应用到的目的地列表。如果任何 AdminNetworkPolicyEgressPeer 与传出流量的目的地匹配,则会应用指定的操作。必须定义此字段并至少包含一个项。

支持:Core

to[]

object

AdminNetworkPolicyEgressPeer 定义了一个允许流量的对等点。必须为给定的对等点设置其中一个选择器指针。如果消费者观察没有设置其字段,它们必须假定指定了未知选项,并且关闭失败。

4.1.4. .spec.egress[].ports

描述
端口允许根据端口和协议匹配流量。此字段是传出出口流量的目标端口列表。如果没有设置 Ports,则规则不会通过端口过滤流量。
类型
array

4.1.5. .spec.egress[].ports[]

描述
AdminNetworkPolicyPort 描述了如何选择 pod 上的网络端口。必须设置一个字段。
类型
object
属性类型描述

namedPort

string

NamedPort 根据名称选择一个 pod 上的端口。

支持:扩展

<network-policy-api:experimental>

portNumber

object

port 根据数字选择 pod 上的端口。

支持:Core

portRange

object

PortRange 根据提供的 start 和 end 值在 pod 上选择一个端口范围。

支持:Core

4.1.6. .spec.egress[].ports[].portNumber

描述

port 根据数字选择 pod 上的端口。

支持:Core

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

port

整数

number 定义网络端口值。

支持:Core

protocol

string

协议是流量必须匹配的网络协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。

支持:Core

4.1.7. .spec.egress[].ports[].portRange

描述

PortRange 根据提供的 start 和 end 值在 pod 上选择一个端口范围。

支持:Core

类型
object
必填
  • end
  • start
属性类型描述

end

整数

end 定义端口范围末尾的网络端口,End 值必须大于 Start。

支持:Core

protocol

string

协议是流量必须匹配的网络协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。

支持:Core

start

整数

start 定义端口范围起始的网络端口,Start 值必须小于 End。

支持:Core

4.1.8. .spec.egress[].to

描述

to 是此规则应用到的目的地列表。如果任何 AdminNetworkPolicyEgressPeer 与传出流量的目的地匹配,则会应用指定的操作。必须定义此字段并至少包含一个项。

支持:Core

类型
array

4.1.9. .spec.egress[].to[]

描述
AdminNetworkPolicyEgressPeer 定义了一个允许流量的对等点。必须为给定的对等点设置其中一个选择器指针。如果消费者观察没有设置其字段,它们必须假定指定了未知选项,并且关闭失败。
类型
object
属性类型描述

命名空间

object

命名空间定义了选择一组命名空间中的所有 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。

支持:Core

networks

数组(字符串)

网络定义了通过 CIDR 块选择对等点的方法。这用于表示集群外部的实体,这些实体不能被 pod、命名空间和节点对等点选择,但请注意,集群内部流量也会针对该规则进行检查。因此,如果您允许或拒绝到 "0.0.0.0/0" 的流量,这将允许或拒绝所有 IPv4 pod 到 pod 流量。如果您不想这样做,请在网络规则前添加传递所有 pod 流量的规则。

Networks 中的每个项目都应该以 CIDR 格式提供,且应为 IPv4 或 IPv6,如 "10.0.0.0/8" 或 "fd00::/8"。

网络可以最多指定 25 个 CIDR。

支持:扩展

<network-policy-api:experimental>

节点

object

节点定义了选择集群中一组节点的方法。此字段遵循标准标签选择器语义;如果存在,它会选择所有节点。

支持:扩展

<network-policy-api:experimental>

pods

object

Pod 定义了在一组命名空间中选择一组 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。

支持:Core

4.1.10. .spec.egress[].to[].namespaces

描述

命名空间定义了选择一组命名空间中的所有 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。

支持:Core

类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

4.1.11. .spec.egress[].to[].namespaces.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

4.1.12. .spec.egress[].to[].namespaces.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

4.1.13. .spec.egress[].to[].nodes

描述

节点定义了选择集群中一组节点的方法。此字段遵循标准标签选择器语义;如果存在,它会选择所有节点。

支持:扩展

<network-policy-api:experimental>

类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

4.1.14. .spec.egress[].to[].nodes.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

4.1.15. .spec.egress[].to[].nodes.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

4.1.16. .spec.egress[].to[].pods

描述

Pod 定义了在一组命名空间中选择一组 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。

支持:Core

类型
object
必填
  • namespaceSelector
  • podSelector
属性类型描述

namespaceSelector

object

namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。

podSelector

object

podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。

4.1.17. .spec.egress[].to[].pods.namespaceSelector

描述
namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

4.1.18. .spec.egress[].to[].pods.namespaceSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

4.1.19. .spec.egress[].to[].pods.namespaceSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

4.1.20. .spec.egress[].to[].pods.podSelector

描述
podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

4.1.21. .spec.egress[].to[].pods.podSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

4.1.22. .spec.egress[].to[].pods.podSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

4.1.23. .spec.ingress

描述

如果 Ingress 规则与任何 AdminNetworkPolicy 或 NetworkPolicy 规则不匹配,则 Ingress 是要应用到所选 pod 的 Ingress 规则列表。每个 BANP 实例中都允许 100 个 Ingress 规则。单个 BANP 对象中入口规则的相对优先级将由编写规则的顺序决定。因此,在入口规则顶部出现的规则将具有最高的优先级。没有入口规则的 BANP 不会影响入口流量。

支持:Core

类型
array

4.1.24. .spec.ingress[]

描述
BaselineAdminNetworkPolicyIngressRule 描述了一个操作,用于由 BaselineAdminNetworkPolicy 的 Subject 字段选择的特定流量集合。
类型
object
必填
  • action
  • from
属性类型描述

action

string

action 指定此规则对匹配流量的影响。目前支持以下操作: Allow: 允许所选流量 Deny: 拒绝所选流量

支持:Core

from

数组

from 是此规则应用到的源列表。如果任何 AdminNetworkPolicyIngressPeer 与传入流量的来源匹配,则会应用指定的操作。必须定义此字段并至少包含一个项。

支持:Core

from[]

object

AdminNetworkPolicyIngressPeer 定义了一个集群内对等点,以允许来自的流量。必须为给定的对等点设置其中一个选择器指针。如果消费者观察没有设置其字段,它们必须假定指定了未知选项,并且关闭失败。

名称

string

name 是此规则的标识符,长度不超过 100 个字符。实现应使用此字段来帮助改进任何应用的 BaselineAdminNetworkPolicies 的可观察性、可读性和错误报告。

支持:Core

ports

数组

端口允许根据端口和协议匹配流量。此字段是一个端口列表,应在针对此策略选择的 pod 上匹配,例如策略的主题。因此,它与入口流量的目标端口上匹配。如果没有设置 Ports,则规则不会通过端口过滤流量。

支持:Core

ports[]

object

AdminNetworkPolicyPort 描述了如何选择 pod 上的网络端口。必须设置一个字段。

4.1.25. .spec.ingress[].from

描述

from 是此规则应用到的源列表。如果任何 AdminNetworkPolicyIngressPeer 与传入流量的来源匹配,则会应用指定的操作。必须定义此字段并至少包含一个项。

支持:Core

类型
array

4.1.26. .spec.ingress[].from[]

描述
AdminNetworkPolicyIngressPeer 定义了一个集群内对等点,以允许来自的流量。必须为给定的对等点设置其中一个选择器指针。如果消费者观察没有设置其字段,它们必须假定指定了未知选项,并且关闭失败。
类型
object
属性类型描述

命名空间

object

命名空间定义了选择一组命名空间中的所有 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。

支持:Core

pods

object

Pod 定义了在一组命名空间中选择一组 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。

支持:Core

4.1.27. .spec.ingress[].from[].namespaces

描述

命名空间定义了选择一组命名空间中的所有 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。

支持:Core

类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

4.1.28. .spec.ingress[].from[].namespaces.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

4.1.29. .spec.ingress[].from[].namespaces.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

4.1.30. .spec.ingress[].from[].pods

描述

Pod 定义了在一组命名空间中选择一组 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。

支持:Core

类型
object
必填
  • namespaceSelector
  • podSelector
属性类型描述

namespaceSelector

object

namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。

podSelector

object

podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。

4.1.31. .spec.ingress[].from[].pods.namespaceSelector

描述
namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

4.1.32. .spec.ingress[].from[].pods.namespaceSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

4.1.33. .spec.ingress[].from[].pods.namespaceSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

4.1.34. .spec.ingress[].from[].pods.podSelector

描述
podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

4.1.35. .spec.ingress[].from[].pods.podSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

4.1.36. .spec.ingress[].from[].pods.podSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

4.1.37. .spec.ingress[].ports

描述

端口允许根据端口和协议匹配流量。此字段是一个端口列表,应在针对此策略选择的 pod 上匹配,例如策略的主题。因此,它与入口流量的目标端口上匹配。如果没有设置 Ports,则规则不会通过端口过滤流量。

支持:Core

类型
array

4.1.38. .spec.ingress[].ports[]

描述
AdminNetworkPolicyPort 描述了如何选择 pod 上的网络端口。必须设置一个字段。
类型
object
属性类型描述

namedPort

string

NamedPort 根据名称选择一个 pod 上的端口。

支持:扩展

<network-policy-api:experimental>

portNumber

object

port 根据数字选择 pod 上的端口。

支持:Core

portRange

object

PortRange 根据提供的 start 和 end 值在 pod 上选择一个端口范围。

支持:Core

4.1.39. .spec.ingress[].ports[].portNumber

描述

port 根据数字选择 pod 上的端口。

支持:Core

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

port

整数

number 定义网络端口值。

支持:Core

protocol

string

协议是流量必须匹配的网络协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。

支持:Core

4.1.40. .spec.ingress[].ports[].portRange

描述

PortRange 根据提供的 start 和 end 值在 pod 上选择一个端口范围。

支持:Core

类型
object
必填
  • end
  • start
属性类型描述

end

整数

end 定义端口范围末尾的网络端口,End 值必须大于 Start。

支持:Core

protocol

string

协议是流量必须匹配的网络协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。

支持:Core

start

整数

start 定义端口范围起始的网络端口,Start 值必须小于 End。

支持:Core

4.1.41. .spec.subject

描述

subject 定义此 BaselineAdminNetworkPolicy 应用到的 pod。请注意,主机网络的 pod 不包含在主题选择中。

支持:Core

类型
object
属性类型描述

命名空间

object

命名空间用于通过命名空间选择器选择 pod。

pods

object

Pod 用于通过命名空间 AND pod 选择器选择 pod。

4.1.42. .spec.subject.namespaces

描述
命名空间用于通过命名空间选择器选择 pod。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

4.1.43. .spec.subject.namespaces.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

4.1.44. .spec.subject.namespaces.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

4.1.45. .spec.subject.pods

描述
Pod 用于通过命名空间 AND pod 选择器选择 pod。
类型
object
必填
  • namespaceSelector
  • podSelector
属性类型描述

namespaceSelector

object

namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。

podSelector

object

podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。

4.1.46. .spec.subject.pods.namespaceSelector

描述
namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

4.1.47. .spec.subject.pods.namespaceSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

4.1.48. .spec.subject.pods.namespaceSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

4.1.49. .spec.subject.pods.podSelector

描述
podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

4.1.50. .spec.subject.pods.podSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

4.1.51. .spec.subject.pods.podSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

4.1.52. .status

描述
Status 是实现要报告的状态。
类型
object
必填
  • conditions
属性类型描述

conditions

array

 

conditions[]

对象

条件包含此 API 资源当前状态的一个方面的详情。--- 这个结构旨在直接用作字段路径 .status.conditions 中的数组。例如,

type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", 和 "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition json:"conditions, omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"

// other fields }

4.1.53. .status.conditions

描述
类型
array

4.1.54. .status.conditions[]

描述

条件包含此 API 资源当前状态的一个方面的详情。--- 这个结构旨在直接用作字段路径 .status.conditions 中的数组。例如,

type FooStatus struct{
    // Represents the observations of a foo's current state.
    // Known .status.conditions.type are: "Available", "Progressing", and "Degraded"
    // +patchMergeKey=type
    // +patchStrategy=merge
    // +listType=map
    // +listMapKey=type
    Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
    // other fields
}
类型
object
必填
  • lastTransitionTime
  • message
  • reason
  • status
  • type
属性类型描述

lastTransitionTime

字符串

lastTransitionTime 是条件从一个状态转换到另一个状态最后一次的时间。这应该是底层条件变化的时间。如果为未知,则使用 API 字段更改的时间是可以接受的。

message

字符串

Message 是人类可读的消息,指示有关转换的详细信息。这可能是一个空字符串。

observedGeneration

整数

observedGeneration 代表 .metadata.generation,这是条件设置所基于的条件。例如,如果 .metadata.generation 目前为 12,但 .status.conditions[x].observedGeneration 是 9,则代表条件与实例的当前状态已不匹配。

reason

字符串

reason 包含程序标识符,指示条件最后一次转换的原因。特定条件类型的制作者可能会定义预期的值和此字段的含义,以及这些值是否被视为有保证的 API。该值应该是 CamelCase 字符串。此字段可能不是空的。

status

字符串

条件的状态,True, False, Unknown 之一。

type

字符串

CamelCase 或 foo.example.com/CamelCase 中的条件类型。-- Many .condition.type 值在资源间是一致的,但因为任意条件可能很有用(请参阅 .node.status.conditions),deconflict 的能力非常重要。它匹配的正则表达式是 (dns1123SubdomainFmt/)? (qualifiedNameFmt)

4.2. API 端点

可用的 API 端点如下:

  • /apis/policy.networking.k8s.io/v1alpha1/baselineadminnetworkpolicies

    • DELETE: 删除 BaselineAdminNetworkPolicy 集合
    • GET: 列出类型为 BaselineAdminNetworkPolicy 的对象
    • POST :创建 BaselineAdminNetworkPolicy
  • /apis/policy.networking.k8s.io/v1alpha1/baselineadminnetworkpolicies/{name}

    • DELETE: delete a BaselineAdminNetworkPolicy
    • GET :读取指定的 BaselineAdminNetworkPolicy
    • PATCH: 部分更新指定的 BaselineAdminNetworkPolicy
    • PUT :替换指定的 BaselineAdminNetworkPolicy
  • /apis/policy.networking.k8s.io/v1alpha1/baselineadminnetworkpolicies/{name}/status

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

4.2.1. /apis/policy.networking.k8s.io/v1alpha1/baselineadminnetworkpolicies

HTTP 方法
DELETE
描述
删除 BaselineAdminNetworkPolicy 集合
表 4.1. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出类型为 BaselineAdminNetworkPolicy 的对象
表 4.2. HTTP 响应
HTTP 代码响应正文

200 - OK

BaselineAdminNetworkPolicyList schema

401 - Unauthorized

HTTP 方法
POST
描述
创建 BaselineAdminNetworkPolicy
表 4.3. 查询参数
参数类型描述

dryRun

string

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

fieldValidation

string

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

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

正文(body)

BaselineAdminNetworkPolicy schema

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

200 - OK

BaselineAdminNetworkPolicy schema

201 - Created

BaselineAdminNetworkPolicy schema

202 - Accepted

BaselineAdminNetworkPolicy schema

401 - Unauthorized

4.2.2. /apis/policy.networking.k8s.io/v1alpha1/baselineadminnetworkpolicies/{name}

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

name

字符串

BaselineAdminNetworkPolicy 的名称

HTTP 方法
DELETE
描述
delete a BaselineAdminNetworkPolicy
表 4.7. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
阅读指定的 BaselineAdminNetworkPolicy
表 4.9. HTTP 响应
HTTP 代码响应正文

200 - OK

BaselineAdminNetworkPolicy schema

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

BaselineAdminNetworkPolicy schema

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

BaselineAdminNetworkPolicy schema

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

200 - OK

BaselineAdminNetworkPolicy schema

201 - Created

BaselineAdminNetworkPolicy schema

401 - Unauthorized

4.2.3. /apis/policy.networking.k8s.io/v1alpha1/baselineadminnetworkpolicies/{name}/status

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

name

string

BaselineAdminNetworkPolicy 的名称

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

200 - OK

BaselineAdminNetworkPolicy schema

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

BaselineAdminNetworkPolicy schema

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

BaselineAdminNetworkPolicy schema

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

200 - OK

BaselineAdminNetworkPolicy schema

201 - Created

BaselineAdminNetworkPolicy schema

401 - Unauthorized

第 5 章 CloudPrivateIPConfig [cloud.network.openshift.io/v1]

描述
CloudPrivateIPConfig 将私有 IP 地址分配给与云虚拟机关联的主 NIC。这可以通过指定 IP 应该分配给的 IP 和 Kubernetes 节点来完成。此 CRD 旨在由管理集群网络的网络插件使用。spec 端代表网络插件请求的状态,状态端表示此 CRD 控制器执行的当前状态。没有用户修改它的权限,如果 cluster-admin 决定编辑它,则在下次网络插件协调对象时,其更改将被覆盖。注: CR 的名称必须指定请求的私有 IP 地址(可以是 IPv4 或 IPv6)。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
类型
object
必填
  • spec

5.1. 规格

属性类型描述

apiVersion

字符串

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

kind

字符串

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

metadata

ObjectMeta

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

spec

object

spec 是所需专用 IP 请求的定义。

status

object

status 是所需私有 IP 请求的观察状态。只读。

5.1.1. .spec

描述
spec 是所需专用 IP 请求的定义。
类型
object
属性类型描述

node

string

node 是节点名称,由 Kubernetes 字段指定:node.metadata.name

5.1.2. .status

描述
status 是所需私有 IP 请求的观察状态。只读。
类型
object
必填
  • conditions
属性类型描述

conditions

数组

condition 是专用 IP 及其状态的分配条件

conditions[]

对象

条件包含此 API 资源当前状态的一个方面的详情。--- 这个结构旨在直接用作字段路径 .status.conditions 中的数组。例如,输入 FooStatus struct{ // Represents the observations of a foo’s current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions" // other fields }

node

string

node 是节点名称,由 Kubernetes 字段指定:node.metadata.name

5.1.3. .status.conditions

描述
condition 是专用 IP 及其状态的分配条件
类型
array

5.1.4. .status.conditions[]

描述
条件包含此 API 资源当前状态的一个方面的详情。--- 这个结构旨在直接用作字段路径 .status.conditions 中的数组。例如,输入 FooStatus struct{ // Represents the observations of a foo’s current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions" // other fields }
类型
object
必填
  • lastTransitionTime
  • message
  • reason
  • status
  • type
属性类型描述

lastTransitionTime

字符串

lastTransitionTime 是条件从一个状态转换到另一个状态最后一次的时间。这应该是底层条件变化的时间。如果为未知,则使用 API 字段更改的时间是可以接受的。

message

字符串

Message 是人类可读的消息,指示有关转换的详细信息。这可能是一个空字符串。

observedGeneration

整数

observedGeneration 代表 .metadata.generation,这是条件设置所基于的条件。例如,如果 .metadata.generation 目前为 12,但 .status.conditions[x].observedGeneration 是 9,则代表条件与实例的当前状态已不匹配。

reason

字符串

reason 包含程序标识符,指示条件最后一次转换的原因。特定条件类型的制作者可能会定义预期的值和此字段的含义,以及这些值是否被视为有保证的 API。该值应该是 CamelCase 字符串。此字段可能不是空的。

status

字符串

条件的状态,True, False, Unknown 之一。

type

字符串

CamelCase 或 foo.example.com/CamelCase 中的条件类型。-- Many .condition.type 值在资源间是一致的,但因为任意条件可能很有用(请参阅 .node.status.conditions),deconflict 的能力非常重要。它匹配的正则表达式是 (dns1123SubdomainFmt/)? (qualifiedNameFmt)

5.2. API 端点

可用的 API 端点如下:

  • /apis/cloud.network.openshift.io/v1/cloudprivateipconfigs

    • DELETE :删除 CloudPrivateIPConfig 集合
    • GET: 列出类型为 CloudPrivateIPConfig 的对象
    • POST :创建 CloudPrivateIPConfig
  • /apis/cloud.network.openshift.io/v1/cloudprivateipconfigs/{name}

    • DELETE: delete a CloudPrivateIPConfig
    • GET :读取指定的 CloudPrivateIPConfig
    • PATCH: 部分更新指定的 CloudPrivateIPConfig
    • PUT :替换指定的 CloudPrivateIPConfig
  • /apis/cloud.network.openshift.io/v1/cloudprivateipconfigs/{name}/status

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

5.2.1. /apis/cloud.network.openshift.io/v1/cloudprivateipconfigs

HTTP 方法
DELETE
描述
删除 CloudPrivateIPConfig 集合
表 5.1. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出 CloudPrivateIPConfig 类型的对象
表 5.2. HTTP 响应
HTTP 代码响应正文

200 - OK

CloudPrivateIPConfigList schema

401 - Unauthorized

HTTP 方法
POST
描述
创建 CloudPrivateIPConfig
表 5.3. 查询参数
参数类型描述

dryRun

string

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

fieldValidation

string

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

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

正文(body)

CloudPrivateIPConfig schema

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

200 - OK

CloudPrivateIPConfig schema

201 - Created

CloudPrivateIPConfig schema

202 - Accepted

CloudPrivateIPConfig schema

401 - Unauthorized

5.2.2. /apis/cloud.network.openshift.io/v1/cloudprivateipconfigs/{name}

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

name

字符串

CloudPrivateIPConfig 的名称

HTTP 方法
DELETE
描述
delete a CloudPrivateIPConfig
表 5.7. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
阅读指定的 CloudPrivateIPConfig
表 5.9. HTTP 响应
HTTP 代码响应正文

200 - OK

CloudPrivateIPConfig schema

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

CloudPrivateIPConfig schema

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

CloudPrivateIPConfig schema

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

200 - OK

CloudPrivateIPConfig schema

201 - Created

CloudPrivateIPConfig schema

401 - Unauthorized

5.2.3. /apis/cloud.network.openshift.io/v1/cloudprivateipconfigs/{name}/status

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

name

string

CloudPrivateIPConfig 的名称

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

200 - OK

CloudPrivateIPConfig schema

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

CloudPrivateIPConfig schema

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

CloudPrivateIPConfig schema

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

200 - OK

CloudPrivateIPConfig schema

201 - Created

CloudPrivateIPConfig schema

401 - Unauthorized

第 6 章 EgressFirewall [k8s.ovn.org/v1]

描述
EgressFirewall 描述了命名空间的当前出口防火墙。系统将针对 pod 的命名空间 EgressFirewall 中的每个 EgressFirewallRule 检查从 pod 到集群外的 IP 地址的流量。如果没有规则匹配(或不存在 EgressFirewall),则默认允许流量。
类型
object
必填
  • spec

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

object

指定 EgressFirewall 所需的行为。

status

object

观察 EgressFirewall 的状态

6.1.1. .spec

描述
指定 EgressFirewall 所需的行为。
类型
object
必填
  • egress
属性类型描述

egress

数组

出口防火墙规则对象的集合

egress[]

object

EgressFirewallRule 是一个单一的 egressfirewall 规则对象

6.1.2. .spec.egress

描述
出口防火墙规则对象的集合
类型
array

6.1.3. .spec.egress[]

描述
EgressFirewallRule 是一个单一的 egressfirewall 规则对象
类型
object
必填
  • type
属性类型描述

ports

数组

端口指定规则适用的端口和协议

ports[]

对象

EgressFirewallPort 指定允许或拒绝流量的端口

对象

to 是允许/拒绝流量的目标

type

字符串

type 将此标记为 "Allow" 或 "Deny" 规则

6.1.4. .spec.egress[].ports

描述
端口指定规则适用的端口和协议
类型
array

6.1.5. .spec.egress[].ports[]

描述
EgressFirewallPort 指定允许或拒绝流量的端口
类型
object
必填
  • port
  • protocol
属性类型描述

port

整数

流量必须匹配的端口

protocol

string

流量必须匹配的协议(tcp、udp、sctp)。

6.1.6. .spec.egress[].to

描述
to 是允许/拒绝流量的目标
类型
object
属性类型描述

cidrSelector

字符串

cidrSelector 是允许/拒绝流量的 CIDR 范围。如果设置了,dnsName 和 nodeSelector 必须取消设置。

dnsName

字符串

dnsName 是允许/拒绝流量的域名。如果设置了,则必须取消设置 cidrSelector 和 nodeSelector。对于通配符 DNS 名称,'' 只会匹配一个标签。另外,在通配符 DNS 名称的开头只能使用一个 ''。例如: '*.example.com' 将匹配 'sub1.example.com',但不匹配 'sub2.sub1.example.com'

nodeSelector

object

nodeSelector 将允许/拒绝到所选节点的 Kubernetes 节点 IP 的流量。如果设置了,则必须取消设置 cidrSelector 和 DNSName。

6.1.7. .spec.egress[].to.nodeSelector

描述
nodeSelector 将允许/拒绝到所选节点的 Kubernetes 节点 IP 的流量。如果设置了,则必须取消设置 cidrSelector 和 DNSName。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

6.1.8. .spec.egress[].to.nodeSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

6.1.9. .spec.egress[].to.nodeSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

6.1.10. .status

描述
观察 EgressFirewall 的状态
类型
object
属性类型描述

messages

数组(字符串)

 

status

string

 

6.2. API 端点

可用的 API 端点如下:

  • /apis/k8s.ovn.org/v1/egressfirewalls

    • GET: 列出 EgressFirewall 类型的对象
  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressfirewalls

    • DELETE: 删除 EgressFirewall 集合
    • GET: 列出 EgressFirewall 类型的对象
    • POST :创建 EgressFirewall
  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressfirewalls/{name}

    • DELETE :删除 EgressFirewall
    • GET :读取指定的 EgressFirewall
    • PATCH: 部分更新指定的 EgressFirewall
    • PUT :替换指定的 EgressFirewall
  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressfirewalls/{name}/status

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

6.2.1. /apis/k8s.ovn.org/v1/egressfirewalls

HTTP 方法
GET
描述
列出 EgressFirewall 类型的对象
表 6.1. HTTP 响应
HTTP 代码响应正文

200 - OK

EgressFirewallList 模式

401 - Unauthorized

6.2.2. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressfirewalls

HTTP 方法
DELETE
描述
删除 EgressFirewall 集合
表 6.2. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出 EgressFirewall 类型的对象
表 6.3. HTTP 响应
HTTP 代码响应正文

200 - OK

EgressFirewallList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建 EgressFirewall
表 6.4. 查询参数
参数类型描述

dryRun

string

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

fieldValidation

string

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

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

正文(body)

EgressFirewall 模式

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

200 - OK

EgressFirewall 模式

201 - Created

EgressFirewall 模式

202 - Accepted

EgressFirewall 模式

401 - Unauthorized

6.2.3. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressfirewalls/{name}

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

name

字符串

EgressFirewall 的名称

HTTP 方法
DELETE
描述
删除 EgressFirewall
表 6.8. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
阅读指定的 EgressFirewall
表 6.10. HTTP 响应
HTTP 代码响应正文

200 - OK

EgressFirewall 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

EgressFirewall 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

EgressFirewall 模式

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

200 - OK

EgressFirewall 模式

201 - Created

EgressFirewall 模式

401 - Unauthorized

6.2.4. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressfirewalls/{name}/status

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

name

string

EgressFirewall 的名称

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

200 - OK

EgressFirewall 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

EgressFirewall 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

EgressFirewall 模式

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

200 - OK

EgressFirewall 模式

201 - Created

EgressFirewall 模式

401 - Unauthorized

第 7 章 EgressIP [k8s.ovn.org/v1]

描述
EgressIP 是一个 CRD,用户可以为其 spec 定义来自与 EgressIP 资源匹配的 pod 的所有出口流量定义固定源 IP。
类型
object
必填
  • spec

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

object

所需 EgressIP 行为的规格。

status

object

观察到 EgressIP 的状态。只读。

7.1.1. .spec

描述
所需 EgressIP 行为的规格。
类型
object
必填
  • egressIPs
  • namespaceSelector
属性类型描述

egressIPs

数组(字符串)

egressIPs 是请求的出口 IP 地址列表。可以是 IPv4 和/或 IPv6。这个字段是必须的。

namespaceSelector

object

namespaceSelector 仅将出口 IP 应用到与此定义匹配的命名空间。这个字段是必须的。

podSelector

object

podSelector 仅将出口 IP 应用到与此定义匹配的 pod。此字段是可选的,如果未设置,则会将出口 IP 应用到与 NamespaceSelector 匹配的命名空间中的所有 pod。如果它被设置:使用 NamespaceSelector 进行交集,因此将出口 IP 应用到 pod (在与这个 pod 选择器匹配的 NamespaceSelector 中)。

7.1.2. .spec.namespaceSelector

描述
namespaceSelector 仅将出口 IP 应用到与此定义匹配的命名空间。这个字段是必须的。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

7.1.3. .spec.namespaceSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

7.1.4. .spec.namespaceSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

7.1.5. .spec.podSelector

描述
podSelector 仅将出口 IP 应用到与此定义匹配的 pod。此字段是可选的,如果未设置,则会将出口 IP 应用到与 NamespaceSelector 匹配的命名空间中的所有 pod。如果它被设置:使用 NamespaceSelector 进行交集,因此将出口 IP 应用到 pod (在与这个 pod 选择器匹配的 NamespaceSelector 中)。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

7.1.6. .spec.podSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

7.1.7. .spec.podSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

7.1.8. .status

描述
观察到 EgressIP 的状态。只读。
类型
object
必填
  • items
属性类型描述

items

数组

分配出口 IP 列表及其对应的节点分配。

items[]

object

每个节点状态,用于分配的出口 IP。

7.1.9. .status.items

描述
分配出口 IP 列表及其对应的节点分配。
类型
array

7.1.10. .status.items[]

描述
每个节点状态,用于分配的出口 IP。
类型
object
必填
  • egressIP
  • node
属性类型描述

egressIP

string

分配的出口 IP

node

string

分配的节点名称

7.2. API 端点

可用的 API 端点如下:

  • /apis/k8s.ovn.org/v1/egressips

    • DELETE :删除 EgressIP 集合
    • GET: 列出 EgressIP 类型的对象
    • POST :创建 EgressIP
  • /apis/k8s.ovn.org/v1/egressips/{name}

    • DELETE :删除 EgressIP
    • GET :读取指定的 EgressIP
    • PATCH: 部分更新指定的 EgressIP
    • PUT :替换指定的 EgressIP

7.2.1. /apis/k8s.ovn.org/v1/egressips

HTTP 方法
DELETE
描述
删除 EgressIP 集合
表 7.1. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出 EgressIP 类型的对象
表 7.2. HTTP 响应
HTTP 代码响应正文

200 - OK

EgressIPList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建 EgressIP
表 7.3. 查询参数
参数类型描述

dryRun

string

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

fieldValidation

string

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

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

正文(body)

EgressIP 模式

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

200 - OK

EgressIP 模式

201 - Created

EgressIP 模式

202 - Accepted

EgressIP 模式

401 - Unauthorized

7.2.2. /apis/k8s.ovn.org/v1/egressips/{name}

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

name

字符串

EgressIP 的名称

HTTP 方法
DELETE
描述
delete an EgressIP
表 7.7. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的 EgressIP
表 7.9. HTTP 响应
HTTP 代码响应正文

200 - OK

EgressIP 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

EgressIP 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

EgressIP 模式

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

200 - OK

EgressIP 模式

201 - Created

EgressIP 模式

401 - Unauthorized

第 8 章 EgressQoS [k8s.ovn.org/v1]

描述
egressqos 是一个 CRD,允许用户在其命名空间中为 pod 出口流量定义 DSCP 值到指定的 CIDR。来自这些 pod 的流量将根据命名空间的 EgressQoSRule 中的每个 EgressQoSRule 检查,如果存在与相关 DSCP 值匹配的流量。
类型
对象

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

object

EgressQoSSpec 定义所需的 EgressQoS 状态

status

object

EgressQoSStatus 定义 EgressQoS 的观察状态

8.1.1. .spec

描述
EgressQoSSpec 定义所需的 EgressQoS 状态
类型
object
必填
  • egress
属性类型描述

egress

数组

一组 Egress QoS 规则对象

egress[]

object

 

8.1.2. .spec.egress

描述
一组 Egress QoS 规则对象
类型
array

8.1.3. .spec.egress[]

描述
类型
object
必填
  • dscp
属性类型描述

dscp

整数

DSCP 标记用于匹配 Pod 流量的值。

dstCIDR

string

DstCIDR 指定目的地的 CIDR。只有到此 CIDR 的流量标题将标记为 DSCP 值。此字段是可选的,如果没有设置该规则,无论目的地是什么,则规则会应用到所有出口流量。

podSelector

object

podSelector 只会将 QoS 规则应用到与这个定义匹配的命名空间中的 pod。此字段是可选的,如果没有设置会导致规则应用到命名空间中的所有 pod。

8.1.4. .spec.egress[].podSelector

描述
podSelector 只会将 QoS 规则应用到与这个定义匹配的命名空间中的 pod。此字段是可选的,如果没有设置会导致规则应用到命名空间中的所有 pod。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

8.1.5. .spec.egress[].podSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

8.1.6. .spec.egress[].podSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

8.1.7. .status

描述
EgressQoSStatus 定义 EgressQoS 的观察状态
类型
object
属性类型描述

conditions

数组

条件对象数组,指示 EgressQoS 对象状态的详细信息。

conditions[]

对象

条件包含此 API 资源当前状态的一个方面的详情。--- 这个结构旨在直接用作字段路径 .status.conditions 中的数组。例如,

type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", 和 "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition json:"conditions, omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"

// other fields }

status

string

简要指示是否成功应用了 EgressQoS 资源。

8.1.8. .status.conditions

描述
条件对象数组,指示 EgressQoS 对象状态的详细信息。
类型
array

8.1.9. .status.conditions[]

描述

条件包含此 API 资源当前状态的一个方面的详情。--- 这个结构旨在直接用作字段路径 .status.conditions 中的数组。例如,

type FooStatus struct{
    // Represents the observations of a foo's current state.
    // Known .status.conditions.type are: "Available", "Progressing", and "Degraded"
    // +patchMergeKey=type
    // +patchStrategy=merge
    // +listType=map
    // +listMapKey=type
    Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
    // other fields
}
类型
object
必填
  • lastTransitionTime
  • message
  • reason
  • status
  • type
属性类型描述

lastTransitionTime

字符串

lastTransitionTime 是条件从一个状态转换到另一个状态最后一次的时间。这应该是底层条件变化的时间。如果为未知,则使用 API 字段更改的时间是可以接受的。

message

字符串

Message 是人类可读的消息,指示有关转换的详细信息。这可能是一个空字符串。

observedGeneration

整数

observedGeneration 代表 .metadata.generation,这是条件设置所基于的条件。例如,如果 .metadata.generation 目前为 12,但 .status.conditions[x].observedGeneration 是 9,则代表条件与实例的当前状态已不匹配。

reason

字符串

reason 包含程序标识符,指示条件最后一次转换的原因。特定条件类型的制作者可能会定义预期的值和此字段的含义,以及这些值是否被视为有保证的 API。该值应该是 CamelCase 字符串。此字段可能不是空的。

status

字符串

条件的状态,True, False, Unknown 之一。

type

字符串

CamelCase 或 foo.example.com/CamelCase 中的条件类型。-- Many .condition.type 值在资源间是一致的,但因为任意条件可能很有用(请参阅 .node.status.conditions),deconflict 的能力非常重要。它匹配的正则表达式是 (dns1123SubdomainFmt/)? (qualifiedNameFmt)

8.2. API 端点

可用的 API 端点如下:

  • /apis/k8s.ovn.org/v1/egressqoses

    • GET: 列出类型为 EgressQoS 的对象
  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressqoses

    • DELETE: 删除 EgressQoS 的集合
    • GET: 列出类型为 EgressQoS 的对象
    • POST :创建 EgressQoS
  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressqoses/{name}

    • DELETE :删除 EgressQoS
    • GET :读取指定的 EgressQoS
    • PATCH: 部分更新指定的 EgressQoS
    • PUT :替换指定的 EgressQoS
  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressqoses/{name}/status

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

8.2.1. /apis/k8s.ovn.org/v1/egressqoses

HTTP 方法
GET
描述
列出类型为 EgressQoS 的对象
表 8.1. HTTP 响应
HTTP 代码响应正文

200 - OK

EgressQoSList 模式

401 - Unauthorized

8.2.2. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressqoses

HTTP 方法
DELETE
描述
删除 EgressQoS 集合
表 8.2. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出类型为 EgressQoS 的对象
表 8.3. HTTP 响应
HTTP 代码响应正文

200 - OK

EgressQoSList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建 EgressQoS
表 8.4. 查询参数
参数类型描述

dryRun

string

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

fieldValidation

string

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

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

正文(body)

egressqos 模式

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

200 - OK

egressqos 模式

201 - Created

egressqos 模式

202 - Accepted

egressqos 模式

401 - Unauthorized

8.2.3. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressqoses/{name}

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

name

字符串

EgressQoS 的名称

HTTP 方法
DELETE
描述
delete an EgressQoS
表 8.8. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
阅读指定的 EgressQoS
表 8.10. HTTP 响应
HTTP 代码响应正文

200 - OK

egressqos 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

egressqos 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

egressqos 模式

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

200 - OK

egressqos 模式

201 - Created

egressqos 模式

401 - Unauthorized

8.2.4. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressqoses/{name}/status

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

name

string

EgressQoS 的名称

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

200 - OK

egressqos 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

egressqos 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

egressqos 模式

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

200 - OK

egressqos 模式

201 - Created

egressqos 模式

401 - Unauthorized

第 9 章 EgressService [k8s.ovn.org/v1]

描述
EgressService 是一个 CRD,允许用户请求来自对应 LoadBalancer 服务端点的所有 pod 的出口数据包的源 IP 是其入口 IP。另外,它允许用户请求来自作为 LoadBalancer 服务端点的所有 pod 的出口数据包,并使用与主服务不同的网络。
类型
对象

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

object

EgressServiceSpec 定义所需的 EgressService 状态

status

object

EgressServiceStatus 定义 EgressService 的观察状态

9.1.1. .spec

描述
EgressServiceSpec 定义所需的 EgressService 状态
类型
object
属性类型描述

network

string

此服务应向哪些网络发送出口和对应的入口回复。这通常作为 VRF 映射实现,代表一个由省略使用默认主机路由的路由表的数字 id 或字符串名称。

nodeSelector

object

允许限制可以选择的节点在 sourceIPBy=LoadBalancerIP 时处理服务的流量。当只显示标签与指定选择器匹配的节点时,才能选择处理服务的流量。如果不指定集群中的任何节点,就可以选择它来管理该服务的流量。

sourceIPBy

string

决定源自支持 LoadBalancer 服务的 pod 的出口流量的源 IP。当 LoadBalancerIP 时,源 IP 被设置为其 LoadBalancer 入口 IP。当根据网络的接口设置网络源 IP 时,利用已经可用的 masquerade 规则。通常,这些规则将 SNAT 指定为传出接口的 IP,这意味着数据包通常保留节点的 IP。

9.1.2. .spec.nodeSelector

描述
允许限制可以选择的节点在 sourceIPBy=LoadBalancerIP 时处理服务的流量。当只显示标签与指定选择器匹配的节点时,才能选择处理服务的流量。如果不指定集群中的任何节点,就可以选择它来管理该服务的流量。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

9.1.3. .spec.nodeSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

9.1.4. .spec.nodeSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

9.1.5. .status

描述
EgressServiceStatus 定义 EgressService 的观察状态
类型
object
必填
  • 主机
属性类型描述

主机

string

选择用于处理服务流量的节点名称。如果 sourceIPBy=Network,字段将设置为"ALL"。

9.2. API 端点

可用的 API 端点如下:

  • /apis/k8s.ovn.org/v1/egressservices

    • GET: 列出类型为 EgressService 的对象
  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressservices

    • DELETE :删除 EgressService 的集合
    • GET: 列出类型为 EgressService 的对象
    • POST :创建 EgressService
  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressservices/{name}

    • DELETE :删除 EgressService
    • GET :读取指定的 EgressService
    • PATCH: 部分更新指定的 EgressService
    • PUT :替换指定的 EgressService
  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressservices/{name}/status

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

9.2.1. /apis/k8s.ovn.org/v1/egressservices

HTTP 方法
GET
描述
列出 EgressService 类型的对象
表 9.1. HTTP 响应
HTTP 代码响应正文

200 - OK

EgressServiceList 模式

401 - Unauthorized

9.2.2. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressservices

HTTP 方法
DELETE
描述
删除 EgressService 集合
表 9.2. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出 EgressService 类型的对象
表 9.3. HTTP 响应
HTTP 代码响应正文

200 - OK

EgressServiceList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建 EgressService
表 9.4. 查询参数
参数类型描述

dryRun

string

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

fieldValidation

string

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

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

正文(body)

EgressService 模式

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

200 - OK

EgressService 模式

201 - Created

EgressService 模式

202 - Accepted

EgressService 模式

401 - Unauthorized

9.2.3. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressservices/{name}

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

name

字符串

EgressService 的名称

HTTP 方法
DELETE
描述
删除 EgressService
表 9.8. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
阅读指定的 EgressService
表 9.10. HTTP 响应
HTTP 代码响应正文

200 - OK

EgressService 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

EgressService 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

EgressService 模式

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

200 - OK

EgressService 模式

201 - Created

EgressService 模式

401 - Unauthorized

9.2.4. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressservices/{name}/status

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

name

string

EgressService 的名称

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

200 - OK

EgressService 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

EgressService 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

EgressService 模式

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

200 - OK

EgressService 模式

201 - Created

EgressService 模式

401 - Unauthorized

第 10 章 Endpoints [v1]

描述

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

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

10.1. 规格

属性类型描述

apiVersion

字符串

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

kind

字符串

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

metadata

ObjectMeta

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

子集

array

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

subsets[]

对象

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

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

生成的端点集可视为:

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

10.1.1. .subsets

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

10.1.2. .subsets[]

描述

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

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

生成的端点集可视为:

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

addresses

array

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

addresses[]

对象

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

notReadyAddresses

array

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

notReadyAddresses[]

对象

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

ports

array

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

ports[]

对象

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

10.1.3. .subsets[].addresses

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

10.1.4. .subsets[].addresses[]

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

hostname

字符串

此端点的主机名

ip

字符串

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

nodeName

字符串

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

targetRef

对象

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

10.1.5. .subsets[].addresses[].targetRef

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

apiVersion

字符串

引用的 API 版本。

fieldPath

字符串

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

kind

字符串

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

name

字符串

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

namespace

字符串

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

resourceVersion

字符串

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

uid

字符串

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

10.1.6. .subsets[].notReadyAddresses

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

10.1.7. .subsets[].notReadyAddresses[]

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

hostname

字符串

此端点的主机名

ip

字符串

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

nodeName

字符串

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

targetRef

对象

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

10.1.8. .subsets[].notReadyAddresses[].targetRef

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

apiVersion

字符串

引用的 API 版本。

fieldPath

字符串

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

kind

字符串

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

name

字符串

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

namespace

字符串

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

resourceVersion

字符串

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

uid

字符串

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

10.1.9. .subsets[].ports

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

10.1.10. .subsets[].ports[]

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

appProtocol

字符串

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

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

* Kubernetes-defined prefixed name: * 'kubernetes.io/h2c' - HTTP/2 before knowledge overtext as https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior- * 'kubernetes.io/ws' - WebSocket over cleartext,如 https://www.rfc-editor.org/rfc/rfc6455 * 'kubernetes.io/wss' - WebSocket over TLS 所述

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

名称

字符串

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

port

整数

端点的端口号。

protocol

字符串

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

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

10.2. API 端点

可用的 API 端点如下:

  • /api/v1/endpoints

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

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

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

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

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

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

10.2.1. /api/v1/endpoints

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

200 - OK

EndpointsList 模式

401 - Unauthorized

10.2.2. /api/v1/watch/endpoints

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

200 - OK

WatchEvent 模式

401 - Unauthorized

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

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

dryRun

字符串

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

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

200 - OK

Status 模式

401 - Unauthorized

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

200 - OK

EndpointsList 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

Endpoints 模式

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

200 - OK

Endpoints 模式

201 - Created

Endpoints 模式

202 - Accepted

Endpoints 模式

401 - Unauthorized

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

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

200 - OK

WatchEvent 模式

401 - Unauthorized

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

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

name

字符串

端点的名称

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

dryRun

字符串

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

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

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

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

200 - OK

Endpoints 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

Endpoints 模式

201 - Created

Endpoints 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

Endpoints 模式

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

200 - OK

Endpoints 模式

201 - Created

Endpoints 模式

401 - Unauthorized

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

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

name

字符串

端点的名称

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

200 - OK

WatchEvent 模式

401 - Unauthorized

第 11 章 EndpointSlice [discovery.k8s.io/v1]

描述
EndpointSlice 代表实施服务的端点的子集。对于给定服务,可能有多个 EndpointSlice 对象,它们通过标签选择,必须加入来生成完整的端点。
类型
object
必填
  • addressType
  • 端点

11.1. 规格

属性类型描述

addressType

字符串

addressType 指定此 EndpointSlice 执行的地址类型。这个片段中的所有地址都必须是相同的类型。此字段在创建后是不可变的。目前支持以下地址类型:* IPv4:代表 IPv4 地址。* IPv6:代表 IPv6 地址。* FQDN:代表完全限定域名。

可能枚举值: - "FQDN" 代表 FQDN。- "IPv4" 代表 IPv4 地址。- "IPv6" 代表 IPv6 地址。

apiVersion

字符串

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

端点

array

端点是此片段中唯一端点的列表。每个片段最多可能包括 1000 个端点。

endpoints[]

对象

端点代表实施服务的单一逻辑"后端"。

kind

字符串

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

metadata

ObjectMeta

标准对象元数据。

ports

array

ports 指定此片段中每个端点公开的网络端口列表。每个端口都必须具有唯一的名称。当端口为空时,这表明没有定义的端口。当使用 nil port 值定义端口时,它表示 "all ports"。每个片段最多可能包括 100 个端口。

ports[]

对象

EndpointPort 代表 EndpointSlice 使用的端口

11.1.1. .endpoints

描述
端点是此片段中唯一端点的列表。每个片段最多可能包括 1000 个端点。
类型
array

11.1.2. .endpoints[]

描述
端点代表实施服务的单一逻辑"后端"。
类型
object
必填
  • addresses
属性类型描述

addresses

数组(字符串)

此端点的地址。此字段的内容会根据对应的 EndpointSlice addressType 字段进行解释。消费者必须在自身功能的情况下处理不同类型的地址。这必须至少包含一个地址,但没有超过 100 个。这些都假定是非常有的,客户端可能会选择仅使用第一个元素。请参阅 :https://issue.k8s.io/106267

conditions

对象

EndpointConditions 代表端点的当前条件。

deprecatedTopology

对象(字符串)

deprecatedTopology 包含 v1beta1 API 的拓扑信息部分。此字段已弃用,并在 v1beta1 API 被删除时删除(不早于 kubernetes v1.24)。虽然此字段可以保存值,但无法通过 v1 API 写入值,但任何尝试写入它都将静默忽略。拓扑信息可在 zone 和 nodeName 字段中找到。

hints

对象

EndpointHints 提供了描述如何使用端点的提示。

hostname

字符串

此端点的主机名。此字段可由端点使用者使用,以区分不同的端点(例如在 DNS 名称中)。使用相同主机名的多个端点应被视为无限(例如,DNS 中的多个 A 值)。必须是小写并传递 DNS 标签(RFC 1123)验证。

nodeName

字符串

nodeName 代表托管此端点的节点的名称。这可用于确定本地到节点的端点。

targetRef

ObjectReference

TargetRef 是代表此端点的 Kubernetes 对象的引用。

zone

字符串

zone 是此端点所在的区域的名称。

11.1.3. .endpoints[].conditions

描述
EndpointConditions 代表端点的当前条件。
类型
object
属性类型描述

ready

布尔值

Ready 表示此端点已准备好接收流量,具体取决于任何系统正在管理端点。nil 值表示未知状态。在大多数情况下,消费者应将此未知状态解释为就绪。出于兼容性的原因,对于终止端点,ready 不应该为 "true",但当正常就绪度行为被显式覆盖时,例如,相关服务设置了 publishNotReadyAddresses 标志时。

serving

布尔值

serving 与 ready 相同,除了无论端点终止状态如何设置。对于终止的就绪端点,此条件应设为 true。如果为 nil,消费者应该会延迟到 ready 条件。

Terminating

布尔值

Terminating 表示此端点正在终止。nil 值表示未知状态。消费者应解释这个未知状态,以表示端点没有终止。

11.1.4. .endpoints[].hints

描述
EndpointHints 提供了描述如何使用端点的提示。
类型
object
属性类型描述

forZones

array

forZones 表示此端点应使用的区域,以启用拓扑感知路由。

forZones[]

对象

ForZone 提供有关哪些区域应使用此端点的信息。

11.1.5. .endpoints[].hints.forZones

描述
forZones 表示此端点应使用的区域,以启用拓扑感知路由。
类型
array

11.1.6. .endpoints[].hints.forZones[]

描述
ForZone 提供有关哪些区域应使用此端点的信息。
类型
object
必填
  • name
属性类型描述

name

字符串

name 代表区域的名称。

11.1.7. .ports

描述
ports 指定此片段中每个端点公开的网络端口列表。每个端口都必须具有唯一的名称。当端口为空时,这表明没有定义的端口。当使用 nil port 值定义端口时,它表示 "all ports"。每个片段最多可能包括 100 个端口。
类型
array

11.1.8. .ports[]

描述
EndpointPort 代表 EndpointSlice 使用的端口
类型
object
属性类型描述

appProtocol

string

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

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

* Kubernetes-defined prefixed name: * 'kubernetes.io/h2c' - HTTP/2 before knowledge overtext as https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior- * 'kubernetes.io/ws' - WebSocket over cleartext,如 https://www.rfc-editor.org/rfc/rfc6455 * 'kubernetes.io/wss' - WebSocket over TLS 所述

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

名称

string

name 表示此端口的名称。EndpointSlice 中的所有端口都必须具有唯一的名称。如果 EndpointSlice 派生自 Kubernetes 服务,则对应于 Service.ports[].name。name 必须是空字符串或传递 DNS_LABEL 验证:* 不得超过 63 个字符。* 必须包含小写字母数字字符或 '-'。* 必须以字母数字字符开头和结尾。默认为空字符串。

port

整数

port 代表端点的端口号。如果没有指定,则端口不会被限制,必须在特定消费者的上下文中解释端口。

protocol

string

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

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

11.2. API 端点

可用的 API 端点如下:

  • /apis/discovery.k8s.io/v1/endpointslices

    • GET: 列出或监视类型为 EndpointSlice 的对象
  • /apis/discovery.k8s.io/v1/watch/endpointslices

    • GET: 观察单个更改 EndpointSlice. deprecated: 改为使用 'watch' 参数及列表操作。
  • /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices

    • DELETE :删除 EndpointSlice 的集合
    • GET: 列出或监视类型为 EndpointSlice 的对象
    • POST :创建 EndpointSlice
  • /apis/discovery.k8s.io/v1/watch/namespaces/{namespace}/endpointslices

    • GET: 观察单个更改 EndpointSlice. deprecated: 改为使用 'watch' 参数及列表操作。
  • /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}

    • DELETE :删除 EndpointSlice
    • GET :读取指定的 EndpointSlice
    • PATCH: 部分更新指定的 EndpointSlice
    • PUT :替换指定的 EndpointSlice
  • /apis/discovery.k8s.io/v1/watch/namespaces/{namespace}/endpointslices/{name}

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

11.2.1. /apis/discovery.k8s.io/v1/endpointslices

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

200 - OK

EndpointSliceList schema

401 - Unauthorized

11.2.2. /apis/discovery.k8s.io/v1/watch/endpointslices

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

200 - OK

WatchEvent 模式

401 - Unauthorized

11.2.3. /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices

HTTP 方法
DELETE
描述
删除 EndpointSlice 集合
表 11.3. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

401 - Unauthorized

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

200 - OK

EndpointSliceList schema

401 - Unauthorized

HTTP 方法
POST
描述
创建 EndpointSlice
表 11.6. 查询参数
参数类型描述

dryRun

string

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

fieldValidation

string

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

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

正文(body)

EndpointSlice schema

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

200 - OK

EndpointSlice schema

201 - Created

EndpointSlice schema

202 - Accepted

EndpointSlice schema

401 - Unauthorized

11.2.4. /apis/discovery.k8s.io/v1/watch/namespaces/{namespace}/endpointslices

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

200 - OK

WatchEvent 模式

401 - Unauthorized

11.2.5. /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}

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

name

字符串

EndpointSlice 的名称

HTTP 方法
DELETE
描述
delete an EndpointSlice
表 11.11. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
阅读指定的 EndpointSlice
表 11.13. HTTP 响应
HTTP 代码响应正文

200 - OK

EndpointSlice schema

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

EndpointSlice schema

201 - Created

EndpointSlice schema

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

EndpointSlice schema

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

200 - OK

EndpointSlice schema

201 - Created

EndpointSlice schema

401 - Unauthorized

11.2.6. /apis/discovery.k8s.io/v1/watch/namespaces/{namespace}/endpointslices/{name}

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

name

字符串

EndpointSlice 的名称

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

200 - OK

WatchEvent 模式

401 - Unauthorized

第 12 章 EgressRouter [network.operator.openshift.io/v1]

描述
EgressRouter 是一种允许用户定义出口路由器的功能,充当 pod 和外部系统间的桥接。出口路由器运行一个服务,它将来自 pod 或一组 pod 的出口流量重定向到远程外部系统或每个配置的多个目的地。它被 cluster-network-operator 使用。更具体地说,对于带有 <name> 的 EgressRouter CR,CNO 将创建和管理: - 名为 <name> - 一个名为 <name> 的出口 pod - 名为 <name> 兼容性级别 1 的 NAD:在主发行版本中至少为 12 个月或 3 个次版本(以更长的时间为准)。EgressRouter 是单个 egressrouter pod 配置对象。
类型
object
必填
  • spec

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

对象

所需出口路由器的规格。

status

对象

观察到 EgressRouter 的状态。

12.1.1. .spec

描述
所需出口路由器的规格。
类型
object
必填
  • addresses
  • 模式
  • networkInterface
属性类型描述

addresses

array

要在 pod 二级接口上配置的 IP 地址列表。

addresses[]

对象

EgressRouterAddress 包含要在路由器接口上配置的 IP CIDR 和网关的一对

模式

字符串

模式描述用于出口路由器的模式。默认模式为 "Redirect",它是目前唯一支持的模式。

networkInterface

对象

要创建/使用的接口规格。默认值为 macvlan。目前只支持 macvlan。

redirect

对象

redirect 代表特定于重定向模式的配置参数。

12.1.2. .spec.addresses

描述
要在 pod 二级接口上配置的 IP 地址列表。
类型
array

12.1.3. .spec.addresses[]

描述
EgressRouterAddress 包含要在路由器接口上配置的 IP CIDR 和网关的一对
类型
object
必填
  • ip
属性类型描述

gateway

字符串

如果无法自动决定下一跃点网关的 IP 地址。可以是 IPv4 或 IPv6。

ip

字符串

IP 是要在路由器接口上配置的地址。可以是 IPv4 或 IPv6。

12.1.4. .spec.networkInterface

描述
要创建/使用的接口规格。默认值为 macvlan。目前只支持 macvlan。
类型
object
属性类型描述

macvlan

对象

特定于 interfaceType macvlan 的参数

12.1.5. .spec.networkInterface.macvlan

描述
特定于 interfaceType macvlan 的参数
类型
object
必填
  • 模式
属性类型描述

master

字符串

master 接口的名称。如果可以从 IP 地址中推断出来,则不需要指定。

模式

字符串

模式描述了用于 macvlan 接口的模式 ; Bridge|Private|VEPA|Passthru 之一。默认模式为 "Bridge"。

12.1.6. .spec.redirect

描述
redirect 代表特定于重定向模式的配置参数。
类型
object
属性类型描述

fallbackIP

字符串

fallbackIP 指定远程目的地的 IP 地址。可以是 IPv4 或 IPv6。如果没有指定重定向规则,则来自路由器的所有流量都会被重定向到此 IP。如果指定了重定向规则,则路由器上的任何其他端口(未定义)上的任何连接都将重定向到此 IP。如果指定了重定向规则,且没有提供回退 IP,则其他端口上的连接将直接被拒绝。

redirectRules

array

L4RedirectRules 列表,在重定向模式中定义从 pod 到目的地的 DNAT 重定向。

redirectRules[]

对象

L4RedirectRule 定义从给定端口到目标 IP 和端口的 DNAT 重定向。

12.1.7. .spec.redirect.redirectRules

描述
L4RedirectRules 列表,在重定向模式中定义从 pod 到目的地的 DNAT 重定向。
类型
array

12.1.8. .spec.redirect.redirectRules[]

描述
L4RedirectRule 定义从给定端口到目标 IP 和端口的 DNAT 重定向。
类型
object
必填
  • destinationIP
  • port
  • protocol
属性类型描述

destinationIP

字符串

ip 指定远程目标的 IP 地址。可以是 IPv4 或 IPv6。

port

整数

port 是客户端应向其发送流量的端口号。

protocol

字符串

协议可以是 TCP、SCTP 或 UDP。

targetPort

整数

targetPort 允许指定流量重定向到的远程目的地上的端口号。如果未指定,则使用 "Port" 的值。

12.1.9. .status

描述
观察到 EgressRouter 的状态。
类型
object
必填
  • conditions
属性类型描述

conditions

array

观察出口路由器的状态

conditions[]

对象

EgressRouterStatusCondition 代表出口路由器的受管和受监控组件的状态。

12.1.10. .status.conditions

描述
观察出口路由器的状态
类型
array

12.1.11. .status.conditions[]

描述
EgressRouterStatusCondition 代表出口路由器的受管和受监控组件的状态。
类型
object
必填
  • status
  • type
属性类型描述

lastTransitionTime

``

lastTransitionTime 是当前 status 属性最后一次更新的时间。

message

字符串

Message 提供有关当前条件的附加信息。这只能被人类使用。它可以包含行 Feed 字符(U+000A),该字符应作为新行呈现。

reason

字符串

reason 是条件当前状态的 CamelCase 原因。

status

字符串

条件的状态,True, False, Unknown 之一。

type

字符串

Type 指定此条件所报告的方面; Available, Progressing, Degraded 之一

12.2. API 端点

可用的 API 端点如下:

  • /apis/network.operator.openshift.io/v1/egressrouters

    • GET: 列出类型为 EgressRouter 的对象
  • /apis/network.operator.openshift.io/v1/namespaces/{namespace}/egressrouters

    • DELETE :删除 EgressRouter 集合
    • GET: 列出类型为 EgressRouter 的对象
    • POST :创建 EgressRouter
  • /apis/network.operator.openshift.io/v1/namespaces/{namespace}/egressrouters/{name}

    • DELETE :删除 EgressRouter
    • GET :读取指定的 EgressRouter
    • PATCH: 部分更新指定的 EgressRouter
    • PUT :替换指定的 EgressRouter
  • /apis/network.operator.openshift.io/v1/namespaces/{namespace}/egressrouters/{name}/status

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

12.2.1. /apis/network.operator.openshift.io/v1/egressrouters

HTTP 方法
GET
描述
列出 EgressRouter 类型的对象
表 12.1. HTTP 响应
HTTP 代码响应正文

200 - OK

EgressRouterList 模式

401 - Unauthorized

12.2.2. /apis/network.operator.openshift.io/v1/namespaces/{namespace}/egressrouters

HTTP 方法
DELETE
描述
删除 EgressRouter 集合
表 12.2. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出 EgressRouter 类型的对象
表 12.3. HTTP 响应
HTTP 代码响应正文

200 - OK

EgressRouterList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建 EgressRouter
表 12.4. 查询参数
参数类型描述

dryRun

string

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

fieldValidation

string

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

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

正文(body)

EgressRouter 模式

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

200 - OK

EgressRouter 模式

201 - Created

EgressRouter 模式

202 - Accepted

EgressRouter 模式

401 - Unauthorized

12.2.3. /apis/network.operator.openshift.io/v1/namespaces/{namespace}/egressrouters/{name}

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

name

字符串

EgressRouter 的名称

HTTP 方法
DELETE
描述
delete an EgressRouter
表 12.8. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
阅读指定的 EgressRouter
表 12.10. HTTP 响应
HTTP 代码响应正文

200 - OK

EgressRouter 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

EgressRouter 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

EgressRouter 模式

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

200 - OK

EgressRouter 模式

201 - Created

EgressRouter 模式

401 - Unauthorized

12.2.4. /apis/network.operator.openshift.io/v1/namespaces/{namespace}/egressrouters/{name}/status

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

name

字符串

EgressRouter 的名称

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

200 - OK

EgressRouter 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

EgressRouter 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

EgressRouter 模式

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

200 - OK

EgressRouter 模式

201 - Created

EgressRouter 模式

401 - Unauthorized

第 13 章 Ingress [networking.k8s.io/v1]

描述
Ingress 是允许入站连接访问后端定义的端点的规则集合。可将 Ingress 配置为向外部可访问的 URL 提供服务、负载均衡流量、终止 SSL、提供基于名称的虚拟主机等。
类型
对象

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

对象

IngressSpec 描述了您希望存在的 Ingress 用户。

status

对象

IngressStatus 描述 Ingress 的当前状态。

13.1.1. .spec

描述
IngressSpec 描述了您希望存在的 Ingress 用户。
类型
object
属性类型描述

defaultBackend

对象

IngressBackend 描述给定服务和端口的所有端点。

ingressClassName

string

ingressClassName 是 IngressClass 集群资源的名称。Ingress 控制器实现使用此字段通过传输连接(controller → IngressClass → Ingress 资源)知道它们是否应提供此 Ingress 资源。虽然 kubernetes.io/ingress.class 注解(simple constant name)永远不会被正式定义,但 Ingress 控制器广泛支持 Ingress 控制器和 Ingress 资源之间的直接绑定。新创建的 Ingress 资源应该首选使用字段。但是,即使注解被正式弃用,但出于向后兼容的原因,入口控制器仍应遵循该注解(如果存在)。

rules

数组

rules 是用于配置 Ingress 的主机规则列表。如果未指定,或者没有规则匹配,则所有流量都会发送到默认后端。

rules[]

object

IngressRule 代表将指定主机下的路径映射到相关后端服务的规则。首先为主机匹配评估传入的请求,然后路由到与匹配的 IngressRuleValue 关联的后端。

tls

数组

TLS 代表 TLS 配置。目前,Ingress 只支持单个 TLS 端口 443。如果此列表的多个成员指定了不同的主机,则它们将根据通过 SNI TLS 扩展指定的主机名在同一端口上进行多路,如果入口控制器满足 ingress 支持 SNI。

tls[]

object

IngressTLS 描述了与入口关联的传输层安全性。

13.1.2. .spec.defaultBackend

描述
IngressBackend 描述给定服务和端口的所有端点。
类型
object
属性类型描述

resource

TypedLocalObjectReference

resource 是 Ingress 对象命名空间中的另一个 Kubernetes 资源的 ObjectRef。如果指定了 resource,则无法指定 service.Name 和 service.Port。这是使用 "Service" 相互排斥的设置。

service

对象

IngressServiceBackend 引用 Kubernetes Service 作为后端。

13.1.3. .spec.defaultBackend.service

描述
IngressServiceBackend 引用 Kubernetes Service 作为后端。
类型
object
必填
  • name
属性类型描述

name

string

name 是引用的服务。服务必须与 Ingress 对象位于同一个命名空间中。

port

对象

ServiceBackendPort 是被引用的服务端口。

13.1.4. .spec.defaultBackend.service.port

描述
ServiceBackendPort 是被引用的服务端口。
类型
object
属性类型描述

name

string

name 是服务上的端口的名称。这是一个带有 "Number" 的相互排斥的设置。

number

整数

number 是服务上的数字端口号(如 80)。这是使用 "Name" 相互排斥的设置。

13.1.5. .spec.rules

描述
rules 是用于配置 Ingress 的主机规则列表。如果未指定,或者没有规则匹配,则所有流量都会发送到默认后端。
类型
array

13.1.6. .spec.rules[]

描述
IngressRule 代表将指定主机下的路径映射到相关后端服务的规则。首先为主机匹配评估传入的请求,然后路由到与匹配的 IngressRuleValue 关联的后端。
类型
object
属性类型描述

主机

string

host 是网络主机的完全限定域名,如 RFC 3986 定义。请注意 RFC 3986: 1 中定义的 URI 的"主机"部分的以下偏差:不允许使用 IP。目前,IngressRuleValue 仅适用于父 Ingress Spec 中的 IP。2.: 分隔符不会被遵守,因为不允许使用端口。目前,Ingress 的端口被隐式为 http:80,https 为 :443。这两个选项可能会在以后有所变化。传入请求在 IngressRuleValue 之前与主机匹配。如果未指定主机,Ingress 会根据指定的 IngressRuleValue 路由所有流量。

主机可以是"precise",它是一个没有终止网络主机的域名(如 "foo.bar.com")或"wildcard",它是一个前缀为单个通配符标签的域名(如 ".foo.com")。通配符字符 '' 必须作为第一个 DNS 标签显示,且只匹配单个标签。您不能自行有一个通配符标签(如 Host == "*")。请求将按照以下方式与 Host 字段匹配:1。如果 host 是精确的,如果 http 主机标头等于 Host,则请求与此规则匹配。2.如果 host 是通配符,则请求将与此规则匹配,如果 http 主机标头等于通配符规则的后缀(删除第一个标签)。

http

对象

HTTPIngressRuleValue 是指向后端的 http 选择器列表。在示例中: http://<host>/<path>?<searchpart > → backend where of the url of the RFC 3986,此资源将用于匹配最后 '/' 以及第一个 '?' 或 '这个问题' 后的所有内容。

13.1.7. .spec.rules[].http

描述
HTTPIngressRuleValue 是指向后端的 http 选择器列表。在示例中: http://<host>/<path>?<searchpart > → backend where of the url of the RFC 3986,此资源将用于匹配最后 '/' 以及第一个 '?' 或 '这个问题' 后的所有内容。
类型
object
必填
  • 路径
属性类型描述

路径

数组

paths 是将请求映射到后端的路径集合。

paths[]

对象

HTTPIngressPath 将路径与后端相关联。与路径匹配的传入 URL 转发到后端。

13.1.8. .spec.rules[].http.paths

描述
paths 是将请求映射到后端的路径集合。
类型
array

13.1.9. .spec.rules[].http.paths[]

描述
HTTPIngressPath 将路径与后端相关联。与路径匹配的传入 URL 转发到后端。
类型
object
必填
  • pathType
  • 后端
属性类型描述

后端

对象

IngressBackend 描述给定服务和端口的所有端点。

path

string

path 与传入请求的路径匹配。目前,它可以包含不允许来自 RFC 3986 定义的 URL 的传统"path"部分。路径必须以 '/' 开头,在使用值为 "Exact" 或 "Prefix" 的 PathType 时必须存在。

pathType

string

pathType 决定路径匹配的解释。pathType 可以是以下值之一:* Exact: 完全匹配 URL 路径。* prefix: 根据 URL 路径前缀匹配,由 '/' 分割。匹配按元素基于路径元素进行。path 元素引用是路径中的标签列表,由 '/' 分隔符分割。如果每个 p 是请求路径的 p 的元素前缀,则请求是 path p 的匹配项。请注意,如果路径的最后一个元素是请求路径中最后一个元素的子字符串,则不是匹配项(例如 /foo/bar/baz 匹配 /foo/bar/baz),但不匹配 /foo/barbaz。* ImplementationSpecific:检查路径匹配最多为 IngressClass。实现可以将其视为单独的 PathType,或者将其与 Prefix 或 Exact 路径类型相同。需要实施才能支持所有路径类型。

可能枚举值:- "Exact" 完全匹配 URL 路径,且带有 case sensitivity。- "ImplementationSpecific" 匹配最多为 IngressClass。实现可以把它视为单独的 PathType,或者将其与 Prefix 或 Exact 路径类型相同。- "Prefix" 根据 '/' 分割的 URL 路径前缀匹配。匹配区分大小写,并按元素在 path 元素上完成。path 元素引用由 '/' 分隔符分割路径中的标签列表。如果每个 p 是请求路径的 p 的元素前缀,则请求是 path p 的匹配项。请注意,如果路径的最后一个元素是请求路径中最后一个元素的子字符串,则不是匹配项(例如 /foo/bar/baz 匹配 /foo/bar/baz),但不匹配 /foo/barbaz。如果 Ingress spec 中存在多个匹配路径,则优先匹配路径最长。示例: - /foo/bar不匹配对 /foo/barbaz - /foo/bar 匹配请求到 /foo/bar 和 /foo/bar/baz - /foo 和 /foo/ 的请求与 /foo 和 /foo/ 的匹配请求。如果 Ingress spec 中有两个路径,则优先级最长匹配的路径(/foo/)。

13.1.10. .spec.rules[].http.paths[].backend

描述
IngressBackend 描述给定服务和端口的所有端点。
类型
object
属性类型描述

resource

TypedLocalObjectReference

resource 是 Ingress 对象命名空间中的另一个 Kubernetes 资源的 ObjectRef。如果指定了 resource,则无法指定 service.Name 和 service.Port。这是使用 "Service" 相互排斥的设置。

service

对象

IngressServiceBackend 引用 Kubernetes Service 作为后端。

13.1.11. .spec.rules[].http.paths[].backend.service

描述
IngressServiceBackend 引用 Kubernetes Service 作为后端。
类型
object
必填
  • name
属性类型描述

name

string

name 是引用的服务。服务必须与 Ingress 对象位于同一个命名空间中。

port

对象

ServiceBackendPort 是被引用的服务端口。

13.1.12. .spec.rules[].http.paths[].backend.service.port

描述
ServiceBackendPort 是被引用的服务端口。
类型
object
属性类型描述

name

string

name 是服务上的端口的名称。这是一个带有 "Number" 的相互排斥的设置。

number

整数

number 是服务上的数字端口号(如 80)。这是使用 "Name" 相互排斥的设置。

13.1.13. .spec.tls

描述
TLS 代表 TLS 配置。目前,Ingress 只支持单个 TLS 端口 443。如果此列表的多个成员指定了不同的主机,则它们将根据通过 SNI TLS 扩展指定的主机名在同一端口上进行多路,如果入口控制器满足 ingress 支持 SNI。
类型
array

13.1.14. .spec.tls[]

描述
IngressTLS 描述了与入口关联的传输层安全性。
类型
object
属性类型描述

主机

数组(字符串)

主机是 TLS 证书中包含的主机列表。此列表中的值必须与 tlsSecret 中使用的名称匹配。如果未指定,默认为 loadbalancer 控制器满足此 Ingress 的通配符主机设置。

secretName

string

secretName 是用于在端口 443 上终止 TLS 流量的 secret 名称。字段保留可选,以只允许仅基于 SNI 主机名的 TLS 路由。如果监听器中的 SNI 主机与 IngressRule 使用的 "Host" 标头字段冲突,则 SNI 主机用于终止,并将 "Host" 标头的值用于路由。

13.1.15. .status

描述
IngressStatus 描述 Ingress 的当前状态。
类型
object
属性类型描述

loadBalancer

object

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

13.1.16. .status.loadBalancer

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

ingress

数组

Ingress 是一个包含负载均衡器的入口点的列表。

ingress[]

object

IngressLoadBalancerIngress 代表负载均衡器入口点的状态。

13.1.17. .status.loadBalancer.ingress

描述
Ingress 是一个包含负载均衡器的入口点的列表。
类型
array

13.1.18. .status.loadBalancer.ingress[]

描述
IngressLoadBalancerIngress 代表负载均衡器入口点的状态。
类型
object
属性类型描述

hostname

string

为基于 DNS 的负载均衡器入口点设置 hostname。

ip

string

为基于 IP 的负载均衡器入口点设置了 IP。

ports

数组

端口提供有关此 LoadBalancer 公开的端口的信息。

ports[]

object

IngressPortStatus 代表服务端口的错误条件

13.1.19. .status.loadBalancer.ingress[].ports

描述
端口提供有关此 LoadBalancer 公开的端口的信息。
类型
array

13.1.20. .status.loadBalancer.ingress[].ports[]

描述
IngressPortStatus 代表服务端口的错误条件
类型
object
必填
  • port
  • protocol
属性类型描述

错误

string

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

port

整数

port 是入口端口的端口号。

protocol

string

protocol 是入口端口的协议。支持的值有:"TCP", "UDP", "SCTP"

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

13.2. API 端点

可用的 API 端点如下:

  • /apis/networking.k8s.io/v1/ingresses

    • GET :列出或监视类型为 Ingress 的对象
  • /apis/networking.k8s.io/v1/watch/ingresses

    • GET: 观察单个对 Ingress 列表的更改。已弃用:使用带有 list 操作的 'watch' 参数。
  • /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses

    • DELETE :删除 Ingress 集合
    • GET :列出或监视类型为 Ingress 的对象
    • POST :创建 Ingress
  • /apis/networking.k8s.io/v1/watch/namespaces/{namespace}/ingresses

    • GET: 观察单个对 Ingress 列表的更改。已弃用:使用带有 list 操作的 'watch' 参数。
  • /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}

    • DELETE :删除 Ingress
    • GET :读取指定的 Ingress
    • PATCH: 部分更新指定的 Ingress
    • PUT :替换指定的 Ingress
  • /apis/networking.k8s.io/v1/watch/namespaces/{namespace}/ingresses/{name}

    • GET: 观察对类型为 Ingress 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤到带有 'fieldSelector' 参数的单个项目。
  • /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}/status

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

13.2.1. /apis/networking.k8s.io/v1/ingresses

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

200 - OK

IngressList 模式

401 - Unauthorized

13.2.2. /apis/networking.k8s.io/v1/watch/ingresses

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

200 - OK

WatchEvent 模式

401 - Unauthorized

13.2.3. /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses

HTTP 方法
DELETE
描述
删除 Ingress 集合
表 13.3. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

401 - Unauthorized

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

200 - OK

IngressList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建 Ingress
表 13.6. 查询参数
参数类型描述

dryRun

string

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

fieldValidation

string

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

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

正文(body)

Ingress 模式

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

200 - OK

Ingress 模式

201 - Created

Ingress 模式

202 - Accepted

Ingress 模式

401 - Unauthorized

13.2.4. /apis/networking.k8s.io/v1/watch/namespaces/{namespace}/ingresses

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

200 - OK

WatchEvent 模式

401 - Unauthorized

13.2.5. /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}

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

name

字符串

Ingress 的名称

HTTP 方法
DELETE
描述
删除 Ingress
表 13.11. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的 Ingress
表 13.13. HTTP 响应
HTTP 代码响应正文

200 - OK

Ingress 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

Ingress 模式

201 - Created

Ingress 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

Ingress 模式

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

200 - OK

Ingress 模式

201 - Created

Ingress 模式

401 - Unauthorized

13.2.6. /apis/networking.k8s.io/v1/watch/namespaces/{namespace}/ingresses/{name}

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

name

字符串

Ingress 的名称

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

200 - OK

WatchEvent 模式

401 - Unauthorized

13.2.7. /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}/status

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

name

字符串

Ingress 的名称

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

200 - OK

Ingress 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

Ingress 模式

201 - Created

Ingress 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

Ingress 模式

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

200 - OK

Ingress 模式

201 - Created

Ingress 模式

401 - Unauthorized

第 14 章 IngressClass [networking.k8s.io/v1]

描述
IngressClass 代表 Ingress 的类,由 Ingress Spec 引用。ingressclass.kubernetes.io/is-default-class 注解可以用来表示 IngressClass 应该被视为 default。当单个 IngressClass 资源将此注解设置为 true 时,没有指定类的新 Ingress 资源将分配此默认存储类。
类型
对象

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

对象

IngressClassSpec 提供有关 Ingress 类的信息。

14.1.1. .spec

描述
IngressClassSpec 提供有关 Ingress 类的信息。
类型
object
属性类型描述

controller

string

Controller 指的是应处理此类的控制器的名称。这允许由同一控制器控制的不同"类别"。例如,对于相同的实现控制器,您可能具有不同的参数。这应该被指定为域前缀路径长度不超过 250 个字符,如 "acme.io/ingress-controller"。此字段不可变。

parameters

对象

IngressClassParametersReference 标识 API 对象。这可用于指定集群或命名空间范围的资源。

14.1.2. .spec.parameters

描述
IngressClassParametersReference 标识 API 对象。这可用于指定集群或命名空间范围的资源。
类型
object
必填
  • kind
  • name
属性类型描述

apiGroup

string

APIGroup 是所引用资源的组。如果没有指定 APIGroup,则指定的 Kind 必须位于 core API 组中。对于任何其他第三方类型,需要 APIGroup。

kind

string

kind 是被引用的资源类型。

名称

string

name 是被引用的资源的名称。

namespace

string

namespace 是被引用的资源的命名空间。当 scope 设为 "Namespace" 时,需要此字段,且范围设置为 "Cluster" 时必须取消设置。

scope

string

Scope 代表这个引用集群或命名空间范围的资源。这可以设置为 "Cluster" (默认)或 "Namespace"。

14.2. API 端点

可用的 API 端点如下:

  • /apis/networking.k8s.io/v1/ingressclasses

    • DELETE: 删除 IngressClass 集合
    • GET: 列出或监视类型为 IngressClass 的对象
    • POST :创建 IngressClass
  • /apis/networking.k8s.io/v1/watch/ingressclasses

    • GET: 观察单个对 IngressClass 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
  • /apis/networking.k8s.io/v1/ingressclasses/{name}

    • DELETE: delete an IngressClass
    • GET :读取指定的 IngressClass
    • PATCH: 部分更新指定的 IngressClass
    • PUT :替换指定的 IngressClass
  • /apis/networking.k8s.io/v1/watch/ingressclasses/{name}

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

14.2.1. /apis/networking.k8s.io/v1/ingressclasses

HTTP 方法
DELETE
描述
删除 IngressClass 集合
表 14.1. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

401 - Unauthorized

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

200 - OK

IngressClassList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建 IngressClass
表 14.4. 查询参数
参数类型描述

dryRun

string

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

fieldValidation

string

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

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

正文(body)

IngressClass 模式

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

200 - OK

IngressClass 模式

201 - Created

IngressClass 模式

202 - Accepted

IngressClass 模式

401 - Unauthorized

14.2.2. /apis/networking.k8s.io/v1/watch/ingressclasses

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

200 - OK

WatchEvent 模式

401 - Unauthorized

14.2.3. /apis/networking.k8s.io/v1/ingressclasses/{name}

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

name

字符串

IngressClass 的名称

HTTP 方法
DELETE
描述
删除 IngressClass
表 14.9. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的 IngressClass
表 14.11. HTTP 响应
HTTP 代码响应正文

200 - OK

IngressClass 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

IngressClass 模式

201 - Created

IngressClass 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

IngressClass 模式

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

200 - OK

IngressClass 模式

201 - Created

IngressClass 模式

401 - Unauthorized

14.2.4. /apis/networking.k8s.io/v1/watch/ingressclasses/{name}

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

name

字符串

IngressClass 的名称

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

200 - OK

WatchEvent 模式

401 - Unauthorized

第 15 章 IPPool [whereabouts.cni.cncf.io/v1alpha1]

描述
IPPool 是 ippools API 的 Schema
类型
对象

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

对象

IPPoolSpec 定义 IPPool 的所需状态

15.1.1. .spec

描述
IPPoolSpec 定义 IPPool 的所需状态
类型
object
必填
  • 分配
  • range
属性类型描述

分配

对象

Allocation 是给定范围的分配的 IP 集合。其索引是到池范围相同的 index/offset 的 IP 的直接映射。

allocation{}

对象

IPAllocation 代表有关特定 IP 的 pod/容器所有者的元数据

range

字符串

range 是一个 RFC 4632/4291-style 字符串,代表 CIDR 标记中的 IP 地址和前缀长度

15.1.2. .spec.allocations

描述
Allocation 是给定范围的分配的 IP 集合。其索引是到池范围相同的 index/offset 的 IP 的直接映射。
类型
对象

15.1.3. .spec.allocations{}

描述
IPAllocation 代表有关特定 IP 的 pod/容器所有者的元数据
类型
object
必填
  • id
  • podref
属性类型描述

id

string

 

ifname

string

 

podref

string

 

15.2. API 端点

可用的 API 端点如下:

  • /apis/whereabouts.cni.cncf.io/v1alpha1/ippools

    • GET: 列出类型为 IPPool 的对象
  • /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/ippools

    • DELETE :删除 IPPool 集合
    • GET: 列出类型为 IPPool 的对象
    • POST :创建 IPPool
  • /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/ippools/{name}

    • DELETE :删除 IPPool
    • GET :读取指定的 IPPool
    • PATCH: 部分更新指定的 IPPool
    • PUT :替换指定的 IPPool

15.2.1. /apis/whereabouts.cni.cncf.io/v1alpha1/ippools

HTTP 方法
GET
描述
列出 IPPool 类型的对象
表 15.1. HTTP 响应
HTTP 代码响应正文

200 - OK

IPPoolList 模式

401 - Unauthorized

15.2.2. /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/ippools

HTTP 方法
DELETE
描述
删除 IPPool 集合
表 15.2. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出 IPPool 类型的对象
表 15.3. HTTP 响应
HTTP 代码响应正文

200 - OK

IPPoolList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建 IPPool
表 15.4. 查询参数
参数类型描述

dryRun

string

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

fieldValidation

string

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

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

正文(body)

IPPool 模式

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

200 - OK

IPPool 模式

201 - Created

IPPool 模式

202 - Accepted

IPPool 模式

401 - Unauthorized

15.2.3. /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/ippools/{name}

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

name

字符串

IPPool 的名称

HTTP 方法
DELETE
描述
删除 IPPool
表 15.8. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的 IPPool
表 15.10. HTTP 响应
HTTP 代码响应正文

200 - OK

IPPool 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

IPPool 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

IPPool 模式

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

200 - OK

IPPool 模式

201 - Created

IPPool 模式

401 - Unauthorized

第 16 章 MultiNetworkPolicy [k8s.cni.cncf.io/v1beta1]

描述
MultiNetworkPolicy 是一个 CRD 模式,为 net-attach-def 提供 NetworkPolicy 机制,该机制由 Network Plumbing Working Group 指定。MultiNetworkPolicy 与 Kubernetes NetworkPolicy 相同,请参阅 :https://kubernetes.io/docs/concepts/services-networking/network-policies/。
类型
对象

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

object

指定此 MultiNetworkPolicy 所需的行为。

16.1.1. .spec

描述
指定此 MultiNetworkPolicy 所需的行为。
类型
object
必填
  • podSelector
属性类型描述

egress

数组

要应用到所选 pod 的出口规则列表。如果没有 NetworkPolicies 选择 pod (和集群策略也允许流量),或者流量至少匹配 podSelector 与 pod 匹配的所有 NetworkPolicy 对象,则允许传出流量。如果此字段为空,则此 NetworkPolicy 会限制所有传出流量(且单独用于确保它选择的 pod 默认被隔离)。此字段在 1.8 中是 beta 级别

egress[]

object

NetworkPolicyEgressRule 描述了允许没有与 NetworkPolicySpec 的 pod 匹配的 pod 集合的流量。流量必须与端口 和 匹配。这个类型是 1.8 中的 beta 级别

ingress

数组

要应用到所选 pod 的 ingress 规则列表。如果没有 NetworkPolicies 选择 pod (并且集群策略允许流量),或者流量源是 pod 的本地节点,或者如果流量源是 pod 的本地节点,或者如果流量至少匹配 pod 的所有 NetworkPolicy 对象中的一个入站规则,则允许流量。如果此字段为空,则此 NetworkPolicy 不允许任何流量(只服务来确保它选择的 pod 默认被隔离)

ingress[]

object

NetworkPolicyIngressRule 描述了允许 pod 集合与 NetworkPolicySpec 的 pod 匹配的特定流量。流量必须与端口 和 from 匹配。

podSelector

object

这是选择 Pod 的标签选择器。此字段遵循标准标签选择器语义;如果存在,它会选择所有 pod。如果还设置了 NamespaceSelector,则 NetworkPolicyPeer 作为整个选择在 NamespaceSelector 选择的命名空间中匹配的 PodSelector 的 Pod。否则,它会在策略自己的命名空间中选择与 PodSelector 匹配的 Pod。

policyTypes

数组(字符串)

NetworkPolicy 相关规则类型列表。有效选项为 'Ingress'、'Egress' 或 'Ingress,Egress'。如果没有指定此字段,它将基于 Ingress 或 Egress 规则的存在;包含 Egress 部分的策略被假定为对 Egress 的影响,并且所有策略(无论它们是否包含 Ingress 部分)都会影响 Ingress。如果要编写仅限出口的策略,您必须明确指定 policyTypes [ 'Egress' ]。同样,如果您想要编写指定不允许出口的策略,您必须指定包含 'Egress' 的 policyTypes 值(因为这样的策略不包含 Egress 部分,否则将默认为 [ 'Ingress' ])。此字段在 1.8 中是 beta 级别

16.1.2. .spec.egress

描述
要应用到所选 pod 的出口规则列表。如果没有 NetworkPolicies 选择 pod (和集群策略也允许流量),或者流量至少匹配 podSelector 与 pod 匹配的所有 NetworkPolicy 对象,则允许传出流量。如果此字段为空,则此 NetworkPolicy 会限制所有传出流量(且单独用于确保它选择的 pod 默认被隔离)。此字段在 1.8 中是 beta 级别
类型
数组

16.1.3. .spec.egress[]

描述
NetworkPolicyEgressRule 描述了允许没有与 NetworkPolicySpec 的 pod 匹配的 pod 集合的流量。流量必须与端口 和 匹配。这个类型是 1.8 中的 beta 级别
类型
object
属性类型描述

ports

数组

传出流量的目标端口列表。此列表中的每个项目都使用逻辑 OR 合并。如果此字段为空或缺失,此规则匹配所有端口(不受端口限制的流量)。如果此字段至少包含一个项,则此规则仅在流量至少与列表中的一个端口匹配时才允许流量。

ports[]

object

NetworkPolicyPort 描述了允许流量的端口

数组

为这个规则选择的 pod 的目的地列表。此列表中的项目使用逻辑 OR 操作来合并。如果此字段为空或缺失,此规则与所有目的地匹配(不受目的地限制的流量)。如果此字段至少存在并包含一项,则该规则仅在流量至少与 to 列表中某一项匹配时才允许流量。

to[]

object

NetworkPolicyPeer 描述了允许来自流量的对等点。只允许某些字段组合

16.1.4. .spec.egress[].ports

描述
传出流量的目标端口列表。此列表中的每个项目都使用逻辑 OR 合并。如果此字段为空或缺失,此规则匹配所有端口(不受端口限制的流量)。如果此字段至少包含一个项,则此规则仅在流量至少与列表中的一个端口匹配时才允许流量。
类型
数组

16.1.5. .spec.egress[].ports[]

描述
NetworkPolicyPort 描述了允许流量的端口
类型
object
属性类型描述

port

integer-or-string

给定协议上的端口。这可以是 pod 上的数字或指定端口。如果没有提供此字段,则匹配所有端口名称和编号。

protocol

字符串

流量必须匹配的协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。

16.1.6. .spec.egress[].to

描述
为这个规则选择的 pod 的目的地列表。此列表中的项目使用逻辑 OR 操作来合并。如果此字段为空或缺失,此规则与所有目的地匹配(不受目的地限制的流量)。如果此字段至少存在并包含一项,则该规则仅在流量至少与 to 列表中某一项匹配时才允许流量。
类型
数组

16.1.7. .spec.egress[].to[]

描述
NetworkPolicyPeer 描述了允许来自流量的对等点。只允许某些字段组合
类型
对象
属性类型描述

ipBlock

对象

IPBlock 定义特定 IPBlock 的策略。如果设置了此字段,则不能有其他字段。

namespaceSelector

对象

使用集群范围的标签选择 Namespaces。此字段遵循标准标签选择器语义;如果存在,它会选择所有命名空间。如果也设置了 PodSelector,则 NetworkPolicyPeer 作为整个选择在 NamespaceSelector 选择的命名空间中匹配的 PodSelector 的 Pod。否则,它会在 NamespaceSelector 中选择 Namespaces 中的所有 Pod。

podSelector

对象

这是选择 Pod 的标签选择器。此字段遵循标准标签选择器语义;如果存在,它会选择所有 pod。如果还设置了 NamespaceSelector,则 NetworkPolicyPeer 作为整个选择在 NamespaceSelector 选择的命名空间中匹配的 PodSelector 的 Pod。否则,它会在策略自己的命名空间中选择与 PodSelector 匹配的 Pod。

16.1.8. .spec.egress[].to[].ipBlock

描述
IPBlock 定义特定 IPBlock 的策略。如果设置了此字段,则不能有其他字段。
类型
对象
必填
  • cidr
属性类型描述

cidr

string

CIDR 是代表 IP 块有效期示例的字符串,是 '192.168.1.1/24'

except

数组(字符串)

除外,如果值不在 CIDR 范围之外,则不应包含在 IP Block Valid 示例中的 CIDR 片段为 '192.168.1.1/24' Except 值

16.1.9. .spec.egress[].to[].namespaceSelector

描述
使用集群范围的标签选择 Namespaces。此字段遵循标准标签选择器语义;如果存在,它会选择所有命名空间。如果也设置了 PodSelector,则 NetworkPolicyPeer 作为整个选择在 NamespaceSelector 选择的命名空间中匹配的 PodSelector 的 Pod。否则,它会在 NamespaceSelector 中选择 Namespaces 中的所有 Pod。
类型
对象
属性类型描述

matchExpressions

数组

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 'key',运算符是 'In',值数组仅包含 'value'。要求的逻辑关系是 AND。

16.1.10. .spec.egress[].to[].namespaceSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

16.1.11. .spec.egress[].to[].namespaceSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
对象
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

16.1.12. .spec.egress[].to[].podSelector

描述
这是选择 Pod 的标签选择器。此字段遵循标准标签选择器语义;如果存在,它会选择所有 pod。如果还设置了 NamespaceSelector,则 NetworkPolicyPeer 作为整个选择在 NamespaceSelector 选择的命名空间中匹配的 PodSelector 的 Pod。否则,它会在策略自己的命名空间中选择与 PodSelector 匹配的 Pod。
类型
对象
属性类型描述

matchExpressions

数组

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 'key',运算符是 'In',值数组仅包含 'value'。要求的逻辑关系是 AND。

16.1.13. .spec.egress[].to[].podSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

16.1.14. .spec.egress[].to[].podSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
对象
必填
  • key
  • operator
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

16.1.15. .spec.ingress

描述
要应用到所选 pod 的 ingress 规则列表。如果没有 NetworkPolicies 选择 pod (并且集群策略允许流量),或者流量源是 pod 的本地节点,或者如果流量源是 pod 的本地节点,或者如果流量至少匹配 pod 的所有 NetworkPolicy 对象中的一个入站规则,则允许流量。如果此字段为空,则此 NetworkPolicy 不允许任何流量(只服务来确保它选择的 pod 默认被隔离)
类型
array

16.1.16. .spec.ingress[]

描述
NetworkPolicyIngressRule 描述了允许 pod 集合与 NetworkPolicySpec 的 pod 匹配的特定流量。流量必须与端口 和 from 匹配。
类型
object
属性类型描述

from

array

能够访问为这个规则选择的 pod 的源列表。此列表中的项目使用逻辑 OR 操作来合并。如果此字段为空或缺失,此规则与所有源匹配(不受源限制的流量)。如果此字段至少包含一个项,则该规则仅在流量与 from 列表中至少一个项匹配时才允许流量。

from[]

object

NetworkPolicyPeer 描述了允许来自流量的对等点。只允许某些字段组合

ports

数组

应该可在为此规则选择的 pod 上访问的端口列表。此列表中的每个项目都使用逻辑 OR 合并。如果此字段为空或缺失,此规则匹配所有端口(不受端口限制的流量)。如果此字段至少包含一个项,则此规则仅在流量至少与列表中的一个端口匹配时才允许流量。

ports[]

对象

NetworkPolicyPort 描述了允许流量的端口

16.1.17. .spec.ingress[].from

描述
能够访问为这个规则选择的 pod 的源列表。此列表中的项目使用逻辑 OR 操作来合并。如果此字段为空或缺失,此规则与所有源匹配(不受源限制的流量)。如果此字段至少包含一个项,则该规则仅在流量与 from 列表中至少一个项匹配时才允许流量。
类型
数组

16.1.18. .spec.ingress[].from[]

描述
NetworkPolicyPeer 描述了允许来自流量的对等点。只允许某些字段组合
类型
对象
属性类型描述

ipBlock

object

IPBlock 定义特定 IPBlock 的策略。如果设置了此字段,则不能有其他字段。

namespaceSelector

object

使用集群范围的标签选择 Namespaces。此字段遵循标准标签选择器语义;如果存在,它会选择所有命名空间。如果也设置了 PodSelector,则 NetworkPolicyPeer 作为整个选择在 NamespaceSelector 选择的命名空间中匹配的 PodSelector 的 Pod。否则,它会在 NamespaceSelector 中选择 Namespaces 中的所有 Pod。

podSelector

object

这是选择 Pod 的标签选择器。此字段遵循标准标签选择器语义;如果存在,它会选择所有 pod。如果还设置了 NamespaceSelector,则 NetworkPolicyPeer 作为整个选择在 NamespaceSelector 选择的命名空间中匹配的 PodSelector 的 Pod。否则,它会在策略自己的命名空间中选择与 PodSelector 匹配的 Pod。

16.1.19. .spec.ingress[].from[].ipBlock

描述
IPBlock 定义特定 IPBlock 的策略。如果设置了此字段,则不能有其他字段。
类型
object
必填
  • cidr
属性类型描述

cidr

string

CIDR 是代表 IP 块有效期示例的字符串,是 '192.168.1.1/24'

except

数组(字符串)

除外,如果值不在 CIDR 范围之外,则不应包含在 IP Block Valid 示例中的 CIDR 片段为 '192.168.1.1/24' Except 值

16.1.20. .spec.ingress[].from[].namespaceSelector

描述
使用集群范围的标签选择 Namespaces。此字段遵循标准标签选择器语义;如果存在,它会选择所有命名空间。如果也设置了 PodSelector,则 NetworkPolicyPeer 作为整个选择在 NamespaceSelector 选择的命名空间中匹配的 PodSelector 的 Pod。否则,它会在 NamespaceSelector 中选择 Namespaces 中的所有 Pod。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 'key',运算符是 'In',值数组仅包含 'value'。要求的逻辑关系是 AND。

16.1.21. .spec.ingress[].from[].namespaceSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

16.1.22. .spec.ingress[].from[].namespaceSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

string

key 是选择器应用到的标签键。

operator

string

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

16.1.23. .spec.ingress[].from[].podSelector

描述
这是选择 Pod 的标签选择器。此字段遵循标准标签选择器语义;如果存在,它会选择所有 pod。如果还设置了 NamespaceSelector,则 NetworkPolicyPeer 作为整个选择在 NamespaceSelector 选择的命名空间中匹配的 PodSelector 的 Pod。否则,它会在策略自己的命名空间中选择与 PodSelector 匹配的 Pod。
类型
object
属性类型描述

matchExpressions

数组

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 'key',运算符是 'In',值数组仅包含 'value'。要求的逻辑关系是 AND。

16.1.24. .spec.ingress[].from[].podSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

16.1.25. .spec.ingress[].from[].podSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

string

key 是选择器应用到的标签键。

operator

string

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

16.1.26. .spec.ingress[].ports

描述
应该可在为此规则选择的 pod 上访问的端口列表。此列表中的每个项目都使用逻辑 OR 合并。如果此字段为空或缺失,此规则匹配所有端口(不受端口限制的流量)。如果此字段至少包含一个项,则此规则仅在流量至少与列表中的一个端口匹配时才允许流量。
类型
array

16.1.27. .spec.ingress[].ports[]

描述
NetworkPolicyPort 描述了允许流量的端口
类型
object
属性类型描述

port

integer-or-string

给定协议上的端口。这可以是 pod 上的数字或指定端口。如果没有提供此字段,则匹配所有端口名称和编号。

protocol

string

流量必须匹配的协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。

16.1.28. .spec.podSelector

描述
这是选择 Pod 的标签选择器。此字段遵循标准标签选择器语义;如果存在,它会选择所有 pod。如果还设置了 NamespaceSelector,则 NetworkPolicyPeer 作为整个选择在 NamespaceSelector 选择的命名空间中匹配的 PodSelector 的 Pod。否则,它会在策略自己的命名空间中选择与 PodSelector 匹配的 Pod。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

object

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

 

16.1.29. .spec.podSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

16.1.30. .spec.podSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

string

key 是选择器应用到的标签键。

operator

string

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

16.2. API 端点

可用的 API 端点如下:

  • /apis/k8s.cni.cncf.io/v1beta1/multi-networkpolicies

    • GET: 列出类型为 MultiNetworkPolicy 的对象
  • /apis/k8s.cni.cncf.io/v1beta1/namespaces/{namespace}/multi-networkpolicies

    • DELETE :删除 MultiNetworkPolicy 集合
    • GET: 列出类型为 MultiNetworkPolicy 的对象
    • POST :创建一个 MultiNetworkPolicy
  • /apis/k8s.cni.cncf.io/v1beta1/namespaces/{namespace}/multi-networkpolicies/{name}

    • DELETE :删除 MultiNetworkPolicy
    • GET :读取指定的 MultiNetworkPolicy
    • PATCH: 部分更新指定的 MultiNetworkPolicy
    • PUT :替换指定的 MultiNetworkPolicy

16.2.1. /apis/k8s.cni.cncf.io/v1beta1/multi-networkpolicies

HTTP 方法
GET
描述
列出 MultiNetworkPolicy 类型的对象
表 16.1. HTTP 响应
HTTP 代码响应正文

200 - OK

MultiNetworkPolicyList schema

401 - Unauthorized

16.2.2. /apis/k8s.cni.cncf.io/v1beta1/namespaces/{namespace}/multi-networkpolicies

HTTP 方法
DELETE
描述
删除 MultiNetworkPolicy 集合
表 16.2. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出 MultiNetworkPolicy 类型的对象
表 16.3. HTTP 响应
HTTP 代码响应正文

200 - OK

MultiNetworkPolicyList schema

401 - Unauthorized

HTTP 方法
POST
描述
创建一个 MultiNetworkPolicy
表 16.4. 查询参数
参数类型描述

dryRun

字符串

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

fieldValidation

字符串

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

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

正文(body)

MultiNetworkPolicy 模式

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

200 - OK

MultiNetworkPolicy 模式

201 - Created

MultiNetworkPolicy 模式

202 - Accepted

MultiNetworkPolicy 模式

401 - Unauthorized

16.2.3. /apis/k8s.cni.cncf.io/v1beta1/namespaces/{namespace}/multi-networkpolicies/{name}

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

name

string

MultiNetworkPolicy 的名称

HTTP 方法
DELETE
描述
删除一个 MultiNetworkPolicy
表 16.8. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
阅读指定的 MultiNetworkPolicy
表 16.10. HTTP 响应
HTTP 代码响应正文

200 - OK

MultiNetworkPolicy 模式

401 - Unauthorized

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

dryRun

字符串

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

fieldValidation

字符串

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

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

200 - OK

MultiNetworkPolicy 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

MultiNetworkPolicy 模式

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

200 - OK

MultiNetworkPolicy 模式

201 - Created

MultiNetworkPolicy 模式

401 - Unauthorized

第 17 章 NetworkAttachmentDefinition [k8s.cni.cncf.io/v1]

描述
NetworkAttachmentDefinition 是 Network Plumbing Working Group 指定的 CRD 模式,用于表达将 pod 附加到一个或多个逻辑或物理网络的意图。更多信息: https://github.com/k8snetworkplumbingwg/multi-net-spec
类型
对象

17.1. 规格

属性类型描述

apiVersion

string

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

object

NetworkAttachmentDefinition spec 定义网络附加的所需状态

17.1.1. .spec

描述
NetworkAttachmentDefinition spec 定义网络附加的所需状态
类型
object
属性类型描述

config

字符串

NetworkAttachmentDefinition 配置是 JSON 格式的 CNI 配置

17.2. API 端点

可用的 API 端点如下:

  • /apis/k8s.cni.cncf.io/v1/network-attachment-definitions

    • GET: 列出 NetworkAttachmentDefinition 类型的对象
  • /apis/k8s.cni.cncf.io/v1/namespaces/{namespace}/network-attachment-definitions

    • DELETE :删除 NetworkAttachmentDefinition 集合
    • GET: 列出 NetworkAttachmentDefinition 类型的对象
    • POST :创建 NetworkAttachmentDefinition
  • /apis/k8s.cni.cncf.io/v1/namespaces/{namespace}/network-attachment-definitions/{name}

    • DELETE :删除 NetworkAttachmentDefinition
    • GET :读取指定的 NetworkAttachmentDefinition
    • PATCH: 部分更新指定的 NetworkAttachmentDefinition
    • PUT :替换指定的 NetworkAttachmentDefinition

17.2.1. /apis/k8s.cni.cncf.io/v1/network-attachment-definitions

HTTP 方法
GET
描述
列出 NetworkAttachmentDefinition 类型的对象
表 17.1. HTTP 响应
HTTP 代码响应正文

200 - OK

NetworkAttachmentDefinitionList schema

401 - Unauthorized

17.2.2. /apis/k8s.cni.cncf.io/v1/namespaces/{namespace}/network-attachment-definitions

HTTP 方法
DELETE
描述
删除 NetworkAttachmentDefinition 集合
表 17.2. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出 NetworkAttachmentDefinition 类型的对象
表 17.3. HTTP 响应
HTTP 代码响应正文

200 - OK

NetworkAttachmentDefinitionList schema

401 - Unauthorized

HTTP 方法
POST
描述
创建 NetworkAttachmentDefinition
表 17.4. 查询参数
参数类型描述

dryRun

string

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

fieldValidation

string

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

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

正文(body)

NetworkAttachmentDefinition schema

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

200 - OK

NetworkAttachmentDefinition schema

201 - Created

NetworkAttachmentDefinition schema

202 - Accepted

NetworkAttachmentDefinition schema

401 - Unauthorized

17.2.3. /apis/k8s.cni.cncf.io/v1/namespaces/{namespace}/network-attachment-definitions/{name}

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

name

字符串

NetworkAttachmentDefinition 的名称

HTTP 方法
DELETE
描述
delete a NetworkAttachmentDefinition
表 17.8. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的 NetworkAttachmentDefinition
表 17.10. HTTP 响应
HTTP 代码响应正文

200 - OK

NetworkAttachmentDefinition schema

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

NetworkAttachmentDefinition schema

401 - Unauthorized

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

dryRun

字符串

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

fieldValidation

字符串

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

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

正文(body)

NetworkAttachmentDefinition schema

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

200 - OK

NetworkAttachmentDefinition schema

201 - Created

NetworkAttachmentDefinition schema

401 - Unauthorized

第 18 章 NetworkPolicy [networking.k8s.io/v1]

描述
NetworkPolicy 描述一组 Pod 允许哪些网络流量
类型
对象

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

object

NetworkPolicySpec 提供 NetworkPolicy 的规格

18.1.1. .spec

描述
NetworkPolicySpec 提供 NetworkPolicy 的规格
类型
object
必填
  • podSelector
属性类型描述

egress

array

egress 是要应用到所选 pod 的出口规则列表。如果没有 NetworkPolicies 选择 pod (和集群策略也允许流量),或者流量至少匹配 podSelector 与 pod 匹配的所有 NetworkPolicy 对象,则允许传出流量。如果此字段为空,则此 NetworkPolicy 会限制所有传出流量(且单独用于确保它选择的 pod 默认被隔离)。此字段在 1.8 中是 beta 级别

egress[]

object

NetworkPolicyEgressRule 描述了允许没有与 NetworkPolicySpec 的 pod 匹配的 pod 集合的流量。流量必须与端口 和 匹配。这个类型是 1.8 中的 beta 级别

ingress

array

Ingress 是要应用到所选 pod 的 ingress 规则列表。如果没有 NetworkPolicies 选择 pod (并且集群策略允许流量),或者流量源是 pod 的本地节点,或者如果流量源是 pod 的本地节点,或者如果流量至少匹配 pod 的所有 NetworkPolicy 对象中的一个入站规则,则允许流量。如果此字段为空,则此 NetworkPolicy 不允许任何流量(只服务来确保它选择的 pod 默认被隔离)

ingress[]

object

NetworkPolicyIngressRule 描述了允许 pod 集合与 NetworkPolicySpec 的 pod 匹配的特定流量。流量必须与端口 和 from 匹配。

podSelector

LabelSelector

podSelector 选择此 NetworkPolicy 对象应用到的 pod。ingress 规则数组应用到此字段选择的任何 pod。多个网络策略可以选择同一组 pod。在这种情况下,每个的入站规则都会有一定的合并。此字段不可选,并遵循标准标签选择器语义。空 podSelector 匹配此命名空间中的所有 pod。

policyTypes

数组(字符串)

policyTypes 是 NetworkPolicy 相关的规则类型列表。有效选项为 ["Ingress"], ["Egress"], 或 ["Ingress", "Egress"]。如果没有指定此字段,它将根据存在入口或出口规则进行默认;包含出口部分的策略会被假定影响出口,并且所有策略(无论它们是否包含 ingress 部分)都会影响 ingress。如果要编写仅限出口的策略,您必须明确指定 policyTypes [ "Egress" ]。同样,如果您想要编写指定不允许出口的策略,您必须指定包含 "Egress" 的 policyTypes 值(因为这样的策略不包含 egress 部分,否则将默认为 [ "Ingress" ]。此字段在 1.8 中是 beta 级别

18.1.2. .spec.egress

描述
egress 是要应用到所选 pod 的出口规则列表。如果没有 NetworkPolicies 选择 pod (和集群策略也允许流量),或者流量至少匹配 podSelector 与 pod 匹配的所有 NetworkPolicy 对象,则允许传出流量。如果此字段为空,则此 NetworkPolicy 会限制所有传出流量(且单独用于确保它选择的 pod 默认被隔离)。此字段在 1.8 中是 beta 级别
类型
array

18.1.3. .spec.egress[]

描述
NetworkPolicyEgressRule 描述了允许没有与 NetworkPolicySpec 的 pod 匹配的 pod 集合的流量。流量必须与端口 和 匹配。这个类型是 1.8 中的 beta 级别
类型
object
属性类型描述

ports

array

ports 是传出流量的目标端口列表。此列表中的每个项目都使用逻辑 OR 合并。如果此字段为空或缺失,此规则匹配所有端口(不受端口限制的流量)。如果此字段至少包含一个项,则此规则仅在流量至少与列表中的一个端口匹配时才允许流量。

ports[]

对象

NetworkPolicyPort 描述了允许流量的端口

array

to 是为这个规则选择的 pod 的传出流量的目的地列表。此列表中的项目使用逻辑 OR 操作来合并。如果此字段为空或缺失,此规则与所有目的地匹配(不受目的地限制的流量)。如果此字段至少存在并包含一项,则该规则仅在流量至少与 to 列表中某一项匹配时才允许流量。

to[]

object

NetworkPolicyPeer 描述了允许进出流量的对等点。只允许某些字段组合

18.1.4. .spec.egress[].ports

描述
ports 是传出流量的目标端口列表。此列表中的每个项目都使用逻辑 OR 合并。如果此字段为空或缺失,此规则匹配所有端口(不受端口限制的流量)。如果此字段至少包含一个项,则此规则仅在流量至少与列表中的一个端口匹配时才允许流量。
类型
array

18.1.5. .spec.egress[].ports[]

描述
NetworkPolicyPort 描述了允许流量的端口
类型
object
属性类型描述

endPort

整数

endPort 表示策略允许端口到 endPort 的端口范围。如果没有定义 port 字段,或者 port 字段定义为命名(字符串)端口,则无法定义此字段。endPort 必须相等或大于 port。

port

IntOrString

port 代表给定协议上的端口。这可以是 pod 上的数字或指定端口。如果没有提供此字段,则匹配所有端口名称和编号。如果存在,则仅匹配指定协议和端口上的流量。

protocol

字符串

protocol 代表流量必须匹配的协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。

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

18.1.6. .spec.egress[].to

描述
to 是为这个规则选择的 pod 的传出流量的目的地列表。此列表中的项目使用逻辑 OR 操作来合并。如果此字段为空或缺失,此规则与所有目的地匹配(不受目的地限制的流量)。如果此字段至少存在并包含一项,则该规则仅在流量至少与 to 列表中某一项匹配时才允许流量。
类型
array

18.1.7. .spec.egress[].to[]

描述
NetworkPolicyPeer 描述了允许进出流量的对等点。只允许某些字段组合
类型
object
属性类型描述

ipBlock

object

IPBlock 描述了特定的 CIDR (Ex)"192.168.1.0/24","2001:db8::/64"),允许与 NetworkPolicySpec 的 podSelector 匹配的 pod。例外条目描述了不应包含在此规则中的 CIDR。

namespaceSelector

LabelSelector

namespaceSelector 使用集群范围的标签选择命名空间。此字段遵循标准标签选择器语义;如果存在,它会选择所有命名空间。

如果也设置了 podSelector,则 NetworkPolicyPeer 作为整个选择在 namespaceSelector 选择的命名空间中与 podSelector 匹配的 pod。否则,它会选择 namespaceSelector 选择的命名空间中的所有 pod。

podSelector

LabelSelector

podSelector 是一个标签选择器,它选择 pod。此字段遵循标准标签选择器语义;如果存在,它会选择所有 pod。

如果还设置了 namespaceSelector,则 NetworkPolicyPeer 作为整个选择在 NamespaceSelector 选择的 Namespaces 中与 podSelector 匹配的 pod。否则,它会在策略自己的命名空间中选择与 podSelector 匹配的 pod。

18.1.8. .spec.egress[].to[].ipBlock

描述
IPBlock 描述了特定的 CIDR (Ex)"192.168.1.0/24","2001:db8::/64"),允许与 NetworkPolicySpec 的 podSelector 匹配的 pod。例外条目描述了不应包含在此规则中的 CIDR。
类型
object
必填
  • cidr
属性类型描述

cidr

字符串

CIDR 是代表 IPBlock Valid 示例的字符串,即 "192.168.1.0/24" 或 "2001:db8::/64"

except

数组(字符串)

例外是不应包含在 IPBlock Valid 示例中的 CIDR 片段为 "192.168.1.0/24" 或 "2001:db8::/64" Except 值(如果它们不在 cidr 范围之外)

18.1.9. .spec.ingress

描述
Ingress 是要应用到所选 pod 的 ingress 规则列表。如果没有 NetworkPolicies 选择 pod (并且集群策略允许流量),或者流量源是 pod 的本地节点,或者如果流量源是 pod 的本地节点,或者如果流量至少匹配 pod 的所有 NetworkPolicy 对象中的一个入站规则,则允许流量。如果此字段为空,则此 NetworkPolicy 不允许任何流量(只服务来确保它选择的 pod 默认被隔离)
类型
array

18.1.10. .spec.ingress[]

描述
NetworkPolicyIngressRule 描述了允许 pod 集合与 NetworkPolicySpec 的 pod 匹配的特定流量。流量必须与端口 和 from 匹配。
类型
object
属性类型描述

from

array

from 是源列表,应能够访问为此规则选择的 pod。此列表中的项目使用逻辑 OR 操作来合并。如果此字段为空或缺失,此规则与所有源匹配(不受源限制的流量)。如果此字段至少包含一个项,则该规则仅在流量与 from 列表中至少一个项匹配时才允许流量。

from[]

object

NetworkPolicyPeer 描述了允许进出流量的对等点。只允许某些字段组合

ports

array

ports 是应该可在针对此规则选择的 pod 上访问的端口的列表。此列表中的每个项目都使用逻辑 OR 合并。如果此字段为空或缺失,此规则匹配所有端口(不受端口限制的流量)。如果此字段至少包含一个项,则此规则仅在流量至少与列表中的一个端口匹配时才允许流量。

ports[]

object

NetworkPolicyPort 描述了允许流量的端口

18.1.11. .spec.ingress[].from

描述
from 是源列表,应能够访问为此规则选择的 pod。此列表中的项目使用逻辑 OR 操作来合并。如果此字段为空或缺失,此规则与所有源匹配(不受源限制的流量)。如果此字段至少包含一个项,则该规则仅在流量与 from 列表中至少一个项匹配时才允许流量。
类型
array

18.1.12. .spec.ingress[].from[]

描述
NetworkPolicyPeer 描述了允许进出流量的对等点。只允许某些字段组合
类型
对象
属性类型描述

ipBlock

对象

IPBlock 描述了特定的 CIDR (Ex)"192.168.1.0/24","2001:db8::/64"),允许与 NetworkPolicySpec 的 podSelector 匹配的 pod。例外条目描述了不应包含在此规则中的 CIDR。

namespaceSelector

LabelSelector

namespaceSelector 使用集群范围的标签选择命名空间。此字段遵循标准标签选择器语义;如果存在,它会选择所有命名空间。

如果也设置了 podSelector,则 NetworkPolicyPeer 作为整个选择在 namespaceSelector 选择的命名空间中与 podSelector 匹配的 pod。否则,它会选择 namespaceSelector 选择的命名空间中的所有 pod。

podSelector

LabelSelector

podSelector 是一个标签选择器,它选择 pod。此字段遵循标准标签选择器语义;如果存在,它会选择所有 pod。

如果还设置了 namespaceSelector,则 NetworkPolicyPeer 作为整个选择在 NamespaceSelector 选择的 Namespaces 中与 podSelector 匹配的 pod。否则,它会在策略自己的命名空间中选择与 podSelector 匹配的 pod。

18.1.13. .spec.ingress[].from[].ipBlock

描述
IPBlock 描述了特定的 CIDR (Ex)"192.168.1.0/24","2001:db8::/64"),允许与 NetworkPolicySpec 的 podSelector 匹配的 pod。例外条目描述了不应包含在此规则中的 CIDR。
类型
object
必填
  • cidr
属性类型描述

cidr

字符串

CIDR 是代表 IPBlock Valid 示例的字符串,即 "192.168.1.0/24" 或 "2001:db8::/64"

except

数组(字符串)

例外是不应包含在 IPBlock Valid 示例中的 CIDR 片段为 "192.168.1.0/24" 或 "2001:db8::/64" Except 值(如果它们不在 cidr 范围之外)

18.1.14. .spec.ingress[].ports

描述
ports 是应该可在针对此规则选择的 pod 上访问的端口的列表。此列表中的每个项目都使用逻辑 OR 合并。如果此字段为空或缺失,此规则匹配所有端口(不受端口限制的流量)。如果此字段至少包含一个项,则此规则仅在流量至少与列表中的一个端口匹配时才允许流量。
类型
array

18.1.15. .spec.ingress[].ports[]

描述
NetworkPolicyPort 描述了允许流量的端口
类型
object
属性类型描述

endPort

整数

endPort 表示策略允许端口到 endPort 的端口范围。如果没有定义 port 字段,或者 port 字段定义为命名(字符串)端口,则无法定义此字段。endPort 必须相等或大于 port。

port

IntOrString

port 代表给定协议上的端口。这可以是 pod 上的数字或指定端口。如果没有提供此字段,则匹配所有端口名称和编号。如果存在,则仅匹配指定协议和端口上的流量。

protocol

字符串

protocol 代表流量必须匹配的协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。

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

18.2. API 端点

可用的 API 端点如下:

  • /apis/networking.k8s.io/v1/networkpolicies

    • GET: 列出或监视类型为 NetworkPolicy 的对象
  • /apis/networking.k8s.io/v1/watch/networkpolicies

    • GET: 观察单个对 NetworkPolicy 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
  • /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies

    • DELETE: 删除 NetworkPolicy 集合
    • GET: 列出或监视类型为 NetworkPolicy 的对象
    • POST :创建 NetworkPolicy
  • /apis/networking.k8s.io/v1/watch/namespaces/{namespace}/networkpolicies

    • GET: 观察单个对 NetworkPolicy 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
  • /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies/{name}

    • DELETE :删除 NetworkPolicy
    • GET :读取指定的 NetworkPolicy
    • PATCH: 部分更新指定的 NetworkPolicy
    • PUT :替换指定的 NetworkPolicy
  • /apis/networking.k8s.io/v1/watch/namespaces/{namespace}/networkpolicies/{name}

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

18.2.1. /apis/networking.k8s.io/v1/networkpolicies

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

200 - OK

NetworkPolicyList schema

401 - Unauthorized

18.2.2. /apis/networking.k8s.io/v1/watch/networkpolicies

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

200 - OK

WatchEvent 模式

401 - Unauthorized

18.2.3. /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies

HTTP 方法
DELETE
描述
删除 NetworkPolicy 集合
表 18.3. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

401 - Unauthorized

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

200 - OK

NetworkPolicyList schema

401 - Unauthorized

HTTP 方法
POST
描述
创建 NetworkPolicy
表 18.6. 查询参数
参数类型描述

dryRun

字符串

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

fieldValidation

字符串

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

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

正文(body)

NetworkPolicy 模式

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

200 - OK

NetworkPolicy 模式

201 - Created

NetworkPolicy 模式

202 - Accepted

NetworkPolicy 模式

401 - Unauthorized

18.2.4. /apis/networking.k8s.io/v1/watch/namespaces/{namespace}/networkpolicies

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

200 - OK

WatchEvent 模式

401 - Unauthorized

18.2.5. /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies/{name}

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

name

字符串

NetworkPolicy 的名称

HTTP 方法
DELETE
描述
删除 NetworkPolicy
表 18.11. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的 NetworkPolicy
表 18.13. HTTP 响应
HTTP 代码响应正文

200 - OK

NetworkPolicy 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

NetworkPolicy 模式

201 - Created

NetworkPolicy 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

NetworkPolicy 模式

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

200 - OK

NetworkPolicy 模式

201 - Created

NetworkPolicy 模式

401 - Unauthorized

18.2.6. /apis/networking.k8s.io/v1/watch/namespaces/{namespace}/networkpolicies/{name}

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

name

字符串

NetworkPolicy 的名称

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

200 - OK

WatchEvent 模式

401 - Unauthorized

第 19 章 OverlappingRangeIPReservation [whereabouts.cni.cncf.io/v1alpha1]

描述
OverlappingRangeIPReservation 是 OverlappingRangeIPReservations API 的 Schema
类型
object
必填
  • spec

19.1. 规格

属性类型描述

apiVersion

string

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

object

OverlappingRangeIPReservationSpec 定义所需的 OverlappingRangeIPReservation

19.1.1. .spec

描述
OverlappingRangeIPReservationSpec 定义所需的 OverlappingRangeIPReservation
类型
object
必填
  • podref
属性类型描述

containerid

string

 

ifname

string

 

podref

string

 

19.2. API 端点

可用的 API 端点如下:

  • /apis/whereabouts.cni.cncf.io/v1alpha1/overlappingrangeipreservations

    • GET: 列出类型为 OverlappingRangeIPReservation 的对象
  • /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/overlappingrangeipreservations

    • DELETE :删除 OverlappingRangeIPReservation 集合
    • GET: 列出类型为 OverlappingRangeIPReservation 的对象
    • POST :创建 OverlappingRangeIPReservation
  • /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/overlappingrangeipreservations/{name}

    • DELETE :删除 OverlappingRangeIPReservation
    • GET :读取指定的 OverlappingRangeIPReservation
    • PATCH: 部分更新指定的 OverlappingRangeIPReservation
    • PUT :替换指定的 OverlappingRangeIPReservation

19.2.1. /apis/whereabouts.cni.cncf.io/v1alpha1/overlappingrangeipreservations

HTTP 方法
GET
描述
列出 OverlappingRangeIPReservation 类型的对象
表 19.1. HTTP 响应
HTTP 代码响应正文

200 - OK

OverlappingRangeIPReservationList schema

401 - Unauthorized

19.2.2. /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/overlappingrangeipreservations

HTTP 方法
DELETE
描述
删除 OverlappingRangeIPReservation 集合
表 19.2. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出 OverlappingRangeIPReservation 类型的对象
表 19.3. HTTP 响应
HTTP 代码响应正文

200 - OK

OverlappingRangeIPReservationList schema

401 - Unauthorized

HTTP 方法
POST
描述
创建 OverlappingRangeIPReservation
表 19.4. 查询参数
参数类型描述

dryRun

字符串

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

fieldValidation

字符串

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

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

正文(body)

OverlappingRangeIPReservation 模式

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

200 - OK

OverlappingRangeIPReservation 模式

201 - Created

OverlappingRangeIPReservation 模式

202 - Accepted

OverlappingRangeIPReservation 模式

401 - Unauthorized

19.2.3. /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/overlappingrangeipreservations/{name}

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

name

字符串

OverlappingRangeIPReservation 的名称

HTTP 方法
DELETE
描述
删除 OverlappingRangeIPReservation
表 19.8. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
阅读指定的 OverlappingRangeIPReservation
表 19.10. HTTP 响应
HTTP 代码响应正文

200 - OK

OverlappingRangeIPReservation 模式

401 - Unauthorized

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

dryRun

字符串

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

fieldValidation

字符串

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

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

200 - OK

OverlappingRangeIPReservation 模式

401 - Unauthorized

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

dryRun

字符串

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

fieldValidation

字符串

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

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

正文(body)

OverlappingRangeIPReservation 模式

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

200 - OK

OverlappingRangeIPReservation 模式

201 - Created

OverlappingRangeIPReservation 模式

401 - Unauthorized

第 20 章 PodNetworkConnectivityCheck [controlplane.operator.openshift.io/v1alpha1]

描述
PodNetworkConnectivityCheck 兼容性级别 4:不提供兼容性,API 可以在任何原因而改变。这些功能不应由需要长期支持的应用程序使用。
类型
object
必填
  • spec

20.1. 规格

属性类型描述

apiVersion

string

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

kind

string

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

object

spec 定义连接检查的源和目标

status

object

status 包含连接检查的观察状态

20.1.1. .spec

描述
spec 定义连接检查的源和目标
类型
object
必填
  • sourcePod
  • targetEndpoint
属性类型描述

sourcePod

string

SourcePod 将从中检查条件的 pod 命名为

targetEndpoint

string

要检查的 EndpointAddress。形式为 host:port 的 TCP 地址。请注意,如果 host 是 DNS 名称,则如果无法解析 DNS 名称,则检查将失败。为主机指定要绕过 DNS 名称查找的 IP 地址。

tlsClientCert

object

tlsClientCert (如果指定),使用 'tls.crt' 和 'tls.key' 条目引用 kubernetes.io/tls 类型 secret,其中包含一个可选的 TLS 客户端证书和密钥,以便在检查需要客户端证书的端点时,安全地预先进行扫描,而无需在端点过程中造成过度登录。secret 必须与此资源位于同一个命名空间中。

20.1.2. .spec.tlsClientCert

描述
tlsClientCert (如果指定),使用 'tls.crt' 和 'tls.key' 条目引用 kubernetes.io/tls 类型 secret,其中包含一个可选的 TLS 客户端证书和密钥,以便在检查需要客户端证书的端点时,安全地预先进行扫描,而无需在端点过程中造成过度登录。secret 必须与此资源位于同一个命名空间中。
类型
object
必填
  • 名称
属性类型描述

名称

string

name 是引用的 secret 的 metadata.name

20.1.3. .status

描述
status 包含连接检查的观察状态
类型
object
属性类型描述

conditions

数组

条件总结检查的状态

conditions[]

object

PodNetworkConnectivityCheckCondition 代表 pod 网络连接的整体状态。

失败

数组

失败包含失败的检查操作的日志

failures[]

object

LogEntry 记录事件

中断

数组

中断包含中断时间的日志

outages[]

object

OutageEntry 记录中断的时间段

successes

数组

successes 包含日志成功检查操作

successes[]

object

LogEntry 记录事件

20.1.4. .status.conditions

描述
条件总结检查的状态
类型
数组

20.1.5. .status.conditions[]

描述
PodNetworkConnectivityCheckCondition 代表 pod 网络连接的整体状态。
类型
object
必填
  • status
  • type
属性类型描述

lastTransitionTime

``

条件从一个状态转换到另一个状态最后一次的时间。

message

string

消息以人类可读的格式表示最后一次转换的详细信息。

reason

string

以机器可读格式替换条件的最后状态转换的原因。

status

string

条件的状态

type

string

条件的类型

20.1.6. .status.failures

描述
失败包含失败的检查操作的日志
类型
数组

20.1.7. .status.failures[]

描述
LogEntry 记录事件
类型
object
必填
  • success
属性类型描述

latency

``

延迟记录了条目中提到的操作的时间。

message

string

以人类可读的格式解释状态的消息。

reason

string

以机器可读格式状态的原因。

success

布尔值

success 表示日志条目是否表示成功或失败。

time

``

检查操作的开始时间。

20.1.8. .status.outages

描述
中断包含中断时间的日志
类型
数组

20.1.9. .status.outages[]

描述
OutageEntry 记录中断的时间段
类型
object
属性类型描述

end

``

检测到中断结束

endLogs

数组

endLogs 包含与此中断结束相关的日志条目。应包含已解决中断的成功条目,并且可能存在几个前面的故障日志条目。

endLogs[]

object

LogEntry 记录事件

message

字符串

消息以人类可读的格式汇总中断详情。

start

``

检测到中断的开始

startLogs

array

startLogs 包含与此中断开始相关的日志条目。应该包含原始失败,以及任何失败模式更改的条目。

startLogs[]

object

LogEntry 记录事件

20.1.10. .status.outages[].endLogs

描述
endLogs 包含与此中断结束相关的日志条目。应包含已解决中断的成功条目,并且可能存在几个前面的故障日志条目。
类型
array

20.1.11. .status.outages[].endLogs[]

描述
LogEntry 记录事件
类型
object
必填
  • success
属性类型描述

latency

``

延迟记录了条目中提到的操作的时间。

message

字符串

以人类可读的格式解释状态的消息。

reason

字符串

以机器可读格式状态的原因。

success

布尔值

success 表示日志条目是否表示成功或失败。

time

``

检查操作的开始时间。

20.1.12. .status.outages[].startLogs

描述
startLogs 包含与此中断开始相关的日志条目。应该包含原始失败,以及任何失败模式更改的条目。
类型
array

20.1.13. .status.outages[].startLogs[]

描述
LogEntry 记录事件
类型
object
必填
  • success
属性类型描述

latency

``

延迟记录了条目中提到的操作的时间。

message

字符串

以人类可读的格式解释状态的消息。

reason

字符串

以机器可读格式状态的原因。

success

布尔值

success 表示日志条目是否表示成功或失败。

time

``

检查操作的开始时间。

20.1.14. .status.successes

描述
successes 包含日志成功检查操作
类型
array

20.1.15. .status.successes[]

描述
LogEntry 记录事件
类型
object
必填
  • success
属性类型描述

latency

``

延迟记录了条目中提到的操作的时间。

message

字符串

以人类可读的格式解释状态的消息。

reason

字符串

以机器可读格式状态的原因。

success

布尔值

success 表示日志条目是否表示成功或失败。

time

``

检查操作的开始时间。

20.2. API 端点

可用的 API 端点如下:

  • /apis/controlplane.operator.openshift.io/v1alpha1/podnetworkconnectivitychecks

    • GET: 列出类型为 PodNetworkConnectivityCheck 的对象
  • /apis/controlplane.operator.openshift.io/v1alpha1/namespaces/{namespace}/podnetworkconnectivitychecks

    • DELETE: 删除 PodNetworkConnectivityCheck 的集合
    • GET: 列出类型为 PodNetworkConnectivityCheck 的对象
    • POST :创建 PodNetworkConnectivityCheck
  • /apis/controlplane.operator.openshift.io/v1alpha1/namespaces/{namespace}/podnetworkconnectivitychecks/{name}

    • DELETE :删除 PodNetworkConnectivityCheck
    • GET :读取指定的 PodNetworkConnectivityCheck
    • PATCH: 部分更新指定的 PodNetworkConnectivityCheck
    • PUT :替换指定的 PodNetworkConnectivityCheck
  • /apis/controlplane.operator.openshift.io/v1alpha1/namespaces/{namespace}/podnetworkconnectivitychecks/{name}/status

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

20.2.1. /apis/controlplane.operator.openshift.io/v1alpha1/podnetworkconnectivitychecks

HTTP 方法
GET
描述
列出类型为 PodNetworkConnectivityCheck 的对象
表 20.1. HTTP 响应
HTTP 代码响应正文

200 - OK

PodNetworkConnectivityCheckList 模式

401 - Unauthorized

20.2.2. /apis/controlplane.operator.openshift.io/v1alpha1/namespaces/{namespace}/podnetworkconnectivitychecks

HTTP 方法
DELETE
描述
删除 PodNetworkConnectivityCheck 集合
表 20.2. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出类型为 PodNetworkConnectivityCheck 的对象
表 20.3. HTTP 响应
HTTP 代码响应正文

200 - OK

PodNetworkConnectivityCheckList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建 PodNetworkConnectivityCheck
表 20.4. 查询参数
参数类型描述

dryRun

字符串

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

fieldValidation

字符串

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

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

正文(body)

PodNetworkConnectivityCheck 模式

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

200 - OK

PodNetworkConnectivityCheck 模式

201 - Created

PodNetworkConnectivityCheck 模式

202 - Accepted

PodNetworkConnectivityCheck 模式

401 - Unauthorized

20.2.3. /apis/controlplane.operator.openshift.io/v1alpha1/namespaces/{namespace}/podnetworkconnectivitychecks/{name}

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

name

字符串

PodNetworkConnectivityCheck 的名称

HTTP 方法
DELETE
描述
删除 PodNetworkConnectivityCheck
表 20.8. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
阅读指定的 PodNetworkConnectivityCheck
表 20.10. HTTP 响应
HTTP 代码响应正文

200 - OK

PodNetworkConnectivityCheck 模式

401 - Unauthorized

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

dryRun

字符串

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

fieldValidation

字符串

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

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

200 - OK

PodNetworkConnectivityCheck 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

字符串

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

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

正文(body)

PodNetworkConnectivityCheck 模式

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

200 - OK

PodNetworkConnectivityCheck 模式

201 - Created

PodNetworkConnectivityCheck 模式

401 - Unauthorized

20.2.4. /apis/controlplane.operator.openshift.io/v1alpha1/namespaces/{namespace}/podnetworkconnectivitychecks/{name}/status

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

name

字符串

PodNetworkConnectivityCheck 的名称

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

200 - OK

PodNetworkConnectivityCheck 模式

401 - Unauthorized

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

dryRun

字符串

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

fieldValidation

字符串

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

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

200 - OK

PodNetworkConnectivityCheck 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

字符串

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

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

正文(body)

PodNetworkConnectivityCheck 模式

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

200 - OK

PodNetworkConnectivityCheck 模式

201 - Created

PodNetworkConnectivityCheck 模式

401 - Unauthorized

第 21 章 Route [route.openshift.io/v1]

描述

通过路由,开发人员可以通过 HTTP (S)了解负载平衡和代理层通过公共 DNS 条目公开服务。路由可以进一步指定 TLS 选项和证书,或者指定路由器也应该接受 HTTP 和 HTTPS 流量的公共 CNAME。管理员通常将其路由器配置为在集群防火墙外可见,还可在服务内容上添加额外的安全性、缓存或流量控制。路由器通常直接与服务端点通信。

创建路由后,可能不会更改 host 字段。通常,路由器在解析冲突时使用带有给定主机的最旧的路由。

路由器受到额外的自定义,可以通过 annotations 字段支持其他控制。

由于管理员可以配置多个路由器,因此路由状态字段用于向客户端返回每个路由器下路由的名称和状态的信息。如果客户端选择重复的名称,例如,则使用路由状态条件来指示无法选择路由。

要在路由上启用 HTTP/2 ALPN,它需要自定义(非通配符)证书。这可防止客户端的连接并发,特别是 Web 浏览器。由于连接重新使用的风险,我们不支持使用默认证书的 HTTP/2 ALPN。没有其自身自定义证书的路由在前端或后端上都不会是启用了 HTTP/2 ALPN 的路由。

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object
必填
  • spec

21.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_v2

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

spec

对象

RouteSpec 描述了路由公开的主机名或路径、任何安全信息,以及到路由指向的四个后端(服务)。根据分配给每个后端的权重在后端间分布请求。当使用 roundrobin 调度进入每个后端的请求部分时,后端权重会除以所有后端权重的总和。当后端有多个端点时,后端结束的请求会在端点之间循环分布。权重介于 0 到 256 之间,默认为 100。权重 0 会导致请求到后端。如果所有权重都为零,则路由将被视为没有后端并返回标准 503 响应。

tls 字段是可选的,允许路由的特定证书或行为。路由器通常在通配符域中配置默认证书,以在没有显式证书的情况下终止路由,但自定义主机名通常必须选择 passthrough (通过 TLS Server-Name- Indication 字段向后端发送流量)或提供证书。

status

对象

RouteStatus 提供有关路由状态的相关信息,包括确认哪个路由器。

21.1.1. .spec

描述

RouteSpec 描述了路由公开的主机名或路径、任何安全信息,以及到路由指向的四个后端(服务)。根据分配给每个后端的权重在后端间分布请求。当使用 roundrobin 调度进入每个后端的请求部分时,后端权重会除以所有后端权重的总和。当后端有多个端点时,后端结束的请求会在端点之间循环分布。权重介于 0 到 256 之间,默认为 100。权重 0 会导致请求到后端。如果所有权重都为零,则路由将被视为没有后端并返回标准 503 响应。

tls 字段是可选的,允许路由的特定证书或行为。路由器通常在通配符域中配置默认证书,以在没有显式证书的情况下终止路由,但自定义主机名通常必须选择 passthrough (通过 TLS Server-Name- Indication 字段向后端发送流量)或提供证书。

类型
对象
必填
属性类型描述

alternateBackends

array

alternateBackends 允许最多 3 个额外的后端分配给路由。只允许 Service kind,它将默认为 Service。使用 RouteTargetReference 对象中的 weight 字段指定相对的首选项。

alternateBackends[]

对象

RouteTargetReference 指定解析为端点的目标。只允许 'Service' kind。使用"weight"字段加重其他字段。

主机

字符串

主机是一个指向该服务的别名/DNS。可选。如果没有指定路由名称,则通常会自动选择。必须遵循 DNS952 子域惯例。

httpHeaders

对象

RouteHTTPHeaders 为 HTTP 标头定义策略。

path

字符串

路由器监视的路径,将流量路由到该服务的流量。选填

port

对象

RoutePort 定义从路由器到服务端点中的端点的端口映射。

subdomain

string

子域是在入口控制器的域(作为子域)中请求的 DNS 子域。如果设置 host,则忽略此字段。入口控制器可能会选择忽略这个建议的名称,在这种情况下,控制器会在 status.ingress 数组中报告分配的名称,或拒绝接受该路由。如果设置了这个值,且服务器不支持此字段,主机则会自动填充。否则主机将留空。该字段可能有多个以点分开的部分,但并非所有入口控制器都遵守请求。创建后无法更改此字段,但具有更新路由/自定义主机权限的用户除外。

示例:子域 frontend 会自动接收路由器子域 apps.mycluster.com,以获得完整的主机名 frontend.apps.mycluster.com

tls

对象

TLSConfig 定义用于保护路由并提供终止的配置

对象

RouteTargetReference 指定解析为端点的目标。只允许 'Service' kind。使用"weight"字段加重其他字段。

wildcardPolicy

字符串

用于路由的通配符策略。目前只允许 'Subdomain' 或 'None'。

21.1.2. .spec.alternateBackends

描述
alternateBackends 允许最多 3 个额外的后端分配给路由。只允许 Service kind,它将默认为 Service。使用 RouteTargetReference 对象中的 weight 字段指定相对的首选项。
类型
array

21.1.3. .spec.alternateBackends[]

描述
RouteTargetReference 指定解析为端点的目标。只允许 'Service' kind。使用"weight"字段加重其他字段。
类型
对象
必填
  • kind
  • name
属性类型描述

kind

字符串

路由引用的目标种类。目前,只允许 'Service'

name

字符串

要引用的服务/目标的名称,如服务的名称

weight

整数

weight 作为 0 到 256 之间的整数,默认 100 指定针对其他目标引用对象的目标相对权重。0 会阻止请求进入此后端。

21.1.4. .spec.httpHeaders

描述
RouteHTTPHeaders 为 HTTP 标头定义策略。
类型
object
属性类型描述

操作

object

RouteHTTPHeaderActions 定义 HTTP 请求和响应标头的操作配置。

21.1.5. .spec.httpHeaders.actions

描述
RouteHTTPHeaderActions 定义 HTTP 请求和响应标头的操作配置。
类型
object
属性类型描述

request

array

request 是要修改的 HTTP 请求标头列表。目前,操作可以定义为 SetDelete 标头值。此处定义的操作将修改通过路由发出的所有请求的请求标头。这些操作应用于集群内定义的特定路由,例如通过路由进行的连接。目前,操作可以定义为 SetDelete 标头值。路由操作将在请求标头的 IngressController 操作后执行。操作按此列表中定义的序列应用。可以配置最多 20 个请求标头操作。您可以使用此字段指定在将连接从客户端转发到应用程序时应设置或删除的 HTTP 请求标头。允许的示例获取器为 "req.hdr" 和 "ssl_c_der"。允许的转换器是 "lower" 和 "base64"。标头值示例:"%[req.hdr (X-target),lower]", "%{+Q}[ssl_c_der,base64]"。使用此 API 直接通过 Route 资源应用的任何请求标头配置都会覆盖通过 IngressController 或路由注解上 spec.httpHeaders.actions 应用的名称相同的标头配置。注: 如果您的路由使用 TLS 透传,则无法使用此字段。

request[]

object

RouteHTTPHeader 指定设置或删除 HTTP 标头的配置。

response

array

response 是要修改的 HTTP 响应标头列表。目前,操作可以定义为 SetDelete 标头值。此处定义的操作将修改通过路由发出的所有请求的响应标头。这些操作应用于集群内定义的特定路由,例如通过路由进行的连接。路由操作将在响应标头的 IngressController 操作之前执行。操作按此列表中定义的序列应用。可以配置最多 20 个响应标头操作。您可以使用此字段指定在将应用程序中的响应转发到客户端时应设置或删除的 HTTP 响应标头。允许的示例 fetchers 是 "res.hdr" 和 "ssl_c_der"。允许的转换器是 "lower" 和 "base64"。示例标题值:"%[res.hdr (X-target),lower]", "%{+Q}[ssl_c_der,base64]"。注: 如果您的路由使用 TLS 透传,则无法使用此字段。

response[]

object

RouteHTTPHeader 指定设置或删除 HTTP 标头的配置。

21.1.6. .spec.httpHeaders.actions.request

描述
request 是要修改的 HTTP 请求标头列表。目前,操作可以定义为 SetDelete 标头值。此处定义的操作将修改通过路由发出的所有请求的请求标头。这些操作应用于集群内定义的特定路由,例如通过路由进行的连接。目前,操作可以定义为 SetDelete 标头值。路由操作将在请求标头的 IngressController 操作后执行。操作按此列表中定义的序列应用。可以配置最多 20 个请求标头操作。您可以使用此字段指定在将连接从客户端转发到应用程序时应设置或删除的 HTTP 请求标头。允许的示例获取器为 "req.hdr" 和 "ssl_c_der"。允许的转换器是 "lower" 和 "base64"。标头值示例:"%[req.hdr (X-target),lower]", "%{+Q}[ssl_c_der,base64]"。使用此 API 直接通过 Route 资源应用的任何请求标头配置都会覆盖通过 IngressController 或路由注解上 spec.httpHeaders.actions 应用的名称相同的标头配置。注: 如果您的路由使用 TLS 透传,则无法使用此字段。
类型
array

21.1.7. .spec.httpHeaders.actions.request[]

描述
RouteHTTPHeader 指定设置或删除 HTTP 标头的配置。
类型
对象
必填
  • 名称
  • action
属性类型描述

action

对象

RouteHTTPHeaderActionUnion 指定对 HTTP 标头执行的操作。

名称

string

name 指定要对其执行操作的标头名称。其值必须是 RFC 2616 第 4.2 部分中定义的有效 HTTP 标头名称。名称只能包含字母数字字符及以下特殊字符 "-!这个问题$%&'*+.^_'"。以下标头名称会被保留,可能无法通过此 API 修改: Strict-Transport-Security、Proxy、Cookie、Set-Cookie。它长度不得超过 255 个字符。标头名称必须是唯一的。

21.1.8. .spec.httpHeaders.actions.request[].action

描述
RouteHTTPHeaderActionUnion 指定对 HTTP 标头执行的操作。
类型
对象
必填
  • type
属性类型描述

set

对象

RouteSetHTTPHeader 指定在 HTTP 标头上需要设置什么值。

type

字符串

type 定义要在标头中应用的操作类型。可能的值有 Set 或 Delete。设置允许您设置 HTTP 请求和响应标头。通过删除,您可以删除 HTTP 请求和响应标头。

21.1.9. .spec.httpHeaders.actions.request[].action.set

描述
RouteSetHTTPHeader 指定在 HTTP 标头上需要设置什么值。
类型
对象
必填
  • value
属性类型描述

value

string

value 指定标头值。可以添加动态值。该值将解释为 http://cbonte.github.io/haproxy-dconv/2.6/configuration.html#8.2.6 中定义的 HAProxy 格式字符串,并可能使用 HAProxy 的 %[] 语法,否则必须是 https://datatracker.ietf.org/doc/html/rfc7230#section-3.2 中定义的有效 HTTP 标头值。此字段的值长度不得超过 16384 个字符。请注意,在相互隔离动态值后,所有 net 添加标头的总大小不能超过 IngressController 上的 spec.tuningOptions.headerBufferMaxRewriteBytes 的值。

21.1.10. .spec.httpHeaders.actions.response

描述
response 是要修改的 HTTP 响应标头列表。目前,操作可以定义为 SetDelete 标头值。此处定义的操作将修改通过路由发出的所有请求的响应标头。这些操作应用于集群内定义的特定路由,例如通过路由进行的连接。路由操作将在响应标头的 IngressController 操作之前执行。操作按此列表中定义的序列应用。可以配置最多 20 个响应标头操作。您可以使用此字段指定在将应用程序中的响应转发到客户端时应设置或删除的 HTTP 响应标头。允许的示例 fetchers 是 "res.hdr" 和 "ssl_c_der"。允许的转换器是 "lower" 和 "base64"。示例标题值:"%[res.hdr (X-target),lower]", "%{+Q}[ssl_c_der,base64]"。注: 如果您的路由使用 TLS 透传,则无法使用此字段。
类型
array

21.1.11. .spec.httpHeaders.actions.response[]

描述
RouteHTTPHeader 指定设置或删除 HTTP 标头的配置。
类型
对象
必填
  • 名称
  • action
属性类型描述

action

对象

RouteHTTPHeaderActionUnion 指定对 HTTP 标头执行的操作。

名称

string

name 指定要对其执行操作的标头名称。其值必须是 RFC 2616 第 4.2 部分中定义的有效 HTTP 标头名称。名称只能包含字母数字字符及以下特殊字符 "-!这个问题$%&'*+.^_'"。以下标头名称会被保留,可能无法通过此 API 修改: Strict-Transport-Security、Proxy、Cookie、Set-Cookie。它长度不得超过 255 个字符。标头名称必须是唯一的。

21.1.12. .spec.httpHeaders.actions.response[].action

描述
RouteHTTPHeaderActionUnion 指定对 HTTP 标头执行的操作。
类型
对象
必填
  • type
属性类型描述

set

object

RouteSetHTTPHeader 指定在 HTTP 标头上需要设置什么值。

type

字符串

type 定义要在标头中应用的操作类型。可能的值有 Set 或 Delete。设置允许您设置 HTTP 请求和响应标头。通过删除,您可以删除 HTTP 请求和响应标头。

21.1.13. .spec.httpHeaders.actions.response[].action.set

描述
RouteSetHTTPHeader 指定在 HTTP 标头上需要设置什么值。
类型
object
必填
  • value
属性类型描述

value

字符串

value 指定标头值。可以添加动态值。该值将解释为 http://cbonte.github.io/haproxy-dconv/2.6/configuration.html#8.2.6 中定义的 HAProxy 格式字符串,并可能使用 HAProxy 的 %[] 语法,否则必须是 https://datatracker.ietf.org/doc/html/rfc7230#section-3.2 中定义的有效 HTTP 标头值。此字段的值长度不得超过 16384 个字符。请注意,在相互隔离动态值后,所有 net 添加标头的总大小不能超过 IngressController 上的 spec.tuningOptions.headerBufferMaxRewriteBytes 的值。

21.1.14. .spec.port

描述
RoutePort 定义从路由器到服务端点中的端点的端口映射。
类型
object
必填
  • targetPort
属性类型描述

targetPort

IntOrString

此路由所指向的服务选择的 pod 上的目标端口。如果这是字符串,它会在目标端点端口列表中作为命名的端口进行查找。必填

21.1.15. .spec.tls

描述
TLSConfig 定义用于保护路由并提供终止的配置
类型
object
必填
  • termination
属性类型描述

caCertificate

字符串

caCertificate 提供证书颁发机构证书内容

certificate

字符串

证书提供证书内容。这应该是单一服务证书,而不是证书链。不要包括 CA 证书。

destinationCACertificate

字符串

destinationCACertificate 提供最终目的地的 ca 证书的内容。使用重新加密终止时,应提供此文件,以便让路由器将它用于安全连接上的健康检查。如果没有指定此字段,路由器可能会提供自己的目标 CA,并使用短服务名称(service.namespace.svc)执行主机名验证,它允许基础架构生成的证书自动验证。

externalCertificate

object

LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。

insecureEdgeTerminationPolicy

字符串

insecureEdgeTerminationPolicy 表示路由不安全连接所需的行为。虽然每个路由器可能会对要公开的端口做出自己的决定,但通常这是端口 80。

如果路由没有指定 insecureEdgeTerminationPolicy,则默认行为是 "None"。

* allow - 流量发送到不安全端口中的服务器(仅限边缘/重新加密终止)。

* None - 在不安全的端口(默认)上不允许流量。

* Redirect - 客户端被重定向到安全端口。

key

字符串

密钥提供密钥文件内容

termination

字符串

termination 表示终止类型。

* edge - TLS 终止由路由器完成,http 用于与后端通信(默认)= 透传 - 在不提供 TLS 终止的路由器时直接发送到目的地,TLS 终止由路由器完成,https 用于与后端通信

注:passthrough 终止与 httpHeader 操作不兼容

21.1.16. .spec.tls.externalCertificate

描述
LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
类型
object
属性类型描述

名称

字符串

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

21.1.17. .spec.to

描述
RouteTargetReference 指定解析为端点的目标。只允许 'Service' kind。使用"weight"字段加重其他字段。
类型
object
必填
  • kind
  • 名称
属性类型描述

kind

字符串

路由引用的目标种类。目前,只允许 'Service'

名称

字符串

要引用的服务/目标的名称,如服务的名称

weight

整数

weight 作为 0 到 256 之间的整数,默认 100 指定针对其他目标引用对象的目标相对权重。0 会阻止请求进入此后端。

21.1.18. .status

描述
RouteStatus 提供有关路由状态的相关信息,包括确认哪个路由器。
类型
object
属性类型描述

ingress

array

Ingress 描述了可公开路由的位置。ingress 点列表可能包含重复的主机或 RouterName 值。路由在就绪后被视为 Ready

ingress[]

object

RouteIngress 包含有关公开路由的位置的信息。

21.1.19. .status.ingress

描述
Ingress 描述了可公开路由的位置。ingress 点列表可能包含重复的主机或 RouterName 值。路由在就绪后被视为 Ready
类型
array

21.1.20. .status.ingress[]

描述
RouteIngress 包含有关公开路由的位置的信息。
类型
对象
属性类型描述

conditions

array

条件是路由的状态,可能为空。

conditions[]

object

RouteIngressCondition 包含特定路由器上此路由的当前条件的详情。

主机

字符串

host 是公开路由的主机字符串;需要这个值

routerCanonicalHostname

字符串

CanonicalHostname 是路由器的外部主机名,可用作为此路由请求的主机的 CNAME。这个值是可选的,可能不会在所有情况下设置。

routerName

字符串

名称是路由器选择以标识自身的名称;需要这个值

wildcardPolicy

字符串

通配符策略是允许公开此路由的通配符策略。

21.1.21. .status.ingress[].conditions

描述
条件是路由的状态,可能为空。
类型
array

21.1.22. .status.ingress[].conditions[]

描述
RouteIngressCondition 包含特定路由器上此路由的当前条件的详情。
类型
object
必填
  • type
  • status
属性类型描述

lastTransitionTime

时间

当条件最后转换时的 RFC 3339 日期和时间

message

字符串

人类可读的消息,指示最后一次转换的详细信息。

reason

字符串

(简洁) 条件最后一次转换的原因,通常是机器和人类可读的常量。

status

字符串

status 是条件的状态。可以是 True, False, Unknown。

type

字符串

type 是条件的类型。目前只有 Admitted 或 UnservableInFutureVersions。

21.2. API 端点

可用的 API 端点如下:

  • /apis/route.openshift.io/v1/routes

    • GET :列出或监视类型为 Route 的对象
  • /apis/route.openshift.io/v1/watch/routes

    • GET: 观察单个对 Route 列表的更改。已弃用:改为使用 'watch' 参数以及列表操作。
  • /apis/route.openshift.io/v1/namespaces/{namespace}/routes

    • DELETE :删除路由的集合
    • GET :列出或监视类型为 Route 的对象
    • POST :创建路由
  • /apis/route.openshift.io/v1/watch/namespaces/{namespace}/routes

    • GET: 观察单个对 Route 列表的更改。已弃用:改为使用 'watch' 参数以及列表操作。
  • /apis/route.openshift.io/v1/namespaces/{namespace}/routes/{name}

    • DELETE :删除路由
    • GET :读指定的路由
    • PATCH :部分更新指定的路由
    • PUT :替换指定的路由
  • /apis/route.openshift.io/v1/watch/namespaces/{namespace}/routes/{name}

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

    • GET :指定 Route 的读取状态
    • PATCH :部分更新指定路由的状态
    • PUT :替换指定路由的状态

21.2.1. /apis/route.openshift.io/v1/routes

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

200 - OK

RouteList 模式

401 - Unauthorized

21.2.2. /apis/route.openshift.io/v1/watch/routes

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

200 - OK

WatchEvent 模式

401 - Unauthorized

21.2.3. /apis/route.openshift.io/v1/namespaces/{namespace}/routes

HTTP 方法
DELETE
描述
删除路由集合
表 21.3. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status_v8 模式

401 - Unauthorized

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

200 - OK

RouteList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建路由
表 21.6. 查询参数
参数类型描述

dryRun

字符串

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

fieldValidation

字符串

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

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

正文(body)

Route 模式

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

200 - OK

Route 模式

201 - Created

Route 模式

202 - Accepted

Route 模式

401 - Unauthorized

21.2.4. /apis/route.openshift.io/v1/watch/namespaces/{namespace}/routes

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

200 - OK

WatchEvent 模式

401 - Unauthorized

21.2.5. /apis/route.openshift.io/v1/namespaces/{namespace}/routes/{name}

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

name

字符串

路由的名称

HTTP 方法
DELETE
描述
删除路由
表 21.11. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status_v8 模式

202 - Accepted

Status_v8 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的路由
表 21.13. HTTP 响应
HTTP 代码响应正文

200 - OK

Route 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的路由
表 21.14. 查询参数
参数类型描述

dryRun

string

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

fieldValidation

string

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

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

200 - OK

Route 模式

201 - Created

Route 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的路由
表 21.16. 查询参数
参数类型描述

dryRun

字符串

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

fieldValidation

字符串

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

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

正文(body)

Route 模式

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

200 - OK

Route 模式

201 - Created

Route 模式

401 - Unauthorized

21.2.6. /apis/route.openshift.io/v1/watch/namespaces/{namespace}/routes/{name}

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

name

字符串

路由的名称

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

200 - OK

WatchEvent 模式

401 - Unauthorized

21.2.7. /apis/route.openshift.io/v1/namespaces/{namespace}/routes/{name}/status

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

name

string

路由的名称

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

200 - OK

Route 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定路由的状态
表 21.23. 查询参数
参数类型描述

dryRun

string

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

fieldValidation

string

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

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

200 - OK

Route 模式

201 - Created

Route 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

Route 模式

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

200 - OK

Route 模式

201 - Created

Route 模式

401 - Unauthorized

第 22 章 Service [v1]

描述
服务是一个由代理侦听的本地端口(如 mysql)组成的、指定软件服务的抽象概念,以及决定哪些 Pod 将通过代理发送的请求的选择器。
类型
对象

22.1. 规格

属性类型描述

apiVersion

string

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

kind

string

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

object

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

status

object

ServiceStatus 代表服务的当前状态。

22.1.1. .spec

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

allocateLoadBalancerNodePorts

布尔值

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

clusterIP

string

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

数组(字符串)

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

数组(字符串)

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

externalName

string

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

externalTrafficPolicy

string

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

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

healthCheckNodePort

整数

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

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 类型的服务,并适用于 "headless" 服务。当将 Service 更新为类型为 ExternalName 时,此字段将擦除。

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

ipFamilyPolicy

string

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

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

loadBalancerClass

string

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

loadBalancerIP

string

只适用于 Service Type: LoadBalancer。此功能取决于创建负载均衡器时是否支持指定 loadBalancerIP 底层的 cloud-provider。如果 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[]

object

servicePort 包含服务端口的信息。

publishNotReadyAddresses

布尔值

publishNotReadyAddresses 表示处理此服务端点的任何代理,应忽略任何就绪/未就绪的指示。设置此字段的主要用例是 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

string

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

可能枚举值: - "ClientIP" 是基于客户端 IP。- "None" - no session affinity.

sessionAffinityConfig

object

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

trafficDistribution

string

TrafficDistribution 提供了一种方式,用于表达流量如何分发到服务端点的首选项。实现可以使用此字段作为提示,但不一定要保证严格遵循。如果没有设置字段,实施将应用其默认路由策略。如果设置为 "PreferClose",则实现应优先排序地关闭端点(例如,同一区域)。这是一个 alpha 字段,需要启用 ServiceTrafficDistribution 功能。

type

string

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

可能枚举值: - "ClusterIP" 表示只能通过集群 IP 在集群中访问服务。- "ExternalName" 表示服务仅由 kubedns 或等外部名称组成,它没有公开或代理涉及的任何 pod。- "LoadBalancer" 表示服务仅通过外部负载均衡器(如果云供应商支持)公开或代理。除了 'NodePort' 类型外,- "NodePort " 意味着除 'ClusterIP' 类型外,服务还会在每个节点的一个端口上公开。

22.1.2. .spec.ports

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

22.1.3. .spec.ports[]

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

appProtocol

string

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

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

* Kubernetes-defined prefixed name: * 'kubernetes.io/h2c' - HTTP/2 before knowledge overtext as https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior- * 'kubernetes.io/ws' - WebSocket over cleartext,如 https://www.rfc-editor.org/rfc/rfc6455 * 'kubernetes.io/wss' - WebSocket over TLS 所述

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

name

string

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

nodePort

整数

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

port

整数

此服务将由此服务公开的端口。

protocol

string

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

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

targetPort

IntOrString

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

22.1.4. .spec.sessionAffinityConfig

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

clientIP

object

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

22.1.5. .spec.sessionAffinityConfig.clientIP

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

timeoutSeconds

整数

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

22.1.6. .status

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

conditions

数组(条件)

当前服务状态

loadBalancer

object

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

22.1.7. .status.loadBalancer

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

ingress

array

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

ingress[]

object

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

22.1.8. .status.loadBalancer.ingress

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

22.1.9. .status.loadBalancer.ingress[]

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

hostname

string

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

ip

string

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

ipMode

string

ipMode 指定负载均衡器 IP 的行为方式,只能在指定 ip 字段时指定。把它设置为 "VIP" 表示将目的地设置为负载均衡器的 IP 和端口到节点的流量。把它设置为 "Proxy" 表示流量传送到节点或 pod,目的地设置为节点的 IP 和节点端口或 pod 的 IP 和端口。服务实施可能会使用此信息来调整流量路由。

ports

array

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

ports[]

object

 

22.1.10. .status.loadBalancer.ingress[].ports

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

22.1.11. .status.loadBalancer.ingress[].ports[]

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

错误

string

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

port

整数

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

protocol

string

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

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

22.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 :替换指定服务的状态

22.2.1. /api/v1/services

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

200 - OK

ServiceList 模式

401 - Unauthorized

22.2.2. /api/v1/watch/services

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

200 - OK

WatchEvent 模式

401 - Unauthorized

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

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

dryRun

string

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

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

200 - OK

Status 模式

401 - Unauthorized

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

200 - OK

ServiceList 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

Service 模式

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

200 - OK

Service 模式

201 - Created

Service 模式

202 - Accepted

Service 模式

401 - Unauthorized

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

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

200 - OK

WatchEvent 模式

401 - Unauthorized

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

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

name

string

Service 的名称

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

dryRun

string

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

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

200 - OK

Service 模式

202 - Accepted

Service 模式

401 - Unauthorized

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

200 - OK

Service 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

Service 模式

201 - Created

Service 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

Service 模式

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

200 - OK

Service 模式

201 - Created

Service 模式

401 - Unauthorized

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

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

name

string

Service 的名称

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

200 - OK

WatchEvent 模式

401 - Unauthorized

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

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

name

string

Service 的名称

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

200 - OK

Service 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

200 - OK

Service 模式

201 - Created

Service 模式

401 - Unauthorized

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

dryRun

string

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

fieldValidation

string

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

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

正文(body)

Service 模式

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

200 - OK

Service 模式

201 - Created

Service 模式

401 - Unauthorized

Legal Notice

Copyright © 2024 Red Hat, Inc.

OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).

Modified versions must remove all Red Hat trademarks.

Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.

Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.

Linux® is the registered trademark of Linus Torvalds in the United States and other countries.

Java® is a registered trademark of Oracle and/or its affiliates.

XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.

MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.

Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.

The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.

All other trademarks are the property of their respective owners.

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.