第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 サーバーは、console-openshift-console.apps-crc.testing として OpenShift Container Platform コンソールにアクセスしている間に api.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 Desktop editions でデフォルトで使用されます。
- Red Hat OpenShift Local コンテナーは NetworkManager がネットワークを管理することを想定します。
-
Red Hat OpenShift Local コンテナーは、
testingドメインの要求を192.168.130.11DNS サーバーに転送するようにsystemd-resolvedを設定します。192.168.130.11は、Red Hat OpenShift Local インスタンスの IP です。 systemd-resolved設定は、/etc/NetworkManager/dispatcher.d/99-crc.sh の NetworkManager の dispatcher スクリプトで行います。#!/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.11DNS サーバーに転送します。
-
NetworkManager の