网络 API
网络 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 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| 指定 AdminNetworkPolicy 所需的行为。 |
|
| Status 是实现要报告的状态。 |
2.1.1. .spec
- 描述
- 指定 AdminNetworkPolicy 所需的行为。
- 类型
-
object
- 必填
-
priority
-
subject
-
属性 | 类型 | 描述 |
---|---|---|
|
| Egress 是要应用到所选 pod 的 Egress 规则列表。每个 ANP 实例中允许总计 100 个规则。单个 ANP 对象(所有共享优先级)中的出口规则的相对优先级将由编写规则的顺序决定。因此,在出口规则顶部出现的规则将具有最高的优先级。没有出口规则的 ANP 不会影响出口流量。 支持:Core |
|
| AdminNetworkPolicyEgressRule 描述了对来自 AdminNetworkPolicy 的 Subject 字段选择的 pod 的特定流量集合执行的操作。<network-policy-api:experimental:validation> |
|
| Ingress 是要应用到所选 pod 的 Ingress 规则列表。每个 ANP 实例中允许总计 100 个规则。单个 ANP 对象(所有共享优先级)中的 ingress 规则的相对优先级将由编写规则的顺序决定。因此,在入口规则顶部出现的规则将具有最高的优先级。没有入口规则的 ANP 不会影响入口流量。 支持:Core |
|
| AdminNetworkPolicyIngressRule 描述了对由 AdminNetworkPolicy 的 Subject 字段选择的特定流量集合执行的操作。 |
|
| priority 是从 0 到 1000 的值。优先级值较低的规则具有更高的优先级,并在优先级较高的规则之前检查。所有 AdminNetworkPolicy 规则的优先级高于 NetworkPolicy 或 BaselineAdminNetworkPolicy 规则,如果两个 ANP 对象具有相同的优先级,则行为未定义。 支持:Core |
|
| 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 指定此规则对匹配流量的影响。目前支持以下操作: Allow: 允许所选流量(即使被 NetworkPolicy 拒绝拒绝) Deny: 拒绝所选流量 Pass: 指示所选流量跳过任何剩余的 ANP 规则,然后将执行传递给选择 pod 的任何 NetworkPolicies。如果任何 NetworkPolicies 没有选择 pod,则执行会被传递给选择 pod 的任何 BaselineAdminNetworkPolicies。 支持:Core |
|
| name 是此规则的标识符,长度不超过 100 个字符。实现应使用此字段来帮助改进任何应用的 AdminNetworkPolicies 的可观察性、可读性和错误报告。 支持:Core |
|
| 端口允许根据端口和协议匹配流量。此字段是传出出口流量的目标端口列表。如果没有设置 Ports,则规则不会通过端口过滤流量。 支持:Core |
|
| AdminNetworkPolicyPort 描述了如何选择 pod 上的网络端口。必须设置一个字段。 |
|
| to 是此规则应用到的目的地列表。如果任何 AdminNetworkPolicyEgressPeer 与传出流量的目的地匹配,则会应用指定的操作。必须定义此字段并至少包含一个项。 支持:Core |
|
| AdminNetworkPolicyEgressPeer 定义了一个允许流量的对等点。必须为给定的对等点设置其中一个选择器指针。如果消费者观察没有设置其字段,它们必须假定指定了未知选项,并且关闭失败。 |
2.1.4. .spec.egress[].ports
- 描述
端口允许根据端口和协议匹配流量。此字段是传出出口流量的目标端口列表。如果没有设置 Ports,则规则不会通过端口过滤流量。
支持:Core
- 类型
-
array
2.1.5. .spec.egress[].ports[]
- 描述
- AdminNetworkPolicyPort 描述了如何选择 pod 上的网络端口。必须设置一个字段。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| NamedPort 根据名称选择一个 pod 上的端口。 支持:扩展 <network-policy-api:experimental> |
|
| port 根据数字选择 pod 上的端口。 支持:Core |
|
| PortRange 根据提供的 start 和 end 值在 pod 上选择一个端口范围。 支持:Core |
2.1.6. .spec.egress[].ports[].portNumber
- 描述
port 根据数字选择 pod 上的端口。
支持:Core
- 类型
-
object
- 必填
-
port
-
protocol
-
属性 | 类型 | 描述 |
---|---|---|
|
| number 定义网络端口值。 支持:Core |
|
| 协议是流量必须匹配的网络协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。 支持:Core |
2.1.7. .spec.egress[].ports[].portRange
- 描述
PortRange 根据提供的 start 和 end 值在 pod 上选择一个端口范围。
支持:Core
- 类型
-
object
- 必填
-
end
-
start
-
属性 | 类型 | 描述 |
---|---|---|
|
| end 定义端口范围末尾的网络端口,End 值必须大于 Start。 支持:Core |
|
| 协议是流量必须匹配的网络协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。 支持:Core |
|
| start 定义端口范围起始的网络端口,Start 值必须小于 End。 支持:Core |
2.1.8. .spec.egress[].to
- 描述
to 是此规则应用到的目的地列表。如果任何 AdminNetworkPolicyEgressPeer 与传出流量的目的地匹配,则会应用指定的操作。必须定义此字段并至少包含一个项。
支持:Core
- 类型
-
array
2.1.9. .spec.egress[].to[]
- 描述
- AdminNetworkPolicyEgressPeer 定义了一个允许流量的对等点。必须为给定的对等点设置其中一个选择器指针。如果消费者观察没有设置其字段,它们必须假定指定了未知选项,并且关闭失败。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命名空间定义了选择一组命名空间中的所有 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。 支持:Core |
|
|
网络定义了通过 CIDR 块选择对等点的方法。这用于表示集群外部的实体,这些实体不能被 pod、命名空间和节点对等点选择,但请注意,集群内部流量也会针对该规则进行检查。因此,如果您允许或拒绝到 Networks 中的每个项目都应该以 CIDR 格式提供,且应为 IPv4 或 IPv6,如 "10.0.0.0/8" 或 "fd00::/8"。 网络可以最多指定 25 个 CIDR。 支持:扩展 <network-policy-api:experimental> |
|
| 节点定义了选择集群中一组节点的方法。此字段遵循标准标签选择器语义;如果存在,它会选择所有节点。 支持:扩展 <network-policy-api:experimental> |
|
| Pod 定义了在一组命名空间中选择一组 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。 支持:Core |
2.1.10. .spec.egress[].to[].namespaces
- 描述
命名空间定义了选择一组命名空间中的所有 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。
支持:Core
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |
2.1.13. .spec.egress[].to[].nodes
- 描述
节点定义了选择集群中一组节点的方法。此字段遵循标准标签选择器语义;如果存在,它会选择所有节点。
支持:扩展
<network-policy-api:experimental>
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |
2.1.16. .spec.egress[].to[].pods
- 描述
Pod 定义了在一组命名空间中选择一组 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。
支持:Core
- 类型
-
object
- 必填
-
namespaceSelector
-
podSelector
-
属性 | 类型 | 描述 |
---|---|---|
|
| namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。 |
|
| podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。 |
2.1.17. .spec.egress[].to[].pods.namespaceSelector
- 描述
- namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |
2.1.20. .spec.egress[].to[].pods.podSelector
- 描述
- podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 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 指定此规则对匹配流量的影响。目前支持以下操作: Allow: 允许所选流量(即使被 NetworkPolicy 拒绝拒绝) Deny: 拒绝所选流量 Pass: 指示所选流量跳过任何剩余的 ANP 规则,然后将执行传递给选择 pod 的任何 NetworkPolicies。如果任何 NetworkPolicies 没有选择 pod,则执行会被传递给选择 pod 的任何 BaselineAdminNetworkPolicies。 支持:Core |
|
| from 是此规则应用到的源列表。如果任何 AdminNetworkPolicyIngressPeer 与传入流量的来源匹配,则会应用指定的操作。必须定义此字段并至少包含一个项。 支持:Core |
|
| AdminNetworkPolicyIngressPeer 定义了一个集群内对等点,以允许来自的流量。必须为给定的对等点设置其中一个选择器指针。如果消费者观察没有设置其字段,它们必须假定指定了未知选项,并且关闭失败。 |
|
| name 是此规则的标识符,长度不超过 100 个字符。实现应使用此字段来帮助改进任何应用的 AdminNetworkPolicies 的可观察性、可读性和错误报告。 支持:Core |
|
| 端口允许根据端口和协议匹配流量。此字段是一个端口列表,应在针对此策略选择的 pod 上匹配,例如策略的主题。因此,它与入口流量的目标端口上匹配。如果没有设置 Ports,则规则不会通过端口过滤流量。 支持:Core |
|
| AdminNetworkPolicyPort 描述了如何选择 pod 上的网络端口。必须设置一个字段。 |
2.1.25. .spec.ingress[].from
- 描述
from 是此规则应用到的源列表。如果任何 AdminNetworkPolicyIngressPeer 与传入流量的来源匹配,则会应用指定的操作。必须定义此字段并至少包含一个项。
支持:Core
- 类型
-
array
2.1.26. .spec.ingress[].from[]
- 描述
- AdminNetworkPolicyIngressPeer 定义了一个集群内对等点,以允许来自的流量。必须为给定的对等点设置其中一个选择器指针。如果消费者观察没有设置其字段,它们必须假定指定了未知选项,并且关闭失败。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命名空间定义了选择一组命名空间中的所有 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。 支持:Core |
|
| Pod 定义了在一组命名空间中选择一组 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。 支持:Core |
2.1.27. .spec.ingress[].from[].namespaces
- 描述
命名空间定义了选择一组命名空间中的所有 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。
支持:Core
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |
2.1.30. .spec.ingress[].from[].pods
- 描述
Pod 定义了在一组命名空间中选择一组 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。
支持:Core
- 类型
-
object
- 必填
-
namespaceSelector
-
podSelector
-
属性 | 类型 | 描述 |
---|---|---|
|
| namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。 |
|
| podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。 |
2.1.31. .spec.ingress[].from[].pods.namespaceSelector
- 描述
- namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |
2.1.34. .spec.ingress[].from[].pods.podSelector
- 描述
- podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 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 根据名称选择一个 pod 上的端口。 支持:扩展 <network-policy-api:experimental> |
|
| port 根据数字选择 pod 上的端口。 支持:Core |
|
| PortRange 根据提供的 start 和 end 值在 pod 上选择一个端口范围。 支持:Core |
2.1.39. .spec.ingress[].ports[].portNumber
- 描述
port 根据数字选择 pod 上的端口。
支持:Core
- 类型
-
object
- 必填
-
port
-
protocol
-
属性 | 类型 | 描述 |
---|---|---|
|
| number 定义网络端口值。 支持:Core |
|
| 协议是流量必须匹配的网络协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。 支持:Core |
2.1.40. .spec.ingress[].ports[].portRange
- 描述
PortRange 根据提供的 start 和 end 值在 pod 上选择一个端口范围。
支持:Core
- 类型
-
object
- 必填
-
end
-
start
-
属性 | 类型 | 描述 |
---|---|---|
|
| end 定义端口范围末尾的网络端口,End 值必须大于 Start。 支持:Core |
|
| 协议是流量必须匹配的网络协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。 支持:Core |
|
| start 定义端口范围起始的网络端口,Start 值必须小于 End。 支持:Core |
2.1.41. .spec.subject
- 描述
subject 定义此 AdminNetworkPolicy 应用到的 pod。请注意,主机网络的 pod 不包含在主题选择中。
支持:Core
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命名空间用于通过命名空间选择器选择 pod。 |
|
| Pod 用于通过命名空间 AND pod 选择器选择 pod。 |
2.1.42. .spec.subject.namespaces
- 描述
- 命名空间用于通过命名空间选择器选择 pod。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |
2.1.45. .spec.subject.pods
- 描述
- Pod 用于通过命名空间 AND pod 选择器选择 pod。
- 类型
-
object
- 必填
-
namespaceSelector
-
podSelector
-
属性 | 类型 | 描述 |
---|---|---|
|
| namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。 |
|
| podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。 |
2.1.46. .spec.subject.pods.namespaceSelector
- 描述
- namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |
2.1.49. .spec.subject.pods.podSelector
- 描述
- podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |
2.1.52. .status
- 描述
- Status 是实现要报告的状态。
- 类型
-
object
- 必填
-
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 // 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 是条件从一个状态转换到另一个状态最后一次的时间。这应该是底层条件变化的时间。如果为未知,则使用 API 字段更改的时间是可以接受的。 |
|
| Message 是人类可读的消息,指示有关转换的详细信息。这可能是一个空字符串。 |
|
| observedGeneration 代表 .metadata.generation,这是条件设置所基于的条件。例如,如果 .metadata.generation 目前为 12,但 .status.conditions[x].observedGeneration 是 9,则代表条件与实例的当前状态已不匹配。 |
|
| reason 包含程序标识符,指示条件最后一次转换的原因。特定条件类型的制作者可能会定义预期的值和此字段的含义,以及这些值是否被视为有保证的 API。该值应该是 CamelCase 字符串。此字段可能不是空的。 |
|
| 条件的状态,True, False, Unknown 之一。 |
|
| 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 集合
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出 AdminNetworkPolicy 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 AdminNetworkPolicy
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |
2.2.2. /apis/policy.networking.k8s.io/v1alpha1/adminnetworkpolicies/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| AdminNetworkPolicy 的名称 |
- HTTP 方法
-
DELETE
- 描述
- delete an AdminNetworkPolicy
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 阅读指定的 AdminNetworkPolicy
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 AdminNetworkPolicy
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 AdminNetworkPolicy
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
2.2.3. /apis/policy.networking.k8s.io/v1alpha1/adminnetworkpolicies/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| AdminNetworkPolicy 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 AdminNetworkPolicy 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 AdminNetworkPolicy 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 AdminNetworkPolicy 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
第 3 章 AdminPolicyBasedExternalRoute [k8s.ovn.org/v1]
- 描述
- AdminPolicyBasedExternalRoute 是一个 CRD,集群管理员可以为外部网关 IP 配置策略,应用到所选命名空间中的所有 pod。来自属于集群外部命名空间的 pod 的出口流量通过这些外部网关 IP 路由。
- 类型
-
object
- 必填
-
spec
-
3.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| AdminPolicyBasedExternalRouteSpec 定义 AdminPolicyBasedExternalRoute 的所需状态 |
|
| AdminPolicyBasedRouteStatus 包含 AdminPolicyBased 路由类型的观察状态。 |
3.1.1. .spec
- 描述
- AdminPolicyBasedExternalRouteSpec 定义 AdminPolicyBasedExternalRoute 的所需状态
- 类型
-
object
- 必填
-
from
-
nextHops
-
属性 | 类型 | 描述 |
---|---|---|
|
| from 定义将决定目标命名空间到此 CR 的选择器。 |
|
| NextHops 定义两种类型的跃点: Static 和 Dynamic。每个跃点至少定义一个外部网关 IP。 |
3.1.2. .spec.from
- 描述
- from 定义将决定目标命名空间到此 CR 的选择器。
- 类型
-
object
- 必填
-
namespaceSelector
-
属性 | 类型 | 描述 |
---|---|---|
|
| namespaceSelector 定义了一个选择器,用于决定此 CR 将针对哪些命名空间 |
3.1.3. .spec.from.namespaceSelector
- 描述
- namespaceSelector 定义了一个选择器,用于决定此 CR 将针对哪些命名空间
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |
3.1.6. .spec.nextHops
- 描述
- NextHops 定义两种类型的跃点: Static 和 Dynamic。每个跃点至少定义一个外部网关 IP。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| DynamicHops 定义 DynamicHop 的片段。此字段是可选的。 |
|
| DynamicHop 定义动态外部网关接口的配置。这些接口围绕位于集群内部的 pod 对象进行嵌套。字段 NetworkAttachmentName 捕获检索要使用的网关 IP 时使用的 multus 网络名称。PodSelector 和 NamespaceSelector 是必填字段。 |
|
| StaticHops 定义了 StaticHop 的一个片段。此字段是可选的。 |
|
| 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 确定接口是否实现双向转发检测协议。默认为false。 |
|
| namespaceSelector 定义选择器,用于过滤 pod 网关所在的命名空间。 |
|
| NetworkAttachmentName 决定在检索要用作网关 IP 的 pod IP 时使用的 multus 网络名称。当此字段为空时,逻辑假设 pod 被配置为 HostNetwork,并使用节点的 IP 作为网关。 |
|
| podSelector 定义选择器来过滤外部网关的 pod。 |
3.1.9. .spec.nextHops.dynamic[].namespaceSelector
- 描述
- namespaceSelector 定义选择器,用于过滤 pod 网关所在的命名空间。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |
3.1.12. .spec.nextHops.dynamic[].podSelector
- 描述
- podSelector 定义选择器来过滤外部网关的 pod。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 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 确定接口是否实现双向转发检测协议。默认为false。 |
|
| IP 定义用于出口流量的静态 IP。IP 可以是 IPv4 或 IPv6。 |
3.1.17. .status
- 描述
- AdminPolicyBasedRouteStatus 包含 AdminPolicyBased 路由类型的观察状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 捕获应用上次更改的时间。 |
|
| 一个人类可读的消息数组,代表有关对象状态的详细信息。 |
|
| 简要指示是否成功应用 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 集合
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出类型为 AdminPolicyBasedExternalRoute 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- create an AdminPolicyBasedExternalRoute
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |
3.2.2. /apis/k8s.ovn.org/v1/adminpolicybasedexternalroutes/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| AdminPolicyBasedExternalRoute 的名称 |
- HTTP 方法
-
DELETE
- 描述
- delete an AdminPolicyBasedExternalRoute
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的 AdminPolicyBasedExternalRoute
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 AdminPolicyBasedExternalRoute
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 AdminPolicyBasedExternalRoute
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
3.2.3. /apis/k8s.ovn.org/v1/adminpolicybasedexternalroutes/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| AdminPolicyBasedExternalRoute 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 AdminPolicyBasedExternalRoute 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 AdminPolicyBasedExternalRoute 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 AdminPolicyBasedExternalRoute 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
第 4 章 BaselineAdminNetworkPolicy [policy.networking.k8s.io/v1alpha1]
- 描述
- BaselineAdminNetworkPolicy 是一个集群级别资源,属于 AdminNetworkPolicy API。
- 类型
-
object
- 必填
-
metadata
-
spec
-
4.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| BaselineAdminNetworkPolicy 所需的行为规格。 |
|
| Status 是实现要报告的状态。 |
4.1.1. .spec
- 描述
- BaselineAdminNetworkPolicy 所需的行为规格。
- 类型
-
object
- 必填
-
subject
-
属性 | 类型 | 描述 |
---|---|---|
|
| 如果 Egress 规则与任何 AdminNetworkPolicy 或 NetworkPolicy 规则不匹配,则出口(egress)是要应用到所选 pod 的 Egress 规则列表。每个 BANP 实例中都允许总计 100 个 Egress 规则。在单个 BANP 对象中出口规则的相对优先级将由编写规则的顺序决定。因此,在出口规则顶部出现的规则将具有最高的优先级。没有出口规则的 BANP 不会影响出口流量。 支持:Core |
|
| BaselineAdminNetworkPolicyEgressRule 描述了一个操作,它适用于源自 BaselineAdminNetworkPolicy 的 Subject 字段选择的 pod 的特定流量集。<network-policy-api:experimental:validation> |
|
| 如果 Ingress 规则与任何 AdminNetworkPolicy 或 NetworkPolicy 规则不匹配,则 Ingress 是要应用到所选 pod 的 Ingress 规则列表。每个 BANP 实例中都允许 100 个 Ingress 规则。单个 BANP 对象中入口规则的相对优先级将由编写规则的顺序决定。因此,在入口规则顶部出现的规则将具有最高的优先级。没有入口规则的 BANP 不会影响入口流量。 支持:Core |
|
| BaselineAdminNetworkPolicyIngressRule 描述了一个操作,用于由 BaselineAdminNetworkPolicy 的 Subject 字段选择的特定流量集合。 |
|
| 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 指定此规则对匹配流量的影响。目前支持以下操作: Allow: 允许所选流量 Deny: 拒绝所选流量 支持:Core |
|
| name 是此规则的标识符,长度不超过 100 个字符。实现应使用此字段来帮助改进任何应用的 BaselineAdminNetworkPolicies 的可观察性、可读性和错误报告。 支持:Core |
|
| 端口允许根据端口和协议匹配流量。此字段是传出出口流量的目标端口列表。如果没有设置 Ports,则规则不会通过端口过滤流量。 |
|
| AdminNetworkPolicyPort 描述了如何选择 pod 上的网络端口。必须设置一个字段。 |
|
| to 是此规则应用到的目的地列表。如果任何 AdminNetworkPolicyEgressPeer 与传出流量的目的地匹配,则会应用指定的操作。必须定义此字段并至少包含一个项。 支持:Core |
|
| AdminNetworkPolicyEgressPeer 定义了一个允许流量的对等点。必须为给定的对等点设置其中一个选择器指针。如果消费者观察没有设置其字段,它们必须假定指定了未知选项,并且关闭失败。 |
4.1.4. .spec.egress[].ports
- 描述
- 端口允许根据端口和协议匹配流量。此字段是传出出口流量的目标端口列表。如果没有设置 Ports,则规则不会通过端口过滤流量。
- 类型
-
array
4.1.5. .spec.egress[].ports[]
- 描述
- AdminNetworkPolicyPort 描述了如何选择 pod 上的网络端口。必须设置一个字段。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| NamedPort 根据名称选择一个 pod 上的端口。 支持:扩展 <network-policy-api:experimental> |
|
| port 根据数字选择 pod 上的端口。 支持:Core |
|
| PortRange 根据提供的 start 和 end 值在 pod 上选择一个端口范围。 支持:Core |
4.1.6. .spec.egress[].ports[].portNumber
- 描述
port 根据数字选择 pod 上的端口。
支持:Core
- 类型
-
object
- 必填
-
port
-
protocol
-
属性 | 类型 | 描述 |
---|---|---|
|
| number 定义网络端口值。 支持:Core |
|
| 协议是流量必须匹配的网络协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。 支持:Core |
4.1.7. .spec.egress[].ports[].portRange
- 描述
PortRange 根据提供的 start 和 end 值在 pod 上选择一个端口范围。
支持:Core
- 类型
-
object
- 必填
-
end
-
start
-
属性 | 类型 | 描述 |
---|---|---|
|
| end 定义端口范围末尾的网络端口,End 值必须大于 Start。 支持:Core |
|
| 协议是流量必须匹配的网络协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。 支持:Core |
|
| start 定义端口范围起始的网络端口,Start 值必须小于 End。 支持:Core |
4.1.8. .spec.egress[].to
- 描述
to 是此规则应用到的目的地列表。如果任何 AdminNetworkPolicyEgressPeer 与传出流量的目的地匹配,则会应用指定的操作。必须定义此字段并至少包含一个项。
支持:Core
- 类型
-
array
4.1.9. .spec.egress[].to[]
- 描述
- AdminNetworkPolicyEgressPeer 定义了一个允许流量的对等点。必须为给定的对等点设置其中一个选择器指针。如果消费者观察没有设置其字段,它们必须假定指定了未知选项,并且关闭失败。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命名空间定义了选择一组命名空间中的所有 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。 支持:Core |
|
|
网络定义了通过 CIDR 块选择对等点的方法。这用于表示集群外部的实体,这些实体不能被 pod、命名空间和节点对等点选择,但请注意,集群内部流量也会针对该规则进行检查。因此,如果您允许或拒绝到 Networks 中的每个项目都应该以 CIDR 格式提供,且应为 IPv4 或 IPv6,如 "10.0.0.0/8" 或 "fd00::/8"。 网络可以最多指定 25 个 CIDR。 支持:扩展 <network-policy-api:experimental> |
|
| 节点定义了选择集群中一组节点的方法。此字段遵循标准标签选择器语义;如果存在,它会选择所有节点。 支持:扩展 <network-policy-api:experimental> |
|
| Pod 定义了在一组命名空间中选择一组 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。 支持:Core |
4.1.10. .spec.egress[].to[].namespaces
- 描述
命名空间定义了选择一组命名空间中的所有 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。
支持:Core
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |
4.1.13. .spec.egress[].to[].nodes
- 描述
节点定义了选择集群中一组节点的方法。此字段遵循标准标签选择器语义;如果存在,它会选择所有节点。
支持:扩展
<network-policy-api:experimental>
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |
4.1.16. .spec.egress[].to[].pods
- 描述
Pod 定义了在一组命名空间中选择一组 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。
支持:Core
- 类型
-
object
- 必填
-
namespaceSelector
-
podSelector
-
属性 | 类型 | 描述 |
---|---|---|
|
| namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。 |
|
| podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。 |
4.1.17. .spec.egress[].to[].pods.namespaceSelector
- 描述
- namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |
4.1.20. .spec.egress[].to[].pods.podSelector
- 描述
- podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 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 指定此规则对匹配流量的影响。目前支持以下操作: Allow: 允许所选流量 Deny: 拒绝所选流量 支持:Core |
|
| from 是此规则应用到的源列表。如果任何 AdminNetworkPolicyIngressPeer 与传入流量的来源匹配,则会应用指定的操作。必须定义此字段并至少包含一个项。 支持:Core |
|
| AdminNetworkPolicyIngressPeer 定义了一个集群内对等点,以允许来自的流量。必须为给定的对等点设置其中一个选择器指针。如果消费者观察没有设置其字段,它们必须假定指定了未知选项,并且关闭失败。 |
|
| name 是此规则的标识符,长度不超过 100 个字符。实现应使用此字段来帮助改进任何应用的 BaselineAdminNetworkPolicies 的可观察性、可读性和错误报告。 支持:Core |
|
| 端口允许根据端口和协议匹配流量。此字段是一个端口列表,应在针对此策略选择的 pod 上匹配,例如策略的主题。因此,它与入口流量的目标端口上匹配。如果没有设置 Ports,则规则不会通过端口过滤流量。 支持:Core |
|
| AdminNetworkPolicyPort 描述了如何选择 pod 上的网络端口。必须设置一个字段。 |
4.1.25. .spec.ingress[].from
- 描述
from 是此规则应用到的源列表。如果任何 AdminNetworkPolicyIngressPeer 与传入流量的来源匹配,则会应用指定的操作。必须定义此字段并至少包含一个项。
支持:Core
- 类型
-
array
4.1.26. .spec.ingress[].from[]
- 描述
- AdminNetworkPolicyIngressPeer 定义了一个集群内对等点,以允许来自的流量。必须为给定的对等点设置其中一个选择器指针。如果消费者观察没有设置其字段,它们必须假定指定了未知选项,并且关闭失败。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命名空间定义了选择一组命名空间中的所有 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。 支持:Core |
|
| Pod 定义了在一组命名空间中选择一组 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。 支持:Core |
4.1.27. .spec.ingress[].from[].namespaces
- 描述
命名空间定义了选择一组命名空间中的所有 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。
支持:Core
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |
4.1.30. .spec.ingress[].from[].pods
- 描述
Pod 定义了在一组命名空间中选择一组 pod 的方法。请注意,主机网络的 pod 没有包含在这种对等状态中。
支持:Core
- 类型
-
object
- 必填
-
namespaceSelector
-
podSelector
-
属性 | 类型 | 描述 |
---|---|---|
|
| namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。 |
|
| podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。 |
4.1.31. .spec.ingress[].from[].pods.namespaceSelector
- 描述
- namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |
4.1.34. .spec.ingress[].from[].pods.podSelector
- 描述
- podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 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 根据名称选择一个 pod 上的端口。 支持:扩展 <network-policy-api:experimental> |
|
| port 根据数字选择 pod 上的端口。 支持:Core |
|
| PortRange 根据提供的 start 和 end 值在 pod 上选择一个端口范围。 支持:Core |
4.1.39. .spec.ingress[].ports[].portNumber
- 描述
port 根据数字选择 pod 上的端口。
支持:Core
- 类型
-
object
- 必填
-
port
-
protocol
-
属性 | 类型 | 描述 |
---|---|---|
|
| number 定义网络端口值。 支持:Core |
|
| 协议是流量必须匹配的网络协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。 支持:Core |
4.1.40. .spec.ingress[].ports[].portRange
- 描述
PortRange 根据提供的 start 和 end 值在 pod 上选择一个端口范围。
支持:Core
- 类型
-
object
- 必填
-
end
-
start
-
属性 | 类型 | 描述 |
---|---|---|
|
| end 定义端口范围末尾的网络端口,End 值必须大于 Start。 支持:Core |
|
| 协议是流量必须匹配的网络协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。 支持:Core |
|
| start 定义端口范围起始的网络端口,Start 值必须小于 End。 支持:Core |
4.1.41. .spec.subject
- 描述
subject 定义此 BaselineAdminNetworkPolicy 应用到的 pod。请注意,主机网络的 pod 不包含在主题选择中。
支持:Core
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命名空间用于通过命名空间选择器选择 pod。 |
|
| Pod 用于通过命名空间 AND pod 选择器选择 pod。 |
4.1.42. .spec.subject.namespaces
- 描述
- 命名空间用于通过命名空间选择器选择 pod。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |
4.1.45. .spec.subject.pods
- 描述
- Pod 用于通过命名空间 AND pod 选择器选择 pod。
- 类型
-
object
- 必填
-
namespaceSelector
-
podSelector
-
属性 | 类型 | 描述 |
---|---|---|
|
| namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。 |
|
| podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。 |
4.1.46. .spec.subject.pods.namespaceSelector
- 描述
- namespaceSelector 遵循标准标签选择器语义;如果为空,它会选择所有命名空间。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |
4.1.49. .spec.subject.pods.podSelector
- 描述
- podSelector 用于显式选择命名空间中的 pod;如果为空,它会选择所有 Pod。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |
4.1.52. .status
- 描述
- Status 是实现要报告的状态。
- 类型
-
object
- 必填
-
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 // 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 是条件从一个状态转换到另一个状态最后一次的时间。这应该是底层条件变化的时间。如果为未知,则使用 API 字段更改的时间是可以接受的。 |
|
| Message 是人类可读的消息,指示有关转换的详细信息。这可能是一个空字符串。 |
|
| observedGeneration 代表 .metadata.generation,这是条件设置所基于的条件。例如,如果 .metadata.generation 目前为 12,但 .status.conditions[x].observedGeneration 是 9,则代表条件与实例的当前状态已不匹配。 |
|
| reason 包含程序标识符,指示条件最后一次转换的原因。特定条件类型的制作者可能会定义预期的值和此字段的含义,以及这些值是否被视为有保证的 API。该值应该是 CamelCase 字符串。此字段可能不是空的。 |
|
| 条件的状态,True, False, Unknown 之一。 |
|
| 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 集合
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出类型为 BaselineAdminNetworkPolicy 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 BaselineAdminNetworkPolicy
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
4.2.2. /apis/policy.networking.k8s.io/v1alpha1/baselineadminnetworkpolicies/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| BaselineAdminNetworkPolicy 的名称 |
- HTTP 方法
-
DELETE
- 描述
- delete a BaselineAdminNetworkPolicy
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 阅读指定的 BaselineAdminNetworkPolicy
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 BaselineAdminNetworkPolicy
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 BaselineAdminNetworkPolicy
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
4.2.3. /apis/policy.networking.k8s.io/v1alpha1/baselineadminnetworkpolicies/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| BaselineAdminNetworkPolicy 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 BaselineAdminNetworkPolicy 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 BaselineAdminNetworkPolicy 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 BaselineAdminNetworkPolicy 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
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 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| spec 是所需专用 IP 请求的定义。 |
|
| status 是所需私有 IP 请求的观察状态。只读。 |
5.1.1. .spec
- 描述
- spec 是所需专用 IP 请求的定义。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| node 是节点名称,由 Kubernetes 字段指定:node.metadata.name |
5.1.2. .status
- 描述
- status 是所需私有 IP 请求的观察状态。只读。
- 类型
-
object
- 必填
-
conditions
-
属性 | 类型 | 描述 |
---|---|---|
|
| condition 是专用 IP 及其状态的分配条件 |
|
|
条件包含此 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 |
|
| 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 是条件从一个状态转换到另一个状态最后一次的时间。这应该是底层条件变化的时间。如果为未知,则使用 API 字段更改的时间是可以接受的。 |
|
| Message 是人类可读的消息,指示有关转换的详细信息。这可能是一个空字符串。 |
|
| observedGeneration 代表 .metadata.generation,这是条件设置所基于的条件。例如,如果 .metadata.generation 目前为 12,但 .status.conditions[x].observedGeneration 是 9,则代表条件与实例的当前状态已不匹配。 |
|
| reason 包含程序标识符,指示条件最后一次转换的原因。特定条件类型的制作者可能会定义预期的值和此字段的含义,以及这些值是否被视为有保证的 API。该值应该是 CamelCase 字符串。此字段可能不是空的。 |
|
| 条件的状态,True, False, Unknown 之一。 |
|
| 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 集合
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出 CloudPrivateIPConfig 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 CloudPrivateIPConfig
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
5.2.2. /apis/cloud.network.openshift.io/v1/cloudprivateipconfigs/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| CloudPrivateIPConfig 的名称 |
- HTTP 方法
-
DELETE
- 描述
- delete a CloudPrivateIPConfig
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 阅读指定的 CloudPrivateIPConfig
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 CloudPrivateIPConfig
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 CloudPrivateIPConfig
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
5.2.3. /apis/cloud.network.openshift.io/v1/cloudprivateipconfigs/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| CloudPrivateIPConfig 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 CloudPrivateIPConfig 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 CloudPrivateIPConfig 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 CloudPrivateIPConfig 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
第 6 章 EgressFirewall [k8s.ovn.org/v1]
- 描述
- EgressFirewall 描述了命名空间的当前出口防火墙。系统将针对 pod 的命名空间 EgressFirewall 中的每个 EgressFirewallRule 检查从 pod 到集群外的 IP 地址的流量。如果没有规则匹配(或不存在 EgressFirewall),则默认允许流量。
- 类型
-
object
- 必填
-
spec
-
6.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| 指定 EgressFirewall 所需的行为。 |
|
| 观察 EgressFirewall 的状态 |
6.1.1. .spec
- 描述
- 指定 EgressFirewall 所需的行为。
- 类型
-
object
- 必填
-
egress
-
属性 | 类型 | 描述 |
---|---|---|
|
| 出口防火墙规则对象的集合 |
|
| EgressFirewallRule 是一个单一的 egressfirewall 规则对象 |
6.1.2. .spec.egress
- 描述
- 出口防火墙规则对象的集合
- 类型
-
array
6.1.3. .spec.egress[]
- 描述
- EgressFirewallRule 是一个单一的 egressfirewall 规则对象
- 类型
-
object
- 必填
-
至
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| 端口指定规则适用的端口和协议 |
|
| EgressFirewallPort 指定允许或拒绝流量的端口 |
|
| to 是允许/拒绝流量的目标 |
|
| type 将此标记为 "Allow" 或 "Deny" 规则 |
6.1.4. .spec.egress[].ports
- 描述
- 端口指定规则适用的端口和协议
- 类型
-
array
6.1.5. .spec.egress[].ports[]
- 描述
- EgressFirewallPort 指定允许或拒绝流量的端口
- 类型
-
object
- 必填
-
port
-
protocol
-
属性 | 类型 | 描述 |
---|---|---|
|
| 流量必须匹配的端口 |
|
| 流量必须匹配的协议(tcp、udp、sctp)。 |
6.1.6. .spec.egress[].to
- 描述
- to 是允许/拒绝流量的目标
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| cidrSelector 是允许/拒绝流量的 CIDR 范围。如果设置了,dnsName 和 nodeSelector 必须取消设置。 |
|
| dnsName 是允许/拒绝流量的域名。如果设置了,则必须取消设置 cidrSelector 和 nodeSelector。对于通配符 DNS 名称,'' 只会匹配一个标签。另外,在通配符 DNS 名称的开头只能使用一个 ''。例如: '*.example.com' 将匹配 'sub1.example.com',但不匹配 'sub2.sub1.example.com' |
|
| nodeSelector 将允许/拒绝到所选节点的 Kubernetes 节点 IP 的流量。如果设置了,则必须取消设置 cidrSelector 和 DNSName。 |
6.1.7. .spec.egress[].to.nodeSelector
- 描述
- nodeSelector 将允许/拒绝到所选节点的 Kubernetes 节点 IP 的流量。如果设置了,则必须取消设置 cidrSelector 和 DNSName。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |
6.1.10. .status
- 描述
- 观察 EgressFirewall 的状态
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| |
|
|
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 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
6.2.2. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressfirewalls
- HTTP 方法
-
DELETE
- 描述
- 删除 EgressFirewall 集合
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出 EgressFirewall 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 EgressFirewall
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |
6.2.3. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressfirewalls/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| EgressFirewall 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 EgressFirewall
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 阅读指定的 EgressFirewall
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 EgressFirewall
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 EgressFirewall
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
6.2.4. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressfirewalls/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| EgressFirewall 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 EgressFirewall 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 EgressFirewall 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 EgressFirewall 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
第 7 章 EgressIP [k8s.ovn.org/v1]
- 描述
- EgressIP 是一个 CRD,用户可以为其 spec 定义来自与 EgressIP 资源匹配的 pod 的所有出口流量定义固定源 IP。
- 类型
-
object
- 必填
-
spec
-
7.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| 所需 EgressIP 行为的规格。 |
|
| 观察到 EgressIP 的状态。只读。 |
7.1.1. .spec
- 描述
- 所需 EgressIP 行为的规格。
- 类型
-
object
- 必填
-
egressIPs
-
namespaceSelector
-
属性 | 类型 | 描述 |
---|---|---|
|
| egressIPs 是请求的出口 IP 地址列表。可以是 IPv4 和/或 IPv6。这个字段是必须的。 |
|
| namespaceSelector 仅将出口 IP 应用到与此定义匹配的命名空间。这个字段是必须的。 |
|
| podSelector 仅将出口 IP 应用到与此定义匹配的 pod。此字段是可选的,如果未设置,则会将出口 IP 应用到与 NamespaceSelector 匹配的命名空间中的所有 pod。如果它被设置:使用 NamespaceSelector 进行交集,因此将出口 IP 应用到 pod (在与这个 pod 选择器匹配的 NamespaceSelector 中)。 |
7.1.2. .spec.namespaceSelector
- 描述
- namespaceSelector 仅将出口 IP 应用到与此定义匹配的命名空间。这个字段是必须的。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 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 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |
7.1.8. .status
- 描述
- 观察到 EgressIP 的状态。只读。
- 类型
-
object
- 必填
-
items
-
属性 | 类型 | 描述 |
---|---|---|
|
| 分配出口 IP 列表及其对应的节点分配。 |
|
| 每个节点状态,用于分配的出口 IP。 |
7.1.9. .status.items
- 描述
- 分配出口 IP 列表及其对应的节点分配。
- 类型
-
array
7.1.10. .status.items[]
- 描述
- 每个节点状态,用于分配的出口 IP。
- 类型
-
object
- 必填
-
egressIP
-
node
-
属性 | 类型 | 描述 |
---|---|---|
|
| 分配的出口 IP |
|
| 分配的节点名称 |
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 集合
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出 EgressIP 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 EgressIP
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
7.2.2. /apis/k8s.ovn.org/v1/egressips/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| EgressIP 的名称 |
- HTTP 方法
-
DELETE
- 描述
- delete an EgressIP
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的 EgressIP
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 EgressIP
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 EgressIP
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
第 8 章 EgressQoS [k8s.ovn.org/v1]
- 描述
- egressqos 是一个 CRD,允许用户在其命名空间中为 pod 出口流量定义 DSCP 值到指定的 CIDR。来自这些 pod 的流量将根据命名空间的 EgressQoSRule 中的每个 EgressQoSRule 检查,如果存在与相关 DSCP 值匹配的流量。
- 类型
-
对象
8.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| EgressQoSSpec 定义所需的 EgressQoS 状态 |
|
| EgressQoSStatus 定义 EgressQoS 的观察状态 |
8.1.1. .spec
- 描述
- EgressQoSSpec 定义所需的 EgressQoS 状态
- 类型
-
object
- 必填
-
egress
-
属性 | 类型 | 描述 |
---|---|---|
|
| 一组 Egress QoS 规则对象 |
|
|
8.1.2. .spec.egress
- 描述
- 一组 Egress QoS 规则对象
- 类型
-
array
8.1.3. .spec.egress[]
- 描述
- 类型
-
object
- 必填
-
dscp
-
属性 | 类型 | 描述 |
---|---|---|
|
| DSCP 标记用于匹配 Pod 流量的值。 |
|
| DstCIDR 指定目的地的 CIDR。只有到此 CIDR 的流量标题将标记为 DSCP 值。此字段是可选的,如果没有设置该规则,无论目的地是什么,则规则会应用到所有出口流量。 |
|
| podSelector 只会将 QoS 规则应用到与这个定义匹配的命名空间中的 pod。此字段是可选的,如果没有设置会导致规则应用到命名空间中的所有 pod。 |
8.1.4. .spec.egress[].podSelector
- 描述
- podSelector 只会将 QoS 规则应用到与这个定义匹配的命名空间中的 pod。此字段是可选的,如果没有设置会导致规则应用到命名空间中的所有 pod。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |
8.1.7. .status
- 描述
- EgressQoSStatus 定义 EgressQoS 的观察状态
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 条件对象数组,指示 EgressQoS 对象状态的详细信息。 |
|
| 条件包含此 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 // other fields } |
|
| 简要指示是否成功应用了 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 是条件从一个状态转换到另一个状态最后一次的时间。这应该是底层条件变化的时间。如果为未知,则使用 API 字段更改的时间是可以接受的。 |
|
| Message 是人类可读的消息,指示有关转换的详细信息。这可能是一个空字符串。 |
|
| observedGeneration 代表 .metadata.generation,这是条件设置所基于的条件。例如,如果 .metadata.generation 目前为 12,但 .status.conditions[x].observedGeneration 是 9,则代表条件与实例的当前状态已不匹配。 |
|
| reason 包含程序标识符,指示条件最后一次转换的原因。特定条件类型的制作者可能会定义预期的值和此字段的含义,以及这些值是否被视为有保证的 API。该值应该是 CamelCase 字符串。此字段可能不是空的。 |
|
| 条件的状态,True, False, Unknown 之一。 |
|
| 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 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
8.2.2. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressqoses
- HTTP 方法
-
DELETE
- 描述
- 删除 EgressQoS 集合
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出类型为 EgressQoS 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 EgressQoS
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
8.2.3. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressqoses/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| EgressQoS 的名称 |
- HTTP 方法
-
DELETE
- 描述
- delete an EgressQoS
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 阅读指定的 EgressQoS
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 EgressQoS
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 EgressQoS
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
8.2.4. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressqoses/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| EgressQoS 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 EgressQoS 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 EgressQoS 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 EgressQoS 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
第 9 章 EgressService [k8s.ovn.org/v1]
- 描述
- EgressService 是一个 CRD,允许用户请求来自对应 LoadBalancer 服务端点的所有 pod 的出口数据包的源 IP 是其入口 IP。另外,它允许用户请求来自作为 LoadBalancer 服务端点的所有 pod 的出口数据包,并使用与主服务不同的网络。
- 类型
-
对象
9.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| EgressServiceSpec 定义所需的 EgressService 状态 |
|
| EgressServiceStatus 定义 EgressService 的观察状态 |
9.1.1. .spec
- 描述
- EgressServiceSpec 定义所需的 EgressService 状态
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 此服务应向哪些网络发送出口和对应的入口回复。这通常作为 VRF 映射实现,代表一个由省略使用默认主机路由的路由表的数字 id 或字符串名称。 |
|
| 允许限制可以选择的节点在 sourceIPBy=LoadBalancerIP 时处理服务的流量。当只显示标签与指定选择器匹配的节点时,才能选择处理服务的流量。如果不指定集群中的任何节点,就可以选择它来管理该服务的流量。 |
|
|
决定源自支持 LoadBalancer 服务的 pod 的出口流量的源 IP。当 |
9.1.2. .spec.nodeSelector
- 描述
- 允许限制可以选择的节点在 sourceIPBy=LoadBalancerIP 时处理服务的流量。当只显示标签与指定选择器匹配的节点时,才能选择处理服务的流量。如果不指定集群中的任何节点,就可以选择它来管理该服务的流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |
9.1.5. .status
- 描述
- EgressServiceStatus 定义 EgressService 的观察状态
- 类型
-
object
- 必填
-
主机
-
属性 | 类型 | 描述 |
---|---|---|
|
| 选择用于处理服务流量的节点名称。如果 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 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
9.2.2. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressservices
- HTTP 方法
-
DELETE
- 描述
- 删除 EgressService 集合
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出 EgressService 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 EgressService
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |
9.2.3. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressservices/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| EgressService 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 EgressService
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 阅读指定的 EgressService
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 EgressService
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 EgressService
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
9.2.4. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressservices/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| EgressService 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 EgressService 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 EgressService 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 EgressService 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
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 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| 所有端点的集合是所有子集的联合。根据它们共享的 IP,地址被放入子集中。具有多个端口的单一地址,其中有些地址已就绪,它们没有(因为它们来自不同的容器)将导致不同端口的不同子集中显示地址。同一子集中的 Addresses 和 NotReadyAddresses 中都没有地址。组成服务的地址和端口集合。 |
|
| 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
属性 | 类型 | 描述 |
---|---|---|
|
| 提供标记为就绪的相关端口的 IP 地址。这些端点应该被视为安全的负载均衡器和客户端。 |
|
| EndpointAddress 是一个描述单个 IP 地址的元组。 |
|
| 提供相关端口但当前未标记为就绪的 IP 地址,因为它们尚未完成,并且最近未完成就绪度检查,或者最近失败了存活度检查。 |
|
| EndpointAddress 是一个描述单个 IP 地址的元组。 |
|
| 相关 IP 地址上可用的端口号。 |
|
| EndpointPort 是一个描述单个端口的元组。 |
10.1.3. .subsets[].addresses
- 描述
- 提供标记为就绪的相关端口的 IP 地址。这些端点应该被视为安全的负载均衡器和客户端。
- 类型
-
array
10.1.4. .subsets[].addresses[]
- 描述
- EndpointAddress 是一个描述单个 IP 地址的元组。
- 类型
-
object
- 必填
-
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)。 |
|
| 可选:托管此端点的节点。这可用于确定本地到节点的端点。 |
|
| ObjectReference 包含足够信息供您检查或修改引用的对象。 |
10.1.5. .subsets[].addresses[].targetRef
- 描述
- ObjectReference 包含足够信息供您检查或修改引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的 API 版本。 |
|
| 如果引用的是对象的一部分而非整个对象,则该字符串应包含有效的 JSON/Go 字段访问声明,如 desiredState.manifest.containers[2]。例如,如果对象引用是一个 pod 中的容器,它应该还以下类似: "spec.containers{name}"(其中 "name" 是指触发事件的容器的名称),如果不使用容器名称,则应类似于 "spec.containers[2]"(使用此 pod 中索引值为 2 的容器)。选择这个语法的原因是,为了有一些指向对象部分的正确定义方法。 |
|
| 引用的类型。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 引用的命名空间。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
|
| 指定构成这个引用的 resourceVersion(如果存在)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency |
|
| 引用的 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
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此端点的主机名 |
|
| 此端点的 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)。 |
|
| 可选:托管此端点的节点。这可用于确定本地到节点的端点。 |
|
| ObjectReference 包含足够信息供您检查或修改引用的对象。 |
10.1.8. .subsets[].notReadyAddresses[].targetRef
- 描述
- ObjectReference 包含足够信息供您检查或修改引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的 API 版本。 |
|
| 如果引用的是对象的一部分而非整个对象,则该字符串应包含有效的 JSON/Go 字段访问声明,如 desiredState.manifest.containers[2]。例如,如果对象引用是一个 pod 中的容器,它应该还以下类似: "spec.containers{name}"(其中 "name" 是指触发事件的容器的名称),如果不使用容器名称,则应类似于 "spec.containers[2]"(使用此 pod 中索引值为 2 的容器)。选择这个语法的原因是,为了有一些指向对象部分的正确定义方法。 |
|
| 引用的类型。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 引用的命名空间。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
|
| 指定构成这个引用的 resourceVersion(如果存在)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency |
|
| 引用的 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
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此端口的应用程序协议。这用作实现的提示,以便为它们理解的协议提供更丰富的行为。此字段遵循标准 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。仅在定义了一个端口时才可选。 |
|
| 端点的端口号。 |
|
| 此端口的 IP 协议。必须是 UDP、TCP 或 SCTP。默认为 TCP。
可能枚举值: - |
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 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
10.2.2. /api/v1/watch/endpoints
- HTTP 方法
-
GET
- 描述
- 观察单个对 Endpoints 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
10.2.3. /api/v1/namespaces/{namespace}/endpoints
- HTTP 方法
-
DELETE
- 描述
- 删除端点集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 Endpoints 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建端点
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
10.2.4. /api/v1/watch/namespaces/{namespace}/endpoints
- HTTP 方法
-
GET
- 描述
- 观察单个对 Endpoints 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
10.2.5. /api/v1/namespaces/{namespace}/endpoints/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| 端点的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除端点
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的端点
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的端点
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的端点
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
10.2.6. /api/v1/watch/namespaces/{namespace}/endpoints/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| 端点的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 Endpoints 的对象的更改。已弃用:使用带列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
第 11 章 EndpointSlice [discovery.k8s.io/v1]
- 描述
- EndpointSlice 代表实施服务的端点的子集。对于给定服务,可能有多个 EndpointSlice 对象,它们通过标签选择,必须加入来生成完整的端点。
- 类型
-
object
- 必填
-
addressType
-
端点
-
11.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| addressType 指定此 EndpointSlice 执行的地址类型。这个片段中的所有地址都必须是相同的类型。此字段在创建后是不可变的。目前支持以下地址类型:* IPv4:代表 IPv4 地址。* IPv6:代表 IPv6 地址。* FQDN:代表完全限定域名。
可能枚举值: - |
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| 端点是此片段中唯一端点的列表。每个片段最多可能包括 1000 个端点。 |
|
| 端点代表实施服务的单一逻辑"后端"。 |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。 | |
|
| ports 指定此片段中每个端点公开的网络端口列表。每个端口都必须具有唯一的名称。当端口为空时,这表明没有定义的端口。当使用 nil port 值定义端口时,它表示 "all ports"。每个片段最多可能包括 100 个端口。 |
|
| EndpointPort 代表 EndpointSlice 使用的端口 |
11.1.1. .endpoints
- 描述
- 端点是此片段中唯一端点的列表。每个片段最多可能包括 1000 个端点。
- 类型
-
array
11.1.2. .endpoints[]
- 描述
- 端点代表实施服务的单一逻辑"后端"。
- 类型
-
object
- 必填
-
addresses
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此端点的地址。此字段的内容会根据对应的 EndpointSlice addressType 字段进行解释。消费者必须在自身功能的情况下处理不同类型的地址。这必须至少包含一个地址,但没有超过 100 个。这些都假定是非常有的,客户端可能会选择仅使用第一个元素。请参阅 :https://issue.k8s.io/106267 |
|
| EndpointConditions 代表端点的当前条件。 |
|
| deprecatedTopology 包含 v1beta1 API 的拓扑信息部分。此字段已弃用,并在 v1beta1 API 被删除时删除(不早于 kubernetes v1.24)。虽然此字段可以保存值,但无法通过 v1 API 写入值,但任何尝试写入它都将静默忽略。拓扑信息可在 zone 和 nodeName 字段中找到。 |
|
| EndpointHints 提供了描述如何使用端点的提示。 |
|
| 此端点的主机名。此字段可由端点使用者使用,以区分不同的端点(例如在 DNS 名称中)。使用相同主机名的多个端点应被视为无限(例如,DNS 中的多个 A 值)。必须是小写并传递 DNS 标签(RFC 1123)验证。 |
|
| nodeName 代表托管此端点的节点的名称。这可用于确定本地到节点的端点。 |
| TargetRef 是代表此端点的 Kubernetes 对象的引用。 | |
|
| zone 是此端点所在的区域的名称。 |
11.1.3. .endpoints[].conditions
- 描述
- EndpointConditions 代表端点的当前条件。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| Ready 表示此端点已准备好接收流量,具体取决于任何系统正在管理端点。nil 值表示未知状态。在大多数情况下,消费者应将此未知状态解释为就绪。出于兼容性的原因,对于终止端点,ready 不应该为 "true",但当正常就绪度行为被显式覆盖时,例如,相关服务设置了 publishNotReadyAddresses 标志时。 |
|
| serving 与 ready 相同,除了无论端点终止状态如何设置。对于终止的就绪端点,此条件应设为 true。如果为 nil,消费者应该会延迟到 ready 条件。 |
|
| Terminating 表示此端点正在终止。nil 值表示未知状态。消费者应解释这个未知状态,以表示端点没有终止。 |
11.1.4. .endpoints[].hints
- 描述
- EndpointHints 提供了描述如何使用端点的提示。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| forZones 表示此端点应使用的区域,以启用拓扑感知路由。 |
|
| ForZone 提供有关哪些区域应使用此端点的信息。 |
11.1.5. .endpoints[].hints.forZones
- 描述
- forZones 表示此端点应使用的区域,以启用拓扑感知路由。
- 类型
-
array
11.1.6. .endpoints[].hints.forZones[]
- 描述
- ForZone 提供有关哪些区域应使用此端点的信息。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 代表区域的名称。 |
11.1.7. .ports
- 描述
- ports 指定此片段中每个端点公开的网络端口列表。每个端口都必须具有唯一的名称。当端口为空时,这表明没有定义的端口。当使用 nil port 值定义端口时,它表示 "all ports"。每个片段最多可能包括 100 个端口。
- 类型
-
array
11.1.8. .ports[]
- 描述
- EndpointPort 代表 EndpointSlice 使用的端口
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 此端口的应用程序协议。这用作实现的提示,以便为它们理解的协议提供更丰富的行为。此字段遵循标准 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 表示此端口的名称。EndpointSlice 中的所有端口都必须具有唯一的名称。如果 EndpointSlice 派生自 Kubernetes 服务,则对应于 Service.ports[].name。name 必须是空字符串或传递 DNS_LABEL 验证:* 不得超过 63 个字符。* 必须包含小写字母数字字符或 '-'。* 必须以字母数字字符开头和结尾。默认为空字符串。 |
|
| port 代表端点的端口号。如果没有指定,则端口不会被限制,必须在特定消费者的上下文中解释端口。 |
|
| protocol 代表此端口的 IP 协议。必须是 UDP、TCP 或 SCTP。默认为 TCP。
可能枚举值: - |
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 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
11.2.2. /apis/discovery.k8s.io/v1/watch/endpointslices
- HTTP 方法
-
GET
- 描述
- 观察单个对 EndpointSlice 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
11.2.3. /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices
- HTTP 方法
-
DELETE
- 描述
- 删除 EndpointSlice 集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视 EndpointSlice 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 EndpointSlice
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
11.2.4. /apis/discovery.k8s.io/v1/watch/namespaces/{namespace}/endpointslices
- HTTP 方法
-
GET
- 描述
- 观察单个对 EndpointSlice 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
11.2.5. /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| EndpointSlice 的名称 |
- HTTP 方法
-
DELETE
- 描述
- delete an EndpointSlice
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 阅读指定的 EndpointSlice
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 EndpointSlice
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 EndpointSlice
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
11.2.6. /apis/discovery.k8s.io/v1/watch/namespaces/{namespace}/endpointslices/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| EndpointSlice 的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 EndpointSlice 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
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 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| 所需出口路由器的规格。 |
|
| 观察到 EgressRouter 的状态。 |
12.1.1. .spec
- 描述
- 所需出口路由器的规格。
- 类型
-
object
- 必填
-
addresses
-
模式
-
networkInterface
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要在 pod 二级接口上配置的 IP 地址列表。 |
|
| EgressRouterAddress 包含要在路由器接口上配置的 IP CIDR 和网关的一对 |
|
| 模式描述用于出口路由器的模式。默认模式为 "Redirect",它是目前唯一支持的模式。 |
|
| 要创建/使用的接口规格。默认值为 macvlan。目前只支持 macvlan。 |
|
| redirect 代表特定于重定向模式的配置参数。 |
12.1.2. .spec.addresses
- 描述
- 要在 pod 二级接口上配置的 IP 地址列表。
- 类型
-
array
12.1.3. .spec.addresses[]
- 描述
- EgressRouterAddress 包含要在路由器接口上配置的 IP CIDR 和网关的一对
- 类型
-
object
- 必填
-
ip
-
属性 | 类型 | 描述 |
---|---|---|
|
| 如果无法自动决定下一跃点网关的 IP 地址。可以是 IPv4 或 IPv6。 |
|
| IP 是要在路由器接口上配置的地址。可以是 IPv4 或 IPv6。 |
12.1.4. .spec.networkInterface
- 描述
- 要创建/使用的接口规格。默认值为 macvlan。目前只支持 macvlan。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 特定于 interfaceType macvlan 的参数 |
12.1.5. .spec.networkInterface.macvlan
- 描述
- 特定于 interfaceType macvlan 的参数
- 类型
-
object
- 必填
-
模式
-
属性 | 类型 | 描述 |
---|---|---|
|
| master 接口的名称。如果可以从 IP 地址中推断出来,则不需要指定。 |
|
| 模式描述了用于 macvlan 接口的模式 ; Bridge|Private|VEPA|Passthru 之一。默认模式为 "Bridge"。 |
12.1.6. .spec.redirect
- 描述
- redirect 代表特定于重定向模式的配置参数。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| fallbackIP 指定远程目的地的 IP 地址。可以是 IPv4 或 IPv6。如果没有指定重定向规则,则来自路由器的所有流量都会被重定向到此 IP。如果指定了重定向规则,则路由器上的任何其他端口(未定义)上的任何连接都将重定向到此 IP。如果指定了重定向规则,且没有提供回退 IP,则其他端口上的连接将直接被拒绝。 |
|
| L4RedirectRules 列表,在重定向模式中定义从 pod 到目的地的 DNAT 重定向。 |
|
| 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
-
属性 | 类型 | 描述 |
---|---|---|
|
| ip 指定远程目标的 IP 地址。可以是 IPv4 或 IPv6。 |
|
| port 是客户端应向其发送流量的端口号。 |
|
| 协议可以是 TCP、SCTP 或 UDP。 |
|
| targetPort 允许指定流量重定向到的远程目的地上的端口号。如果未指定,则使用 "Port" 的值。 |
12.1.9. .status
- 描述
- 观察到 EgressRouter 的状态。
- 类型
-
object
- 必填
-
conditions
-
属性 | 类型 | 描述 |
---|---|---|
|
| 观察出口路由器的状态 |
|
| EgressRouterStatusCondition 代表出口路由器的受管和受监控组件的状态。 |
12.1.10. .status.conditions
- 描述
- 观察出口路由器的状态
- 类型
-
array
12.1.11. .status.conditions[]
- 描述
- EgressRouterStatusCondition 代表出口路由器的受管和受监控组件的状态。
- 类型
-
object
- 必填
-
status
-
type
-
属性 | 类型 | 描述 |
---|---|---|
| `` | lastTransitionTime 是当前 status 属性最后一次更新的时间。 |
|
| Message 提供有关当前条件的附加信息。这只能被人类使用。它可以包含行 Feed 字符(U+000A),该字符应作为新行呈现。 |
|
| reason 是条件当前状态的 CamelCase 原因。 |
|
| 条件的状态,True, False, Unknown 之一。 |
|
| 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 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
12.2.2. /apis/network.operator.openshift.io/v1/namespaces/{namespace}/egressrouters
- HTTP 方法
-
DELETE
- 描述
- 删除 EgressRouter 集合
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出 EgressRouter 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 EgressRouter
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
12.2.3. /apis/network.operator.openshift.io/v1/namespaces/{namespace}/egressrouters/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| EgressRouter 的名称 |
- HTTP 方法
-
DELETE
- 描述
- delete an EgressRouter
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 阅读指定的 EgressRouter
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 EgressRouter
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 EgressRouter
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
12.2.4. /apis/network.operator.openshift.io/v1/namespaces/{namespace}/egressrouters/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| EgressRouter 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 EgressRouter 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 EgressRouter 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 EgressRouter 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
第 13 章 Ingress [networking.k8s.io/v1]
- 描述
- Ingress 是允许入站连接访问后端定义的端点的规则集合。可将 Ingress 配置为向外部可访问的 URL 提供服务、负载均衡流量、终止 SSL、提供基于名称的虚拟主机等。
- 类型
-
对象
13.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| IngressSpec 描述了您希望存在的 Ingress 用户。 |
|
| IngressStatus 描述 Ingress 的当前状态。 |
13.1.1. .spec
- 描述
- IngressSpec 描述了您希望存在的 Ingress 用户。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| IngressBackend 描述给定服务和端口的所有端点。 |
|
|
ingressClassName 是 IngressClass 集群资源的名称。Ingress 控制器实现使用此字段通过传输连接(controller → IngressClass → Ingress 资源)知道它们是否应提供此 Ingress 资源。虽然 |
|
| rules 是用于配置 Ingress 的主机规则列表。如果未指定,或者没有规则匹配,则所有流量都会发送到默认后端。 |
|
| IngressRule 代表将指定主机下的路径映射到相关后端服务的规则。首先为主机匹配评估传入的请求,然后路由到与匹配的 IngressRuleValue 关联的后端。 |
|
| TLS 代表 TLS 配置。目前,Ingress 只支持单个 TLS 端口 443。如果此列表的多个成员指定了不同的主机,则它们将根据通过 SNI TLS 扩展指定的主机名在同一端口上进行多路,如果入口控制器满足 ingress 支持 SNI。 |
|
| IngressTLS 描述了与入口关联的传输层安全性。 |
13.1.2. .spec.defaultBackend
- 描述
- IngressBackend 描述给定服务和端口的所有端点。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| resource 是 Ingress 对象命名空间中的另一个 Kubernetes 资源的 ObjectRef。如果指定了 resource,则无法指定 service.Name 和 service.Port。这是使用 "Service" 相互排斥的设置。 | |
|
| IngressServiceBackend 引用 Kubernetes Service 作为后端。 |
13.1.3. .spec.defaultBackend.service
- 描述
- IngressServiceBackend 引用 Kubernetes Service 作为后端。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 是引用的服务。服务必须与 Ingress 对象位于同一个命名空间中。 |
|
| ServiceBackendPort 是被引用的服务端口。 |
13.1.4. .spec.defaultBackend.service.port
- 描述
- ServiceBackendPort 是被引用的服务端口。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| name 是服务上的端口的名称。这是一个带有 "Number" 的相互排斥的设置。 |
|
| number 是服务上的数字端口号(如 80)。这是使用 "Name" 相互排斥的设置。 |
13.1.5. .spec.rules
- 描述
- rules 是用于配置 Ingress 的主机规则列表。如果未指定,或者没有规则匹配,则所有流量都会发送到默认后端。
- 类型
-
array
13.1.6. .spec.rules[]
- 描述
- IngressRule 代表将指定主机下的路径映射到相关后端服务的规则。首先为主机匹配评估传入的请求,然后路由到与匹配的 IngressRuleValue 关联的后端。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
|
host 是网络主机的完全限定域名,如 RFC 3986 定义。请注意 RFC 3986: 1 中定义的 URI 的"主机"部分的以下偏差:不允许使用 IP。目前,IngressRuleValue 仅适用于父 Ingress Spec 中的 IP。2. 主机可以是"precise",它是一个没有终止网络主机的域名(如 "foo.bar.com")或"wildcard",它是一个前缀为单个通配符标签的域名(如 ".foo.com")。通配符字符 '' 必须作为第一个 DNS 标签显示,且只匹配单个标签。您不能自行有一个通配符标签(如 Host == "*")。请求将按照以下方式与 Host 字段匹配:1。如果 host 是精确的,如果 http 主机标头等于 Host,则请求与此规则匹配。2.如果 host 是通配符,则请求将与此规则匹配,如果 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 是将请求映射到后端的路径集合。 |
|
| HTTPIngressPath 将路径与后端相关联。与路径匹配的传入 URL 转发到后端。 |
13.1.8. .spec.rules[].http.paths
- 描述
- paths 是将请求映射到后端的路径集合。
- 类型
-
array
13.1.9. .spec.rules[].http.paths[]
- 描述
- HTTPIngressPath 将路径与后端相关联。与路径匹配的传入 URL 转发到后端。
- 类型
-
object
- 必填
-
pathType
-
后端
-
属性 | 类型 | 描述 |
---|---|---|
|
| IngressBackend 描述给定服务和端口的所有端点。 |
|
| path 与传入请求的路径匹配。目前,它可以包含不允许来自 RFC 3986 定义的 URL 的传统"path"部分。路径必须以 '/' 开头,在使用值为 "Exact" 或 "Prefix" 的 PathType 时必须存在。 |
|
| pathType 决定路径匹配的解释。pathType 可以是以下值之一:* Exact: 完全匹配 URL 路径。* prefix: 根据 URL 路径前缀匹配,由 '/' 分割。匹配按元素基于路径元素进行。path 元素引用是路径中的标签列表,由 '/' 分隔符分割。如果每个 p 是请求路径的 p 的元素前缀,则请求是 path p 的匹配项。请注意,如果路径的最后一个元素是请求路径中最后一个元素的子字符串,则不是匹配项(例如 /foo/bar/baz 匹配 /foo/bar/baz),但不匹配 /foo/barbaz。* ImplementationSpecific:检查路径匹配最多为 IngressClass。实现可以将其视为单独的 PathType,或者将其与 Prefix 或 Exact 路径类型相同。需要实施才能支持所有路径类型。
可能枚举值:- |
13.1.10. .spec.rules[].http.paths[].backend
- 描述
- IngressBackend 描述给定服务和端口的所有端点。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| resource 是 Ingress 对象命名空间中的另一个 Kubernetes 资源的 ObjectRef。如果指定了 resource,则无法指定 service.Name 和 service.Port。这是使用 "Service" 相互排斥的设置。 | |
|
| IngressServiceBackend 引用 Kubernetes Service 作为后端。 |
13.1.11. .spec.rules[].http.paths[].backend.service
- 描述
- IngressServiceBackend 引用 Kubernetes Service 作为后端。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 是引用的服务。服务必须与 Ingress 对象位于同一个命名空间中。 |
|
| ServiceBackendPort 是被引用的服务端口。 |
13.1.12. .spec.rules[].http.paths[].backend.service.port
- 描述
- ServiceBackendPort 是被引用的服务端口。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| name 是服务上的端口的名称。这是一个带有 "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 是用于在端口 443 上终止 TLS 流量的 secret 名称。字段保留可选,以只允许仅基于 SNI 主机名的 TLS 路由。如果监听器中的 SNI 主机与 IngressRule 使用的 "Host" 标头字段冲突,则 SNI 主机用于终止,并将 "Host" 标头的值用于路由。 |
13.1.15. .status
- 描述
- IngressStatus 描述 Ingress 的当前状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| IngressLoadBalancerStatus 代表负载均衡器的状态。 |
13.1.16. .status.loadBalancer
- 描述
- IngressLoadBalancerStatus 代表负载均衡器的状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| Ingress 是一个包含负载均衡器的入口点的列表。 |
|
| IngressLoadBalancerIngress 代表负载均衡器入口点的状态。 |
13.1.17. .status.loadBalancer.ingress
- 描述
- Ingress 是一个包含负载均衡器的入口点的列表。
- 类型
-
array
13.1.18. .status.loadBalancer.ingress[]
- 描述
- IngressLoadBalancerIngress 代表负载均衡器入口点的状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 为基于 DNS 的负载均衡器入口点设置 hostname。 |
|
| 为基于 IP 的负载均衡器入口点设置了 IP。 |
|
| 端口提供有关此 LoadBalancer 公开的端口的信息。 |
|
| IngressPortStatus 代表服务端口的错误条件 |
13.1.19. .status.loadBalancer.ingress[].ports
- 描述
- 端口提供有关此 LoadBalancer 公开的端口的信息。
- 类型
-
array
13.1.20. .status.loadBalancer.ingress[].ports[]
- 描述
- IngressPortStatus 代表服务端口的错误条件
- 类型
-
object
- 必填
-
port
-
protocol
-
属性 | 类型 | 描述 |
---|---|---|
|
| 错误是记录服务端口的问题。错误的格式应遵循以下规则: - 内置错误值应该在此文件中指定,而那些应该使用 CamelCase 名称 - 云供应商特定错误值必须具有符合 foo.example.com/CamelCase 格式的名称。 |
|
| port 是入口端口的端口号。 |
|
| protocol 是入口端口的协议。支持的值有:"TCP", "UDP", "SCTP"
可能枚举值: - |
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 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
13.2.2. /apis/networking.k8s.io/v1/watch/ingresses
- HTTP 方法
-
GET
- 描述
- 观察单个对 Ingress 列表的更改。已弃用:改为使用 'watch' 参数和列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
13.2.3. /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses
- HTTP 方法
-
DELETE
- 描述
- 删除 Ingress 集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 Ingress 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 Ingress
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
13.2.4. /apis/networking.k8s.io/v1/watch/namespaces/{namespace}/ingresses
- HTTP 方法
-
GET
- 描述
- 观察单个对 Ingress 列表的更改。已弃用:改为使用 'watch' 参数和列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
13.2.5. /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| Ingress 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 Ingress
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的 Ingress
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 Ingress
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 Ingress
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
13.2.6. /apis/networking.k8s.io/v1/watch/namespaces/{namespace}/ingresses/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| Ingress 的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 Ingress 的对象的更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
13.2.7. /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| Ingress 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 Ingress 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 Ingress 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 Ingress 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
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 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| IngressClassSpec 提供有关 Ingress 类的信息。 |
14.1.1. .spec
- 描述
- IngressClassSpec 提供有关 Ingress 类的信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| Controller 指的是应处理此类的控制器的名称。这允许由同一控制器控制的不同"类别"。例如,对于相同的实现控制器,您可能具有不同的参数。这应该被指定为域前缀路径长度不超过 250 个字符,如 "acme.io/ingress-controller"。此字段不可变。 |
|
| IngressClassParametersReference 标识 API 对象。这可用于指定集群或命名空间范围的资源。 |
14.1.2. .spec.parameters
- 描述
- IngressClassParametersReference 标识 API 对象。这可用于指定集群或命名空间范围的资源。
- 类型
-
object
- 必填
-
kind
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| APIGroup 是所引用资源的组。如果没有指定 APIGroup,则指定的 Kind 必须位于 core API 组中。对于任何其他第三方类型,需要 APIGroup。 |
|
| kind 是被引用的资源类型。 |
|
| name 是被引用的资源的名称。 |
|
| namespace 是被引用的资源的命名空间。当 scope 设为 "Namespace" 时,需要此字段,且范围设置为 "Cluster" 时必须取消设置。 |
|
| 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 集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 IngressClass 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 IngressClass
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
14.2.2. /apis/networking.k8s.io/v1/watch/ingressclasses
- HTTP 方法
-
GET
- 描述
- 观察单个对 IngressClass 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
14.2.3. /apis/networking.k8s.io/v1/ingressclasses/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| IngressClass 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 IngressClass
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的 IngressClass
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 IngressClass
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 IngressClass
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
14.2.4. /apis/networking.k8s.io/v1/watch/ingressclasses/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| IngressClass 的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 IngressClass 的对象的更改。已弃用:使用带列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
第 15 章 IPPool [whereabouts.cni.cncf.io/v1alpha1]
- 描述
- IPPool 是 ippools API 的 Schema
- 类型
-
对象
15.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| IPPoolSpec 定义 IPPool 的所需状态 |
15.1.1. .spec
- 描述
- IPPoolSpec 定义 IPPool 的所需状态
- 类型
-
object
- 必填
-
分配
-
range
-
属性 | 类型 | 描述 |
---|---|---|
|
| Allocation 是给定范围的分配的 IP 集合。其索引是到池范围相同的 index/offset 的 IP 的直接映射。 |
|
| IPAllocation 代表有关特定 IP 的 pod/容器所有者的元数据 |
|
| 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
-
属性 | 类型 | 描述 |
---|---|---|
|
| |
|
| |
|
|
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 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
15.2.2. /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/ippools
- HTTP 方法
-
DELETE
- 描述
- 删除 IPPool 集合
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出 IPPool 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 IPPool
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
15.2.3. /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/ippools/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| IPPool 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 IPPool
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的 IPPool
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 IPPool
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 IPPool
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
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 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| 指定此 MultiNetworkPolicy 所需的行为。 |
16.1.1. .spec
- 描述
- 指定此 MultiNetworkPolicy 所需的行为。
- 类型
-
object
- 必填
-
podSelector
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要应用到所选 pod 的出口规则列表。如果没有 NetworkPolicies 选择 pod (和集群策略也允许流量),或者流量至少匹配 podSelector 与 pod 匹配的所有 NetworkPolicy 对象,则允许传出流量。如果此字段为空,则此 NetworkPolicy 会限制所有传出流量(且单独用于确保它选择的 pod 默认被隔离)。此字段在 1.8 中是 beta 级别 |
|
| NetworkPolicyEgressRule 描述了允许没有与 NetworkPolicySpec 的 pod 匹配的 pod 集合的流量。流量必须与端口 和 匹配。这个类型是 1.8 中的 beta 级别 |
|
| 要应用到所选 pod 的 ingress 规则列表。如果没有 NetworkPolicies 选择 pod (并且集群策略允许流量),或者流量源是 pod 的本地节点,或者如果流量源是 pod 的本地节点,或者如果流量至少匹配 pod 的所有 NetworkPolicy 对象中的一个入站规则,则允许流量。如果此字段为空,则此 NetworkPolicy 不允许任何流量(只服务来确保它选择的 pod 默认被隔离) |
|
| NetworkPolicyIngressRule 描述了允许 pod 集合与 NetworkPolicySpec 的 pod 匹配的特定流量。流量必须与端口 和 from 匹配。 |
|
| 这是选择 Pod 的标签选择器。此字段遵循标准标签选择器语义;如果存在,它会选择所有 pod。如果还设置了 NamespaceSelector,则 NetworkPolicyPeer 作为整个选择在 NamespaceSelector 选择的命名空间中匹配的 PodSelector 的 Pod。否则,它会在策略自己的命名空间中选择与 PodSelector 匹配的 Pod。 |
|
| 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
属性 | 类型 | 描述 |
---|---|---|
|
| 传出流量的目标端口列表。此列表中的每个项目都使用逻辑 OR 合并。如果此字段为空或缺失,此规则匹配所有端口(不受端口限制的流量)。如果此字段至少包含一个项,则此规则仅在流量至少与列表中的一个端口匹配时才允许流量。 |
|
| NetworkPolicyPort 描述了允许流量的端口 |
|
| 为这个规则选择的 pod 的目的地列表。此列表中的项目使用逻辑 OR 操作来合并。如果此字段为空或缺失,此规则与所有目的地匹配(不受目的地限制的流量)。如果此字段至少存在并包含一项,则该规则仅在流量至少与 to 列表中某一项匹配时才允许流量。 |
|
| NetworkPolicyPeer 描述了允许来自流量的对等点。只允许某些字段组合 |
16.1.4. .spec.egress[].ports
- 描述
- 传出流量的目标端口列表。此列表中的每个项目都使用逻辑 OR 合并。如果此字段为空或缺失,此规则匹配所有端口(不受端口限制的流量)。如果此字段至少包含一个项,则此规则仅在流量至少与列表中的一个端口匹配时才允许流量。
- 类型
-
数组
16.1.5. .spec.egress[].ports[]
- 描述
- NetworkPolicyPort 描述了允许流量的端口
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 给定协议上的端口。这可以是 pod 上的数字或指定端口。如果没有提供此字段,则匹配所有端口名称和编号。 |
|
| 流量必须匹配的协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。 |
16.1.6. .spec.egress[].to
- 描述
- 为这个规则选择的 pod 的目的地列表。此列表中的项目使用逻辑 OR 操作来合并。如果此字段为空或缺失,此规则与所有目的地匹配(不受目的地限制的流量)。如果此字段至少存在并包含一项,则该规则仅在流量至少与 to 列表中某一项匹配时才允许流量。
- 类型
-
数组
16.1.7. .spec.egress[].to[]
- 描述
- NetworkPolicyPeer 描述了允许来自流量的对等点。只允许某些字段组合
- 类型
-
对象
属性 | 类型 | 描述 |
---|---|---|
|
| IPBlock 定义特定 IPBlock 的策略。如果设置了此字段,则不能有其他字段。 |
|
| 使用集群范围的标签选择 Namespaces。此字段遵循标准标签选择器语义;如果存在,它会选择所有命名空间。如果也设置了 PodSelector,则 NetworkPolicyPeer 作为整个选择在 NamespaceSelector 选择的命名空间中匹配的 PodSelector 的 Pod。否则,它会在 NamespaceSelector 中选择 Namespaces 中的所有 Pod。 |
|
| 这是选择 Pod 的标签选择器。此字段遵循标准标签选择器语义;如果存在,它会选择所有 pod。如果还设置了 NamespaceSelector,则 NetworkPolicyPeer 作为整个选择在 NamespaceSelector 选择的命名空间中匹配的 PodSelector 的 Pod。否则,它会在策略自己的命名空间中选择与 PodSelector 匹配的 Pod。 |
16.1.8. .spec.egress[].to[].ipBlock
- 描述
- IPBlock 定义特定 IPBlock 的策略。如果设置了此字段,则不能有其他字段。
- 类型
-
对象
- 必填
-
cidr
-
属性 | 类型 | 描述 |
---|---|---|
|
| CIDR 是代表 IP 块有效期示例的字符串,是 '192.168.1.1/24' |
|
| 除外,如果值不在 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 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 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 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 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
属性 | 类型 | 描述 |
---|---|---|
|
| 能够访问为这个规则选择的 pod 的源列表。此列表中的项目使用逻辑 OR 操作来合并。如果此字段为空或缺失,此规则与所有源匹配(不受源限制的流量)。如果此字段至少包含一个项,则该规则仅在流量与 from 列表中至少一个项匹配时才允许流量。 |
|
| NetworkPolicyPeer 描述了允许来自流量的对等点。只允许某些字段组合 |
|
| 应该可在为此规则选择的 pod 上访问的端口列表。此列表中的每个项目都使用逻辑 OR 合并。如果此字段为空或缺失,此规则匹配所有端口(不受端口限制的流量)。如果此字段至少包含一个项,则此规则仅在流量至少与列表中的一个端口匹配时才允许流量。 |
|
| NetworkPolicyPort 描述了允许流量的端口 |
16.1.17. .spec.ingress[].from
- 描述
- 能够访问为这个规则选择的 pod 的源列表。此列表中的项目使用逻辑 OR 操作来合并。如果此字段为空或缺失,此规则与所有源匹配(不受源限制的流量)。如果此字段至少包含一个项,则该规则仅在流量与 from 列表中至少一个项匹配时才允许流量。
- 类型
-
数组
16.1.18. .spec.ingress[].from[]
- 描述
- NetworkPolicyPeer 描述了允许来自流量的对等点。只允许某些字段组合
- 类型
-
对象
属性 | 类型 | 描述 |
---|---|---|
|
| IPBlock 定义特定 IPBlock 的策略。如果设置了此字段,则不能有其他字段。 |
|
| 使用集群范围的标签选择 Namespaces。此字段遵循标准标签选择器语义;如果存在,它会选择所有命名空间。如果也设置了 PodSelector,则 NetworkPolicyPeer 作为整个选择在 NamespaceSelector 选择的命名空间中匹配的 PodSelector 的 Pod。否则,它会在 NamespaceSelector 中选择 Namespaces 中的所有 Pod。 |
|
| 这是选择 Pod 的标签选择器。此字段遵循标准标签选择器语义;如果存在,它会选择所有 pod。如果还设置了 NamespaceSelector,则 NetworkPolicyPeer 作为整个选择在 NamespaceSelector 选择的命名空间中匹配的 PodSelector 的 Pod。否则,它会在策略自己的命名空间中选择与 PodSelector 匹配的 Pod。 |
16.1.19. .spec.ingress[].from[].ipBlock
- 描述
- IPBlock 定义特定 IPBlock 的策略。如果设置了此字段,则不能有其他字段。
- 类型
-
object
- 必填
-
cidr
-
属性 | 类型 | 描述 |
---|---|---|
|
| CIDR 是代表 IP 块有效期示例的字符串,是 '192.168.1.1/24' |
|
| 除外,如果值不在 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 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 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 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 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 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 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
属性 | 类型 | 描述 |
---|---|---|
|
| 给定协议上的端口。这可以是 pod 上的数字或指定端口。如果没有提供此字段,则匹配所有端口名称和编号。 |
|
| 流量必须匹配的协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。 |
16.1.28. .spec.podSelector
- 描述
- 这是选择 Pod 的标签选择器。此字段遵循标准标签选择器语义;如果存在,它会选择所有 pod。如果还设置了 NamespaceSelector,则 NetworkPolicyPeer 作为整个选择在 NamespaceSelector 选择的命名空间中匹配的 PodSelector 的 Pod。否则,它会在策略自己的命名空间中选择与 PodSelector 匹配的 Pod。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
|
16.1.29. .spec.podSelector.matchExpressions
- 描述
- matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
- 类型
-
array
16.1.30. .spec.podSelector.matchExpressions[]
- 描述
- 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
- 类型
-
object
- 必填
-
key
-
operator
-
属性 | 类型 | 描述 |
---|---|---|
|
| key 是选择器应用到的标签键。 |
|
| 运算符代表一个键与一组值的关系。有效的运算符是 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 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
16.2.2. /apis/k8s.cni.cncf.io/v1beta1/namespaces/{namespace}/multi-networkpolicies
- HTTP 方法
-
DELETE
- 描述
- 删除 MultiNetworkPolicy 集合
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出 MultiNetworkPolicy 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建一个 MultiNetworkPolicy
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |
16.2.3. /apis/k8s.cni.cncf.io/v1beta1/namespaces/{namespace}/multi-networkpolicies/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| MultiNetworkPolicy 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除一个 MultiNetworkPolicy
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 阅读指定的 MultiNetworkPolicy
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 MultiNetworkPolicy
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 MultiNetworkPolicy
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
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 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| NetworkAttachmentDefinition spec 定义网络附加的所需状态 |
17.1.1. .spec
- 描述
- NetworkAttachmentDefinition spec 定义网络附加的所需状态
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 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 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
17.2.2. /apis/k8s.cni.cncf.io/v1/namespaces/{namespace}/network-attachment-definitions
- HTTP 方法
-
DELETE
- 描述
- 删除 NetworkAttachmentDefinition 集合
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出 NetworkAttachmentDefinition 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 NetworkAttachmentDefinition
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
17.2.3. /apis/k8s.cni.cncf.io/v1/namespaces/{namespace}/network-attachment-definitions/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| NetworkAttachmentDefinition 的名称 |
- HTTP 方法
-
DELETE
- 描述
- delete a NetworkAttachmentDefinition
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的 NetworkAttachmentDefinition
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 NetworkAttachmentDefinition
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 NetworkAttachmentDefinition
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
第 18 章 NetworkPolicy [networking.k8s.io/v1]
- 描述
- NetworkPolicy 描述一组 Pod 允许哪些网络流量
- 类型
-
对象
18.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| NetworkPolicySpec 提供 NetworkPolicy 的规格 |
18.1.1. .spec
- 描述
- NetworkPolicySpec 提供 NetworkPolicy 的规格
- 类型
-
object
- 必填
-
podSelector
-
属性 | 类型 | 描述 |
---|---|---|
|
| egress 是要应用到所选 pod 的出口规则列表。如果没有 NetworkPolicies 选择 pod (和集群策略也允许流量),或者流量至少匹配 podSelector 与 pod 匹配的所有 NetworkPolicy 对象,则允许传出流量。如果此字段为空,则此 NetworkPolicy 会限制所有传出流量(且单独用于确保它选择的 pod 默认被隔离)。此字段在 1.8 中是 beta 级别 |
|
| NetworkPolicyEgressRule 描述了允许没有与 NetworkPolicySpec 的 pod 匹配的 pod 集合的流量。流量必须与端口 和 匹配。这个类型是 1.8 中的 beta 级别 |
|
| Ingress 是要应用到所选 pod 的 ingress 规则列表。如果没有 NetworkPolicies 选择 pod (并且集群策略允许流量),或者流量源是 pod 的本地节点,或者如果流量源是 pod 的本地节点,或者如果流量至少匹配 pod 的所有 NetworkPolicy 对象中的一个入站规则,则允许流量。如果此字段为空,则此 NetworkPolicy 不允许任何流量(只服务来确保它选择的 pod 默认被隔离) |
|
| NetworkPolicyIngressRule 描述了允许 pod 集合与 NetworkPolicySpec 的 pod 匹配的特定流量。流量必须与端口 和 from 匹配。 |
| podSelector 选择此 NetworkPolicy 对象应用到的 pod。ingress 规则数组应用到此字段选择的任何 pod。多个网络策略可以选择同一组 pod。在这种情况下,每个的入站规则都会有一定的合并。此字段不可选,并遵循标准标签选择器语义。空 podSelector 匹配此命名空间中的所有 pod。 | |
|
| 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 是传出流量的目标端口列表。此列表中的每个项目都使用逻辑 OR 合并。如果此字段为空或缺失,此规则匹配所有端口(不受端口限制的流量)。如果此字段至少包含一个项,则此规则仅在流量至少与列表中的一个端口匹配时才允许流量。 |
|
| NetworkPolicyPort 描述了允许流量的端口 |
|
| to 是为这个规则选择的 pod 的传出流量的目的地列表。此列表中的项目使用逻辑 OR 操作来合并。如果此字段为空或缺失,此规则与所有目的地匹配(不受目的地限制的流量)。如果此字段至少存在并包含一项,则该规则仅在流量至少与 to 列表中某一项匹配时才允许流量。 |
|
| NetworkPolicyPeer 描述了允许进出流量的对等点。只允许某些字段组合 |
18.1.4. .spec.egress[].ports
- 描述
- ports 是传出流量的目标端口列表。此列表中的每个项目都使用逻辑 OR 合并。如果此字段为空或缺失,此规则匹配所有端口(不受端口限制的流量)。如果此字段至少包含一个项,则此规则仅在流量至少与列表中的一个端口匹配时才允许流量。
- 类型
-
array
18.1.5. .spec.egress[].ports[]
- 描述
- NetworkPolicyPort 描述了允许流量的端口
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| endPort 表示策略允许端口到 endPort 的端口范围。如果没有定义 port 字段,或者 port 字段定义为命名(字符串)端口,则无法定义此字段。endPort 必须相等或大于 port。 |
| port 代表给定协议上的端口。这可以是 pod 上的数字或指定端口。如果没有提供此字段,则匹配所有端口名称和编号。如果存在,则仅匹配指定协议和端口上的流量。 | |
|
| protocol 代表流量必须匹配的协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。
可能枚举值: - |
18.1.6. .spec.egress[].to
- 描述
- to 是为这个规则选择的 pod 的传出流量的目的地列表。此列表中的项目使用逻辑 OR 操作来合并。如果此字段为空或缺失,此规则与所有目的地匹配(不受目的地限制的流量)。如果此字段至少存在并包含一项,则该规则仅在流量至少与 to 列表中某一项匹配时才允许流量。
- 类型
-
array
18.1.7. .spec.egress[].to[]
- 描述
- NetworkPolicyPeer 描述了允许进出流量的对等点。只允许某些字段组合
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| IPBlock 描述了特定的 CIDR (Ex)"192.168.1.0/24","2001:db8::/64"),允许与 NetworkPolicySpec 的 podSelector 匹配的 pod。例外条目描述了不应包含在此规则中的 CIDR。 |
| namespaceSelector 使用集群范围的标签选择命名空间。此字段遵循标准标签选择器语义;如果存在,它会选择所有命名空间。 如果也设置了 podSelector,则 NetworkPolicyPeer 作为整个选择在 namespaceSelector 选择的命名空间中与 podSelector 匹配的 pod。否则,它会选择 namespaceSelector 选择的命名空间中的所有 pod。 | |
| 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 是代表 IPBlock Valid 示例的字符串,即 "192.168.1.0/24" 或 "2001:db8::/64" |
|
| 例外是不应包含在 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 是源列表,应能够访问为此规则选择的 pod。此列表中的项目使用逻辑 OR 操作来合并。如果此字段为空或缺失,此规则与所有源匹配(不受源限制的流量)。如果此字段至少包含一个项,则该规则仅在流量与 from 列表中至少一个项匹配时才允许流量。 |
|
| NetworkPolicyPeer 描述了允许进出流量的对等点。只允许某些字段组合 |
|
| ports 是应该可在针对此规则选择的 pod 上访问的端口的列表。此列表中的每个项目都使用逻辑 OR 合并。如果此字段为空或缺失,此规则匹配所有端口(不受端口限制的流量)。如果此字段至少包含一个项,则此规则仅在流量至少与列表中的一个端口匹配时才允许流量。 |
|
| NetworkPolicyPort 描述了允许流量的端口 |
18.1.11. .spec.ingress[].from
- 描述
- from 是源列表,应能够访问为此规则选择的 pod。此列表中的项目使用逻辑 OR 操作来合并。如果此字段为空或缺失,此规则与所有源匹配(不受源限制的流量)。如果此字段至少包含一个项,则该规则仅在流量与 from 列表中至少一个项匹配时才允许流量。
- 类型
-
array
18.1.12. .spec.ingress[].from[]
- 描述
- NetworkPolicyPeer 描述了允许进出流量的对等点。只允许某些字段组合
- 类型
-
对象
属性 | 类型 | 描述 |
---|---|---|
|
| IPBlock 描述了特定的 CIDR (Ex)"192.168.1.0/24","2001:db8::/64"),允许与 NetworkPolicySpec 的 podSelector 匹配的 pod。例外条目描述了不应包含在此规则中的 CIDR。 |
| namespaceSelector 使用集群范围的标签选择命名空间。此字段遵循标准标签选择器语义;如果存在,它会选择所有命名空间。 如果也设置了 podSelector,则 NetworkPolicyPeer 作为整个选择在 namespaceSelector 选择的命名空间中与 podSelector 匹配的 pod。否则,它会选择 namespaceSelector 选择的命名空间中的所有 pod。 | |
| 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 是代表 IPBlock Valid 示例的字符串,即 "192.168.1.0/24" 或 "2001:db8::/64" |
|
| 例外是不应包含在 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 的端口范围。如果没有定义 port 字段,或者 port 字段定义为命名(字符串)端口,则无法定义此字段。endPort 必须相等或大于 port。 |
| port 代表给定协议上的端口。这可以是 pod 上的数字或指定端口。如果没有提供此字段,则匹配所有端口名称和编号。如果存在,则仅匹配指定协议和端口上的流量。 | |
|
| protocol 代表流量必须匹配的协议(TCP、UDP 或 SCTP)。如果没有指定,此字段默认为 TCP。
可能枚举值: - |
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 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
18.2.2. /apis/networking.k8s.io/v1/watch/networkpolicies
- HTTP 方法
-
GET
- 描述
- 观察单个对 NetworkPolicy 列表的更改。已弃用:使用带有列表操作的 'watch' 参数。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
18.2.3. /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies
- HTTP 方法
-
DELETE
- 描述
- 删除 NetworkPolicy 集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 NetworkPolicy 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 NetworkPolicy
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |
18.2.4. /apis/networking.k8s.io/v1/watch/namespaces/{namespace}/networkpolicies
- HTTP 方法
-
GET
- 描述
- 观察单个对 NetworkPolicy 列表的更改。已弃用:使用带有列表操作的 'watch' 参数。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
18.2.5. /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| NetworkPolicy 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 NetworkPolicy
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的 NetworkPolicy
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 NetworkPolicy
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 NetworkPolicy
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
18.2.6. /apis/networking.k8s.io/v1/watch/namespaces/{namespace}/networkpolicies/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| NetworkPolicy 的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 NetworkPolicy 的对象的更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
第 19 章 OverlappingRangeIPReservation [whereabouts.cni.cncf.io/v1alpha1]
- 描述
- OverlappingRangeIPReservation 是 OverlappingRangeIPReservations API 的 Schema
- 类型
-
object
- 必填
-
spec
-
19.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| OverlappingRangeIPReservationSpec 定义所需的 OverlappingRangeIPReservation |
19.1.1. .spec
- 描述
- OverlappingRangeIPReservationSpec 定义所需的 OverlappingRangeIPReservation
- 类型
-
object
- 必填
-
podref
-
属性 | 类型 | 描述 |
---|---|---|
|
| |
|
| |
|
|
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 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
19.2.2. /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/overlappingrangeipreservations
- HTTP 方法
-
DELETE
- 描述
- 删除 OverlappingRangeIPReservation 集合
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出 OverlappingRangeIPReservation 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 OverlappingRangeIPReservation
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |
19.2.3. /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/overlappingrangeipreservations/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| OverlappingRangeIPReservation 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 OverlappingRangeIPReservation
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 阅读指定的 OverlappingRangeIPReservation
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 OverlappingRangeIPReservation
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 OverlappingRangeIPReservation
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
第 20 章 PodNetworkConnectivityCheck [controlplane.operator.openshift.io/v1alpha1]
- 描述
- PodNetworkConnectivityCheck 兼容性级别 4:不提供兼容性,API 可以在任何原因而改变。这些功能不应由需要长期支持的应用程序使用。
- 类型
-
object
- 必填
-
spec
-
20.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| spec 定义连接检查的源和目标 |
|
| status 包含连接检查的观察状态 |
20.1.1. .spec
- 描述
- spec 定义连接检查的源和目标
- 类型
-
object
- 必填
-
sourcePod
-
targetEndpoint
-
属性 | 类型 | 描述 |
---|---|---|
|
| SourcePod 将从中检查条件的 pod 命名为 |
|
| 要检查的 EndpointAddress。形式为 host:port 的 TCP 地址。请注意,如果 host 是 DNS 名称,则如果无法解析 DNS 名称,则检查将失败。为主机指定要绕过 DNS 名称查找的 IP 地址。 |
|
| 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
- 必填
-
名称
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 是引用的 secret 的 metadata.name |
20.1.3. .status
- 描述
- status 包含连接检查的观察状态
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 条件总结检查的状态 |
|
| PodNetworkConnectivityCheckCondition 代表 pod 网络连接的整体状态。 |
|
| 失败包含失败的检查操作的日志 |
|
| LogEntry 记录事件 |
|
| 中断包含中断时间的日志 |
|
| OutageEntry 记录中断的时间段 |
|
| successes 包含日志成功检查操作 |
|
| LogEntry 记录事件 |
20.1.4. .status.conditions
- 描述
- 条件总结检查的状态
- 类型
-
数组
20.1.5. .status.conditions[]
- 描述
- PodNetworkConnectivityCheckCondition 代表 pod 网络连接的整体状态。
- 类型
-
object
- 必填
-
status
-
type
-
属性 | 类型 | 描述 |
---|---|---|
| `` | 条件从一个状态转换到另一个状态最后一次的时间。 |
|
| 消息以人类可读的格式表示最后一次转换的详细信息。 |
|
| 以机器可读格式替换条件的最后状态转换的原因。 |
|
| 条件的状态 |
|
| 条件的类型 |
20.1.6. .status.failures
- 描述
- 失败包含失败的检查操作的日志
- 类型
-
数组
20.1.7. .status.failures[]
- 描述
- LogEntry 记录事件
- 类型
-
object
- 必填
-
success
-
属性 | 类型 | 描述 |
---|---|---|
| `` | 延迟记录了条目中提到的操作的时间。 |
|
| 以人类可读的格式解释状态的消息。 |
|
| 以机器可读格式状态的原因。 |
|
| success 表示日志条目是否表示成功或失败。 |
| `` | 检查操作的开始时间。 |
20.1.8. .status.outages
- 描述
- 中断包含中断时间的日志
- 类型
-
数组
20.1.9. .status.outages[]
- 描述
- OutageEntry 记录中断的时间段
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| `` | 检测到中断结束 |
|
| endLogs 包含与此中断结束相关的日志条目。应包含已解决中断的成功条目,并且可能存在几个前面的故障日志条目。 |
|
| LogEntry 记录事件 |
|
| 消息以人类可读的格式汇总中断详情。 |
| `` | 检测到中断的开始 |
|
| startLogs 包含与此中断开始相关的日志条目。应该包含原始失败,以及任何失败模式更改的条目。 |
|
| LogEntry 记录事件 |
20.1.10. .status.outages[].endLogs
- 描述
- endLogs 包含与此中断结束相关的日志条目。应包含已解决中断的成功条目,并且可能存在几个前面的故障日志条目。
- 类型
-
array
20.1.11. .status.outages[].endLogs[]
- 描述
- LogEntry 记录事件
- 类型
-
object
- 必填
-
success
-
属性 | 类型 | 描述 |
---|---|---|
| `` | 延迟记录了条目中提到的操作的时间。 |
|
| 以人类可读的格式解释状态的消息。 |
|
| 以机器可读格式状态的原因。 |
|
| success 表示日志条目是否表示成功或失败。 |
| `` | 检查操作的开始时间。 |
20.1.12. .status.outages[].startLogs
- 描述
- startLogs 包含与此中断开始相关的日志条目。应该包含原始失败,以及任何失败模式更改的条目。
- 类型
-
array
20.1.13. .status.outages[].startLogs[]
- 描述
- LogEntry 记录事件
- 类型
-
object
- 必填
-
success
-
属性 | 类型 | 描述 |
---|---|---|
| `` | 延迟记录了条目中提到的操作的时间。 |
|
| 以人类可读的格式解释状态的消息。 |
|
| 以机器可读格式状态的原因。 |
|
| success 表示日志条目是否表示成功或失败。 |
| `` | 检查操作的开始时间。 |
20.1.14. .status.successes
- 描述
- successes 包含日志成功检查操作
- 类型
-
array
20.1.15. .status.successes[]
- 描述
- LogEntry 记录事件
- 类型
-
object
- 必填
-
success
-
属性 | 类型 | 描述 |
---|---|---|
| `` | 延迟记录了条目中提到的操作的时间。 |
|
| 以人类可读的格式解释状态的消息。 |
|
| 以机器可读格式状态的原因。 |
|
| success 表示日志条目是否表示成功或失败。 |
| `` | 检查操作的开始时间。 |
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 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
20.2.2. /apis/controlplane.operator.openshift.io/v1alpha1/namespaces/{namespace}/podnetworkconnectivitychecks
- HTTP 方法
-
DELETE
- 描述
- 删除 PodNetworkConnectivityCheck 集合
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出类型为 PodNetworkConnectivityCheck 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 PodNetworkConnectivityCheck
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |
20.2.3. /apis/controlplane.operator.openshift.io/v1alpha1/namespaces/{namespace}/podnetworkconnectivitychecks/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| PodNetworkConnectivityCheck 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 PodNetworkConnectivityCheck
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 阅读指定的 PodNetworkConnectivityCheck
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 PodNetworkConnectivityCheck
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 PodNetworkConnectivityCheck
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
20.2.4. /apis/controlplane.operator.openshift.io/v1alpha1/namespaces/{namespace}/podnetworkconnectivitychecks/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| PodNetworkConnectivityCheck 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 PodNetworkConnectivityCheck 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 PodNetworkConnectivityCheck 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 PodNetworkConnectivityCheck 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
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 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| metadata 是标准对象的元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| RouteSpec 描述了路由公开的主机名或路径、任何安全信息,以及到路由指向的四个后端(服务)。根据分配给每个后端的权重在后端间分布请求。当使用 roundrobin 调度进入每个后端的请求部分时,后端权重会除以所有后端权重的总和。当后端有多个端点时,后端结束的请求会在端点之间循环分布。权重介于 0 到 256 之间,默认为 100。权重 0 会导致请求到后端。如果所有权重都为零,则路由将被视为没有后端并返回标准 503 响应。
|
|
| RouteStatus 提供有关路由状态的相关信息,包括确认哪个路由器。 |
21.1.1. .spec
- 描述
RouteSpec 描述了路由公开的主机名或路径、任何安全信息,以及到路由指向的四个后端(服务)。根据分配给每个后端的权重在后端间分布请求。当使用 roundrobin 调度进入每个后端的请求部分时,后端权重会除以所有后端权重的总和。当后端有多个端点时,后端结束的请求会在端点之间循环分布。权重介于 0 到 256 之间,默认为 100。权重 0 会导致请求到后端。如果所有权重都为零,则路由将被视为没有后端并返回标准 503 响应。
tls
字段是可选的,允许路由的特定证书或行为。路由器通常在通配符域中配置默认证书,以在没有显式证书的情况下终止路由,但自定义主机名通常必须选择 passthrough (通过 TLS Server-Name- Indication 字段向后端发送流量)或提供证书。- 类型
-
对象
- 必填
-
至
-
属性 | 类型 | 描述 |
---|---|---|
|
| alternateBackends 允许最多 3 个额外的后端分配给路由。只允许 Service kind,它将默认为 Service。使用 RouteTargetReference 对象中的 weight 字段指定相对的首选项。 |
|
| RouteTargetReference 指定解析为端点的目标。只允许 'Service' kind。使用"weight"字段加重其他字段。 |
|
| 主机是一个指向该服务的别名/DNS。可选。如果没有指定路由名称,则通常会自动选择。必须遵循 DNS952 子域惯例。 |
|
| RouteHTTPHeaders 为 HTTP 标头定义策略。 |
|
| 路由器监视的路径,将流量路由到该服务的流量。选填 |
|
| RoutePort 定义从路由器到服务端点中的端点的端口映射。 |
|
| 子域是在入口控制器的域(作为子域)中请求的 DNS 子域。如果设置 host,则忽略此字段。入口控制器可能会选择忽略这个建议的名称,在这种情况下,控制器会在 status.ingress 数组中报告分配的名称,或拒绝接受该路由。如果设置了这个值,且服务器不支持此字段,主机则会自动填充。否则主机将留空。该字段可能有多个以点分开的部分,但并非所有入口控制器都遵守请求。创建后无法更改此字段,但具有更新路由/自定义主机权限的用户除外。
示例:子域 |
|
| TLSConfig 定义用于保护路由并提供终止的配置 |
|
| RouteTargetReference 指定解析为端点的目标。只允许 'Service' kind。使用"weight"字段加重其他字段。 |
|
| 用于路由的通配符策略。目前只允许 '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
-
属性 | 类型 | 描述 |
---|---|---|
|
| 路由引用的目标种类。目前,只允许 'Service' |
|
| 要引用的服务/目标的名称,如服务的名称 |
|
| weight 作为 0 到 256 之间的整数,默认 100 指定针对其他目标引用对象的目标相对权重。0 会阻止请求进入此后端。 |
21.1.4. .spec.httpHeaders
- 描述
- RouteHTTPHeaders 为 HTTP 标头定义策略。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| RouteHTTPHeaderActions 定义 HTTP 请求和响应标头的操作配置。 |
21.1.5. .spec.httpHeaders.actions
- 描述
- RouteHTTPHeaderActions 定义 HTTP 请求和响应标头的操作配置。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
|
request 是要修改的 HTTP 请求标头列表。目前,操作可以定义为 |
|
| RouteHTTPHeader 指定设置或删除 HTTP 标头的配置。 |
|
|
response 是要修改的 HTTP 响应标头列表。目前,操作可以定义为 |
|
| RouteHTTPHeader 指定设置或删除 HTTP 标头的配置。 |
21.1.6. .spec.httpHeaders.actions.request
- 描述
-
request 是要修改的 HTTP 请求标头列表。目前,操作可以定义为
Set
或Delete
标头值。此处定义的操作将修改通过路由发出的所有请求的请求标头。这些操作应用于集群内定义的特定路由,例如通过路由进行的连接。目前,操作可以定义为Set
或Delete
标头值。路由操作将在请求标头的 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
-
属性 | 类型 | 描述 |
---|---|---|
|
| RouteHTTPHeaderActionUnion 指定对 HTTP 标头执行的操作。 |
|
| 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
-
属性 | 类型 | 描述 |
---|---|---|
|
| RouteSetHTTPHeader 指定在 HTTP 标头上需要设置什么值。 |
|
| type 定义要在标头中应用的操作类型。可能的值有 Set 或 Delete。设置允许您设置 HTTP 请求和响应标头。通过删除,您可以删除 HTTP 请求和响应标头。 |
21.1.9. .spec.httpHeaders.actions.request[].action.set
- 描述
- RouteSetHTTPHeader 指定在 HTTP 标头上需要设置什么值。
- 类型
-
对象
- 必填
-
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.10. .spec.httpHeaders.actions.response
- 描述
-
response 是要修改的 HTTP 响应标头列表。目前,操作可以定义为
Set
或Delete
标头值。此处定义的操作将修改通过路由发出的所有请求的响应标头。这些操作应用于集群内定义的特定路由,例如通过路由进行的连接。路由操作将在响应标头的 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
-
属性 | 类型 | 描述 |
---|---|---|
|
| RouteHTTPHeaderActionUnion 指定对 HTTP 标头执行的操作。 |
|
| 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
-
属性 | 类型 | 描述 |
---|---|---|
|
| RouteSetHTTPHeader 指定在 HTTP 标头上需要设置什么值。 |
|
| type 定义要在标头中应用的操作类型。可能的值有 Set 或 Delete。设置允许您设置 HTTP 请求和响应标头。通过删除,您可以删除 HTTP 请求和响应标头。 |
21.1.13. .spec.httpHeaders.actions.response[].action.set
- 描述
- RouteSetHTTPHeader 指定在 HTTP 标头上需要设置什么值。
- 类型
-
object
- 必填
-
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
-
属性 | 类型 | 描述 |
---|---|---|
| 此路由所指向的服务选择的 pod 上的目标端口。如果这是字符串,它会在目标端点端口列表中作为命名的端口进行查找。必填 |
21.1.15. .spec.tls
- 描述
- TLSConfig 定义用于保护路由并提供终止的配置
- 类型
-
object
- 必填
-
termination
-
属性 | 类型 | 描述 |
---|---|---|
|
| caCertificate 提供证书颁发机构证书内容 |
|
| 证书提供证书内容。这应该是单一服务证书,而不是证书链。不要包括 CA 证书。 |
|
| destinationCACertificate 提供最终目的地的 ca 证书的内容。使用重新加密终止时,应提供此文件,以便让路由器将它用于安全连接上的健康检查。如果没有指定此字段,路由器可能会提供自己的目标 CA,并使用短服务名称(service.namespace.svc)执行主机名验证,它允许基础架构生成的证书自动验证。 |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| insecureEdgeTerminationPolicy 表示路由不安全连接所需的行为。虽然每个路由器可能会对要公开的端口做出自己的决定,但通常这是端口 80。 如果路由没有指定 insecureEdgeTerminationPolicy,则默认行为是 "None"。 * allow - 流量发送到不安全端口中的服务器(仅限边缘/重新加密终止)。 * None - 在不安全的端口(默认)上不允许流量。 * Redirect - 客户端被重定向到安全端口。 |
|
| 密钥提供密钥文件内容 |
|
| 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
-
名称
-
属性 | 类型 | 描述 |
---|---|---|
|
| 路由引用的目标种类。目前,只允许 'Service' |
|
| 要引用的服务/目标的名称,如服务的名称 |
|
| weight 作为 0 到 256 之间的整数,默认 100 指定针对其他目标引用对象的目标相对权重。0 会阻止请求进入此后端。 |
21.1.18. .status
- 描述
- RouteStatus 提供有关路由状态的相关信息,包括确认哪个路由器。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
|
Ingress 描述了可公开路由的位置。ingress 点列表可能包含重复的主机或 RouterName 值。路由在就绪后被视为 |
|
| RouteIngress 包含有关公开路由的位置的信息。 |
21.1.19. .status.ingress
- 描述
-
Ingress 描述了可公开路由的位置。ingress 点列表可能包含重复的主机或 RouterName 值。路由在就绪后被视为
Ready
- 类型
-
array
21.1.20. .status.ingress[]
- 描述
- RouteIngress 包含有关公开路由的位置的信息。
- 类型
-
对象
属性 | 类型 | 描述 |
---|---|---|
|
| 条件是路由的状态,可能为空。 |
|
| RouteIngressCondition 包含特定路由器上此路由的当前条件的详情。 |
|
| host 是公开路由的主机字符串;需要这个值 |
|
| CanonicalHostname 是路由器的外部主机名,可用作为此路由请求的主机的 CNAME。这个值是可选的,可能不会在所有情况下设置。 |
|
| 名称是路由器选择以标识自身的名称;需要这个值 |
|
| 通配符策略是允许公开此路由的通配符策略。 |
21.1.21. .status.ingress[].conditions
- 描述
- 条件是路由的状态,可能为空。
- 类型
-
array
21.1.22. .status.ingress[].conditions[]
- 描述
- RouteIngressCondition 包含特定路由器上此路由的当前条件的详情。
- 类型
-
object
- 必填
-
type
-
status
-
属性 | 类型 | 描述 |
---|---|---|
| 当条件最后转换时的 RFC 3339 日期和时间 | |
|
| 人类可读的消息,指示最后一次转换的详细信息。 |
|
| (简洁) 条件最后一次转换的原因,通常是机器和人类可读的常量。 |
|
| status 是条件的状态。可以是 True, False, Unknown。 |
|
| 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 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
21.2.2. /apis/route.openshift.io/v1/watch/routes
- HTTP 方法
-
GET
- 描述
- 观察单个对 Route 列表的更改。已弃用:改为使用 'watch' 参数和列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
21.2.3. /apis/route.openshift.io/v1/namespaces/{namespace}/routes
- HTTP 方法
-
DELETE
- 描述
- 删除路由集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 Route 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建路由
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
21.2.4. /apis/route.openshift.io/v1/watch/namespaces/{namespace}/routes
- HTTP 方法
-
GET
- 描述
- 观察单个对 Route 列表的更改。已弃用:改为使用 'watch' 参数和列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
21.2.5. /apis/route.openshift.io/v1/namespaces/{namespace}/routes/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| 路由的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除路由
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的路由
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的路由
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的路由
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
21.2.6. /apis/route.openshift.io/v1/watch/namespaces/{namespace}/routes/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| 路由的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 Route 的对象的更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
21.2.7. /apis/route.openshift.io/v1/namespaces/{namespace}/routes/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| 路由的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 Route 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定路由的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 Route 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
第 22 章 Service [v1]
- 描述
- 服务是一个由代理侦听的本地端口(如 mysql)组成的、指定软件服务的抽象概念,以及决定哪些 Pod 将通过代理发送的请求的选择器。
- 类型
-
对象
22.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| ServiceSpec 描述了用户在服务上创建的属性。 |
|
| ServiceStatus 代表服务的当前状态。 |
22.1.1. .spec
- 描述
- ServiceSpec 描述了用户在服务上创建的属性。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| allocateLoadBalancerNodePorts 定义是否为类型为 LoadBalancer 的服务自动分配 NodePort。默认值为 "true"。如果集群负载均衡器不依赖于 NodePort,则可能会将其设置为 "false"。如果调用者请求特定的 NodePort (通过指定值),无论此字段如何,将遵守这些请求。此字段只能为类型为 LoadBalancer 的服务设置,并在类型改为任何其他类型时清除。 |
|
| ClusterIP 是服务的 IP 地址,通常随机分配。如果手动指定地址,处于范围形式(如每个系统配置一样),但没有使用,则会将其分配给该服务;否则创建服务将失败。此字段不能通过更新来更改,除非类型字段也更改为 ExternalName (要求此字段为空白),或者 type 字段从 ExternalName 更改(在这种情况下,可以选择性地指定此字段,如上述描述)。有效值为 "None", 空字符串("")或一个有效的 IP 地址。把它设置为 "None" make a "headless service" (没有虚拟 IP),当不需要直接端点连接且不需要代理时,这很有用。仅适用于类型 ClusterIP、NodePort 和 LoadBalancer。如果在创建类型为 ExternalName 的 Service 时指定了此字段,则创建将失败。当将 Service 更新为类型为 ExternalName 时,此字段将擦除。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies |
|
| clusterIPs 是分配给此服务的 IP 地址列表,通常是随机分配的。如果手动指定地址,处于范围形式(如每个系统配置一样),但没有使用,则会将其分配给该服务;否则创建服务将失败。此字段不能通过更新来更改,除非类型字段也更改为 ExternalName (要求此字段为空),或者 type 字段从 ExternalName 更改(在这种情况下,可以选择性地指定此字段,如上述描述)。有效值为 "None", 空字符串("")或一个有效的 IP 地址。把它设置为 "None" make a "headless service" (没有虚拟 IP),当不需要直接端点连接且不需要代理时,这很有用。仅适用于类型 ClusterIP、NodePort 和 LoadBalancer。如果在创建类型为 ExternalName 的 Service 时指定了此字段,则创建将失败。当将 Service 更新为类型为 ExternalName 时,此字段将擦除。如果没有指定此字段,它将从 clusterIP 字段初始化。如果指定了此字段,客户端必须确保 clusterIPs[0] 和 clusterIP 的值相同。 此字段最多可保留两个条目(双堆栈 IP,以任一顺序)。这些 IP 必须与 ipFamilies 字段的值对应。clusterIPs 和 ipFamilies 都由 ipFamilyPolicy 字段管理。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies |
|
| externalIPs 是集群中节点也接受此服务的流量的 IP 地址列表。这些 IP 不由 Kubernetes 管理。用户负责确保流量到达具有此 IP 的节点。一个常见的例子是不是 Kubernetes 系统一部分的外部负载均衡器。 |
|
|
ExternalName 是外部引用,发现机制将返回为该服务的别名(例如,DNS CNAME 记录)。不涉及代理。必须是小写 RFC-1123 主机名(https://tools.ietf.org/html/rfc1123),且需要 |
|
| ExternalTrafficPolicy 描述了节点如何在其中一个服务"面向服务的"外部"地址(NodePort、ExternalIP 和 LoadBalancer IP)上接收服务流量。如果设置为"本地",代理将以一种方式配置服务,假设外部负载均衡器负责在节点间平衡服务流量,因此每个节点只会向服务的本地端点发送流量,而不伪装客户端源 IP。(流量错误地发送到没有端点的节点。)默认值 "Cluster" 使用了平均路由到所有端点的标准行为(可能是根据拓扑和其他功能修改)。请注意,从集群内部发送到外部 IP 或 LoadBalancer IP 的流量将始终获得"集群"语义,但从集群中发送到 NodePort 的客户端可能需要在选择节点时考虑流量策略。
可能枚举值: - |
|
| HealthCheckNodePort 为服务指定健康检查 nodePort。这仅在将 type 设置为 LoadBalancer 并且 externalTrafficPolicy 设置为 Local 时才适用。如果指定了值,为 in-range,但没有在使用中,它将被使用。如果没有指定,则会自动分配值。外部系统(如负载均衡器)可以使用此端口来确定给定节点是否包含此服务的端点。如果在创建不需要的 Service 时指定了此字段,则创建将失败。当更新 Service 时,将擦除此字段,使其不再需要(例如更改类型)。设置后,不能更新此字段。 |
|
| internalTrafficPolicy 描述了节点如何分发它们在 ClusterIP 上接收的服务流量。如果设置为 "Local",代理将假定 pod 只想与与 pod 相同的节点上与服务端点通信,如果没有本地端点,则丢弃流量。默认值 "Cluster" 使用了平均路由到所有端点的标准行为(可能是根据拓扑和其他功能修改)。
可能枚举值: - |
|
| ipFamilies 是分配给此服务的 IP 系列(如 IPv4、IPv6)的列表。通常会根据集群配置和 ipFamilyPolicy 字段自动分配此字段。如果手动指定此字段,则集群中提供了请求的系列,并且 ipFamilyPolicy 允许它,否则创建服务将失败。此字段有条件性 :它允许添加或删除二级 IP 系列,但它不允许更改服务的主 IP 系列。有效值为 "IPv4" 和 "IPv6"。此字段只适用于 ClusterIP、NodePort 和 LoadBalancer 类型的服务,并适用于 "headless" 服务。当将 Service 更新为类型为 ExternalName 时,此字段将擦除。 此字段最多可保留两个条目(以任一顺序排列的双栈系列)。如果指定,这些系列必须与 clusterIPs 字段的值对应。clusterIPs 和 ipFamilies 都由 ipFamilyPolicy 字段管理。 |
|
| ipFamilyPolicy 代表此 Service 请求或所需的双栈。如果没有提供值,则此字段将设置为 SingleStack。服务可以是"SingleStack" (单一 IP 系列)、"PreferDualStack" (在双栈配置的集群或单堆栈群集上的单个 IP 系列)或"RequireDualStack" (双堆栈配置群集的两个 IP 系列),否则失败。ipFamilies 和 clusterIPs 字段取决于此字段的值。当将服务更新为类型为 ExternalName 时,将擦除此字段。
可能枚举值:- |
|
| loadBalancerClass 是此服务所属的负载均衡器实现的类。如果指定,此字段的值必须是标签式标识符,带有可选前缀,如 "internal-vip" 或 "example.com/internal-vip"。Unprefixed name 为最终用户保留。只有在 Service type 为 'LoadBalancer' 时,才能设置此字段。如果没有设置,则使用默认负载均衡器实施,现在这通常通过云供应商集成来实现,但应该适用于任何默认的实施。如果设置,则会假定负载均衡器实现正在监视具有匹配类的服务。任何默认的负载均衡器实现(如云供应商)都应忽略设置此字段的服务。此字段只能在创建或更新 Service 以键入"LoadBalancer"时设置。设置后,无法更改它。当服务更新为非"LoadBalancer"类型时,将擦除此字段。 |
|
| 只适用于 Service Type: LoadBalancer。此功能取决于创建负载均衡器时是否支持指定 loadBalancerIP 底层的 cloud-provider。如果 cloud-provider 不支持该功能,则此字段将被忽略。弃用:此字段是指定的,其含义因实现而异。使用它不可移植,可能不支持双栈。我们鼓励用户在可用时使用特定于实施的注解。 |
|
| 如果平台指定和支持,这将限制通过 cloud-provider 负载平衡器的流量将限制为指定的客户端 IP。如果 cloud-provider 不支持该功能,则此字段将被忽略。更多信息: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/ |
|
| 此服务公开的端口列表。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies |
|
| servicePort 包含服务端口的信息。 |
|
| publishNotReadyAddresses 表示处理此服务端点的任何代理,应忽略任何就绪/未就绪的指示。设置此字段的主要用例是 StatefulSet 的无标头服务,用于其 Pod 的 SRV DNS 记录,用于对等发现。为服务生成 Endpoints 和 EndpointSlice 资源的 Kubernetes 控制器会解释它,这意味着即使 Pod 本身没有,所有端点都被视为"就绪"。只有通过 Endpoints 或 EndpointSlice 资源消耗 Kubernetes 生成的端点的代理可以安全地假设此行为。 |
|
| 使用与此选择器匹配的标签键和值将服务流量路由到 pod。如果为空或不存在,则假定服务具有管理其端点的外部进程,Kubernetes 将不会被修改。仅适用于类型 ClusterIP、NodePort 和 LoadBalancer。如果 type 是 ExternalName,则忽略。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/ |
|
| 支持"ClientIP"和"None"。用于维护会话关联。启用基于客户端 IP 的会话关联性。必须是 ClientIP 或 None。默认值为 None。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
可能枚举值: - |
|
| sessionAffinityConfig 代表会话关联性的配置。 |
|
| TrafficDistribution 提供了一种方式,用于表达流量如何分发到服务端点的首选项。实现可以使用此字段作为提示,但不一定要保证严格遵循。如果没有设置字段,实施将应用其默认路由策略。如果设置为 "PreferClose",则实现应优先排序地关闭端点(例如,同一区域)。这是一个 alpha 字段,需要启用 ServiceTrafficDistribution 功能。 |
|
| 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
可能枚举值: - |
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
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此端口的应用程序协议。这用作实现的提示,以便为它们理解的协议提供更丰富的行为。此字段遵循标准 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。 |
|
| 此端口在服务内的名称。这必须是 DNS_LABEL。ServiceSpec 中的所有端口都必须具有唯一的名称。在考虑服务的端点时,这必须与 EndpointPort 中的 'name' 字段匹配。如果在这个服务中只定义了一个 ServicePort。 |
|
| 当类型为 NodePort 或 LoadBalancer 时,此服务在其上公开的每个节点上的端口。通常由系统分配。如果指定了值( in-range),并且不使用它,则会使用它,否则操作将失败。如果没有指定,如果此服务需要端口,则会分配端口。如果在创建不需要的 Service 时指定了此字段,则创建将失败。当将 Service 更新为不再需要时(例如,将类型从 NodePort 更改为 ClusterIP),将擦除此字段。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport |
|
| 此服务将由此服务公开的端口。 |
|
| 此端口的 IP 协议。支持"TCP"、"UDP"和"SCTP"。默认为 TCP。
可能枚举值: - |
| 在服务目标的 pod 上访问的端口数量或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。如果这是字符串,它将在目标 Pod 的容器端口中查找为命名的端口。如果没有指定,则使用 'port' 字段的值(身份映射)。对于带有 clusterIP=None 的服务,会忽略此字段,并应省略或设置为 'port' 字段。更多信息: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service |
22.1.4. .spec.sessionAffinityConfig
- 描述
- sessionAffinityConfig 代表会话关联性的配置。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ClientIPConfig 代表基于客户端 IP 的会话关联性的配置。 |
22.1.5. .spec.sessionAffinityConfig.clientIP
- 描述
- ClientIPConfig 代表基于客户端 IP 的会话关联性的配置。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| timeoutSeconds 指定 ClientIP 类型粘性时间的秒数。如果 ServiceAffinity == "ClientIP",则该值必须是 >0 && wagon86400 (1 天)。默认值为 10800 (3 小时)。 |
22.1.6. .status
- 描述
- ServiceStatus 代表服务的当前状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| 当前服务状态 | |
|
| LoadBalancerStatus 代表负载均衡器的状态。 |
22.1.7. .status.loadBalancer
- 描述
- LoadBalancerStatus 代表负载均衡器的状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| Ingress 是一个包含负载均衡器的入口点的列表。为服务预期的流量应发送到这些入口点。 |
|
| LoadBalancerIngress 代表负载均衡器入口点的状态:服务预期的流量应发送到入口点。 |
22.1.8. .status.loadBalancer.ingress
- 描述
- Ingress 是一个包含负载均衡器的入口点的列表。为服务预期的流量应发送到这些入口点。
- 类型
-
array
22.1.9. .status.loadBalancer.ingress[]
- 描述
- LoadBalancerIngress 代表负载均衡器入口点的状态:服务预期的流量应发送到入口点。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 为基于 DNS 的负载均衡器入口点设置 hostname (通常是 AWS 负载均衡器) |
|
| 为基于 IP (通常是 GCE 或 OpenStack 负载平衡器)的负载均衡器入站点设置 IP |
|
| ipMode 指定负载均衡器 IP 的行为方式,只能在指定 ip 字段时指定。把它设置为 "VIP" 表示将目的地设置为负载均衡器的 IP 和端口到节点的流量。把它设置为 "Proxy" 表示流量传送到节点或 pod,目的地设置为节点的 IP 和节点端口或 pod 的 IP 和端口。服务实施可能会使用此信息来调整流量路由。 |
|
| ports 是服务端口的记录列表(如果使用),服务中定义的每个端口都应该在其中有一个条目 |
|
|
22.1.10. .status.loadBalancer.ingress[].ports
- 描述
- ports 是服务端口的记录列表(如果使用),服务中定义的每个端口都应该在其中有一个条目
- 类型
-
array
22.1.11. .status.loadBalancer.ingress[].ports[]
- 描述
- 类型
-
object
- 必填
-
port
-
protocol
-
属性 | 类型 | 描述 |
---|---|---|
|
| 错误是记录服务端口的问题。错误的格式应遵循以下规则: - 内置错误值应该在此文件中指定,而那些应该使用 CamelCase 名称 - 云供应商特定错误值必须具有符合 foo.example.com/CamelCase 格式的名称。 |
|
| port 是记录状态的服务端口的端口号 |
|
| protocol 是服务端口的协议,此处记录状态,支持的值有: "TCP", "UDP", "SCTP"
可能枚举值: - |
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 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
22.2.2. /api/v1/watch/services
- HTTP 方法
-
GET
- 描述
- 观察单个对服务列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
22.2.3. /api/v1/namespaces/{namespace}/services
- HTTP 方法
-
DELETE
- 描述
- 删除服务集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 Service 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建服务
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
22.2.4. /api/v1/watch/namespaces/{namespace}/services
- HTTP 方法
-
GET
- 描述
- 观察单个对服务列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
22.2.5. /api/v1/namespaces/{namespace}/services/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| Service 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除服务
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的服务
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的服务
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的服务
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
22.2.6. /api/v1/watch/namespaces/{namespace}/services/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| Service 的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 Service 的对象的更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
22.2.7. /api/v1/namespaces/{namespace}/services/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| Service 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定服务的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定服务的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定服务的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
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.