Networking Operators
在 OpenShift Dedicated 中管理特定于网络的 Operator
摘要
第 1 章 OpenShift Dedicated 中的 DNS Operator 复制链接链接已复制到粘贴板!
在 OpenShift Dedicated 中,DNS Operator 部署和管理 CoreDNS 实例,为集群中的 pod 提供名称解析服务,启用基于 DNS 的 Kubernetes 服务发现,并解析内部 cluster.local 名称。
默认情况下,这个 Operator 安装在 OpenShift Dedicated 集群上。
1.1. 使用 DNS 转发 复制链接链接已复制到粘贴板!
您可以使用以下方法使用 DNS 转发来覆盖 /etc/resolv.conf 文件中的默认转发配置:
为每个区指定名称服务器 (
spec.servers)。如果转发区是 OpenShift Dedicated 管理的入口域,则上游名称服务器必须为域授权。重要您必须至少指定一个区。否则,集群可能会丢失功能。
-
提供上游 DNS 服务器列表 (
spec.upstreamResolvers)。 - 更改默认转发策略。
默认域的 DNS 转发配置可以同时在 /etc/resolv.conf 文件和上游 DNS 服务器中指定默认服务器。
流程
修改名为
default的 DNS Operator 对象:oc edit dns.operator/default
$ oc edit dns.operator/defaultCopy to Clipboard Copied! Toggle word wrap Toggle overflow 发出上一命令后,Operator 会根据
spec.servers创建并更新名为dns-default的配置映射,并使用额外的服务器配置块。重要当为
zones参数指定值时,请确保只转发到特定区域,如您的内网。您必须至少指定一个区。否则,集群可能会丢失功能。如果任何服务器都没有与查询匹配的区域,则名称解析会返回上游 DNS 服务器。
配置 DNS 转发
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 必须符合
rfc6335服务名称语法。 - 2
- 必须符合
rfc1123服务名称语法中的子域的定义。集群域cluster.local是对zones字段的无效子域。 - 3
- 定义用于选择
forwardPlugin中列出的上游解析器的策略。默认值为Random。您还可以使用RoundRobin, 和Sequential值。 - 4
- 每个
forwardPlugin最多允许 15 个upstreams。 - 5
- 您可以使用
upstreamResolvers覆盖默认转发策略,并将 DNS 解析转发到默认域的指定 DNS 解析器(上游解析器)。如果没有提供任何上游解析器,DNS 名称查询将进入/etc/resolv.conf中声明的服务器。 - 6
- 决定选择上游中列出的
upstreams服务器进行查询的顺序。您可以指定这些值之一:Random、RoundRobin或Sequential。默认值为Sequential。 - 7
- 如果被省略,平台会选择一个默认值,通常是原始客户端请求的协议。设置为
TCP,以指定平台应该对所有上游 DNS 请求使用 TCP,即使客户端请求使用了 UDP。 - 8
- 用于配置传输类型、服务器名称和可选自定义 CA 或 CA 捆绑包,以便在将 DNS 请求转发到上游解析器时使用。
- 9
- 您可以指定两个类型的
upstreams:SystemResolvConf或Network。SystemResolvConf将上游配置为使用/etc/resolv.conf和Network定义一个Networkresolver。您可以指定其中一个或两者都指定。 - 10
- 如果指定类型是
Network,则必须提供 IP 地址。address字段必须是有效的 IPv4 或 IPv6 地址。 - 11
- 如果指定类型是
Network,您可以选择性地提供端口。port字段必须是1到65535之间的值。如果您没有为上游指定端口,则默认端口为 853。
第 2 章 OpenShift Dedicated 中的 Ingress Operator 复制链接链接已复制到粘贴板!
Ingress Operator 实现 IngressController API,是负责启用对 OpenShift Dedicated 集群服务的外部访问的组件。
默认情况下,这个 Operator 安装在 OpenShift Dedicated 集群上。
2.1. OpenShift Dedicated Ingress Operator 复制链接链接已复制到粘贴板!
在创建 OpenShift Dedicated 集群时,在集群中运行的 pod 和服务各自分配自己的 IP 地址。IP 地址可供附近运行的其他容器集和服务访问,但外部客户端无法访问这些 IP 地址。
Ingress Operator 通过部署和管理一个或多个基于 HAProxy 的 Ingress Controller 来处理路由,使外部客户端可以访问您的服务。
Red Hat Site Reliability engineerss (SRE) 为 OpenShift Dedicated 集群管理 Ingress Operator。虽然您无法更改 Ingress Operator 的设置,但您可以查看默认的 Ingress Controller 配置、状态和日志以及 Ingress Operator 状态。
2.2. 查看默认的 Ingress Controller 复制链接链接已复制到粘贴板!
Ingress Operator 是 OpenShift Dedicated 的一个核心功能,开箱即用。
每个 OpenShift Dedicated 安装都有一个名为 default 的 ingresscontroller。它可以通过额外的 Ingress Controller 来补充。如果删除了默认的 ingresscontroller,Ingress Operator 会在一分钟内自动重新创建。
流程
查看默认的 Ingress Controller:
oc describe --namespace=openshift-ingress-operator ingresscontroller/default
$ oc describe --namespace=openshift-ingress-operator ingresscontroller/defaultCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3. 查看 Ingress Operator 状态 复制链接链接已复制到粘贴板!
您可以查看并检查 Ingress Operator 的状态。
流程
查看您的 Ingress Operator 状态:
oc describe clusteroperators/ingress
$ oc describe clusteroperators/ingressCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4. 查看 Ingress Controller 日志 复制链接链接已复制到粘贴板!
您可以查看 Ingress Controller 日志。
流程
查看 Ingress Controller 日志:
oc logs --namespace=openshift-ingress-operator deployments/ingress-operator -c <container_name>
$ oc logs --namespace=openshift-ingress-operator deployments/ingress-operator -c <container_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5. 查看 Ingress Controller 状态 复制链接链接已复制到粘贴板!
您可以查看特定 Ingress Controller 的状态。
流程
查看 Ingress Controller 的状态:
oc describe --namespace=openshift-ingress-operator ingresscontroller/<name>
$ oc describe --namespace=openshift-ingress-operator ingresscontroller/<name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.6. 管理 默认 Ingress Controller 功能 复制链接链接已复制到粘贴板!
下表详细介绍了由 Ingress Operator 管理 的默认 Ingress Controller 组件,以及 Red Hat Site Reliability Engineering (SRE)是否维护 OpenShift Dedicated 集群上的此组件。
| Ingress 组件 | 管理方 | 默认配置? |
|---|---|---|
| Scaling Ingress Controller | SRE | 是 |
| Ingress Operator thread count | SRE | 是 |
| Ingress Controller 访问日志 | SRE | 是 |
| Ingress Controller 分片 | SRE | 是 |
| Ingress Controller 路由准入策略 | SRE | 是 |
| Ingress Controller 通配符路由 | SRE | 是 |
| Ingress Controller X-Forwarded 标头 | SRE | 是 |
| Ingress Controller 路由压缩 | SRE | 是 |
Legal Notice
复制链接链接已复制到粘贴板!
Copyright © 2025 Red Hat
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.