第 5 章 网络
5.1. DNS 配置详情
5.1.1. 常规 DNS 设置
由 Red Hat OpenShift Local 管理的 OpenShift Container Platform 集群使用 2 个 DNS 域名、crc.testing 和 apps-crc.testing。crc.testing 域用于 OpenShift Container Platform 核心服务。apps-crc.testing 域用于访问集群中部署的 OpenShift 应用。
例如,OpenShift Container Platform API 服务器会公开为 api.crc.testing,而 OpenShift Container Platform 控制台则作为 console-openshift-console.apps-crc.testing 访问。这些 DNS 域由 Red Hat OpenShift Local 实例内运行的 dnsmasq DNS 容器提供。
crc setup 命令检测到并调整您的系统 DNS 配置,以便它可以解析这些域。运行 crc start 时,进行额外的检查来验证 DNS 是否已正确配置。
5.1.2. Linux
在 Linux 上,根据您的发行版,Red Hat OpenShift Local 需要以下 DNS 配置:
5.1.2.1. NetworkManager + systemd-resolved
默认情况下,在 Fedora 33 或更新版本和 Ubuntu 桌面版本中使用此配置。
- Red Hat OpenShift Local 期望 NetworkManager 管理网络。
-
Red Hat OpenShift Local 配置
systemd-resolved,将testing域的请求转发到192.168.130.11DNS 服务器。192.168.130.11是 Red Hat OpenShift Local 实例的 IP。 systemd-resolved配置通过 /etc/NetworkManager/dispatcher.d/99-crc.sh 中的 NetworkManager 分配程序脚本完成:#!/bin/sh export LC_ALL=C systemd-resolve --interface crc --set-dns 192.168.130.11 --set-domain ~testing exit 0
在 Red Hat Enterprise Linux 和 CentOS 8.3 中,systemd-resolved 也作为技术预览提供。将主机配置为使用 systemd-resolved 后,停止任何正在运行的集群并重新运行 crc setup。
5.1.2.2. NetworkManager + dnsmasq
默认情况下,在 Fedora 32 或更早版本、Red Hat Enterprise Linux 和 CentOS 上使用此配置。
- Red Hat OpenShift Local 期望 NetworkManager 管理网络。
-
NetworkManager 使用带有 /etc/NetworkManager/conf.d/crc-nm-
dnsmasq.conf 配置文件的 dnsmasq。 此
dnsmasq实例的配置文件为 /etc/NetworkManager/dnsmasq.d/crc.conf :server=/crc.testing/192.168.130.11 server=/apps-crc.testing/192.168.130.11
-
NetworkManager
dnsmasq实例将crc.testing和apps-crc.testing域的请求转发到192.168.130.11DNS 服务器。
-
NetworkManager