第 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 中的 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
,将测试
域的请求转发到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
默认情况下,Red Hat Enterprise Linux 和 CentOS 上的 Fedora 32 或更早版本使用此配置。
- 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