第5章 ネットワーキング
5.1. DNS 設定の詳細
5.1.1. 一般的な DNS 設定
CodeReady Containers によって管理される OpenShift クラスターは、2 DNS ドメイン名(crc.testing
および apps-crc.testing
)を使用します。crc.testing
ドメインは、OpenShift のコアサービス用です。apps-crc.testing
ドメインは、クラスターにデプロイされた OpenShift アプリケーションにアクセスするためのものです。
たとえば、OpenShift API サーバーは、console-openshift-console.apps-crc.testing
として OpenShift コンソールにアクセスしている間に api.crc.testing
として公開されます。これらの DNS ドメインは、CodeReady コンテナーの仮想マシン内で実行される dnsmasq
DNS コンテナーによって提供されます。
crc setup
コマンドは、これらのドメインを解決できるように、システムのDNS設定を検出して調整します。crc start
を起動する際に DNS が適切に設定されていることを確認するには、追加のチェックが行われます。
5.1.2. Linux
Linux では、ディストリビューションによっては、CodeReady コンテナーは以下の DNS 設定を想定します。
5.1.2.1. NetworkManager + systemd-resolved
この設定は、Fedora 33 以降、Ubuntu Desktop editions でデフォルトで使用されます。
- CodeReady コンテナーは NetworkManager がネットワークを管理することを想定します。
-
CodeReady コンテナーは、
testing
ドメインの要求を192.168.130.11
DNS サーバーに転送するようにsystemd-resolved
を設定します。192.168.130.11
は、CodeReady コンテナーの仮想マシンの IP です。 systemd-resolved
設定は、 /etc/NetworkManager/dispatcher.d/99-crc.sh:#!/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 ではデフォルトで使用されます。
- CodeReady コンテナーは NetworkManager がネットワークを管理することを想定します。
-
NetworkManager
は
、 /etc/NetworkManager/conf.d/crc-nm-dnsmasq.conf 設定ファイル。 この
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 の