第 15 章 网络 API
15.1. 网络 API 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
15.1.1. ClusterNetwork [network.openshift.io/v1] 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
- 描述
- clusterNetwork 描述了集群网络。此类型通常只有一个对象,名为 "default",后者是在集群首次启动时基于 master 配置创建的 SDN 网络插件创建。
- 类型
-
对象
15.1.2. Endpoints [v1] 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
- 描述
- 端点是实施实际服务的端点集合。示例: Name: "mysvc", Subsets: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}], Ports: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}] }, { address: [{"ip": "10.10.3.3"}], ports: [{"name": "a", "port": 93}, {"name": "b", "port": 76}] }, ]
- 类型
-
对象
15.1.3. EndpointSlice [discovery.k8s.io/v1] 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
- 描述
- EndpointSlice 代表实现服务的端点的子集。对于给定服务,可能有多个 EndpointSlice 对象,按标签选择,必须加入它来生成完整的端点。
- 类型
-
对象
15.1.4. EgressNetworkPolicy [network.openshift.io/v1] 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
- 描述
- EgressNetworkPolicy 描述了命名空间的当前出口网络策略。当使用 'redhat/openshift-ovs-multitenant' 网络插件时,从 pod 到集群外的 IP 地址的流量会根据 pod 命名空间的 EgressNetworkPolicyRule 检查。如果没有规则匹配(或不存在 EgressNetworkPolicy),则默认允许流量。
- 类型
-
对象
15.1.5. EgressRouter [network.operator.openshift.io/v1] 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
- 描述
- EgressRouter 是一个功能,允许用户定义一个出口路由器,它充当 pod 和外部系统间的桥接。出口路由器运行一个服务,它会根据配置将来自 pod 或一组 pod 的出口流量重定向到远程外部系统或多个目的地。它由 cluster-network-operator 使用。更具体地说,对于一个带有 <name> 的 EgressRouter CR,CNO 将创建和管理: - 名为 <name> - 名为 <name> 的出口 pod - 名为 <name> 兼容性级别 1: Stable 至少 12 个月或 3 个次版本(以更长的时间为准)。EgressRouter 是一个出口路由器 pod 配置对象。
- 类型
-
对象
15.1.6. HostSubnet [network.openshift.io/v1] 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
- 描述
- HostSubnet 描述了节点上的容器子网网络。HostSubnet 对象的名称必须与它对应的 Node 对象相同。
- 类型
-
对象
15.1.7. Ingress [networking.k8s.io/v1] 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
- 描述
- Ingress 是允许入站连接访问后端定义的端点的规则集合。可将 Ingress 配置为为外部可访问的 url、负载均衡流量、终止 SSL、提供基于名称的虚拟主机等提供服务。
- 类型
-
对象
15.1.8. IngressClass [networking.k8s.io/v1] 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
- 描述
-
IngressClass 代表 Ingress 的类,由 Ingress Spec 引用。
ingressclass.kubernetes.io/is-default-class
注解可用于表示 IngressClass 应该被视为 default。当单个 IngressClass 资源将此注解设置为 true 时,没有指定类的新 Ingress 资源将被分配此默认存储类。 - 类型
-
对象
15.1.9. IPPool [whereabouts.cni.cncf.io/v1alpha1] 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
- 描述
- IPPool 是 Whereabouts 用于 IP 地址分配的 Schema
- 类型
-
对象
15.1.10. NetNamespace [network.openshift.io/v1] 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
- 描述
- NetNamespace 描述了单个隔离网络。当使用 redhat/openshift-ovs-multitenant 插件时,每个命名空间都有一个对应的 NetNamespace 对象,其名称相同。(当使用 redhat/openshift-ovs-subnet 时,不使用 NetNamespaces。)
- 类型
-
对象
- 描述
- NetworkAttachmentDefinition 是由 Network Plumbing Working Group 指定的 CRD 模式,用于表达将 pod 附加到一个或多个逻辑网络或物理网络的意图。更多信息 :https://github.com/k8snetworkplumbingwg/multi-net-spec
- 类型
-
对象
15.1.12. NetworkPolicy [networking.k8s.io/v1] 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
- 描述
- NetworkPolicy 描述了一组 Pod 允许哪些网络流量
- 类型
-
对象
- 描述
- PodNetworkConnectivityCheck 兼容性级别 4:不提供兼容性,API 可能会因任何原因而改变。这些功能不应由需要长期支持的应用程序使用。
- 类型
-
对象
15.1.14. Route [route.openshift.io/v1] 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
- 描述
通过路由,开发人员可以通过 HTTP (S)了解负载平衡和代理层通过公共 DNS 条目公开服务。路由可以进一步指定 TLS 选项和证书,或者指定路由器也应该接受 HTTP 和 HTTPS 流量的公共 CNAME。管理员通常将其路由器配置为在集群防火墙外可见,还可在服务内容上添加额外的安全性、缓存或流量控制。路由器通常直接与服务端点通信。
创建路由后,可能不会更改
host
字段。通常,路由器在解析冲突时使用带有给定主机的最旧的路由。路由器受到额外的自定义,可以通过 annotations 字段支持其他控制。
由于管理员可以配置多个路由器,因此路由状态字段用于向客户端返回每个路由器下路由的名称和状态的信息。如果客户端选择重复的名称,例如,则使用路由状态条件来指示无法选择路由。
要在路由上启用 HTTP/2 ALPN,它需要自定义(非通配符)证书。这可防止客户端的连接并发,特别是 Web 浏览器。由于连接重新使用的风险,我们不支持使用默认证书的 HTTP/2 ALPN。没有其自身自定义证书的路由在前端或后端上都不会是启用了 HTTP/2 ALPN 的路由。
- 类型
-
对象
15.1.15. Service [v1] 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
- 描述
- 服务是软件服务的命名抽象(例如,mysql),由代理侦听的本地端口(例如,VirtualMachine)和选择器(selector)组成,用于决定哪些 pod 将回答通过代理发送的请求。
- 类型
-
对象