第 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 控制台作为 console-openshift-console.apps-crc.testing
访问时,OpenShift Container Platform API 服务器会公开为 api.crc.testing
。这些 DNS 域由在 Red Hat OpenShift Local 实例中运行的 dnsmasq
DNS 容器提供。
crc setup
命令检测并调整您的系统 DNS 配置,以便它可以解析这些域。在运行 crc start
时,完成其他检查来验证 DNS 是否已正确配置。
5.1.2. Linux 上的 DNS
根据具体发行版的 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.11
DNS 服务器。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
systemd-resolved
在 Red Hat Enterprise Linux 和 CentOS 8.3 中也作为不受支持的技术预览提供。将主机配置为使用 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.11
DNS 服务器。
-
NetworkManager