第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 デスクトップエディションで使用されます。
- CodeReady コンテナーは NetworkManager がネットワークを管理することを想定します。
-
CodeReady コンテナーは、
testingドメインの要求を192.168.130.11DNS サーバーに転送するようにsystemd-resolvedを設定します。192.168.130.11は、CodeReady コンテナーの仮想マシンの IP です。 systemd-resolved設定は、/etc/NetworkManager/dispatcher.d/99-crc.shの NetworkManager の dispatcher スクリプトで行います。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
systemd-resolved は、Red Hat Enterprise Linux および CentOS 8.3 でサポート対象外のテクノロジープレビューとしても利用できます。systemd-resolved を使用するように ホストを設定した 後、CodeReady Containers の dnsmasq 設定を削除し、実行可能権限を使用して上記のスクリプトを作成する必要があります。
dnsmasq および NetworkManager 設定の起動チェックをスキップするように CodeReady Containers バイナリーを設定します。
crc config set skip-check-crc-dnsmasq-file true crc config set skip-check-network-manager-config true
$ crc config set skip-check-crc-dnsmasq-file true
$ crc config set skip-check-network-manager-config true
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を使用します。 この
dnsmasqインスタンスの設定ファイルは/etc/NetworkManager/dnsmasq.d/crc.confです。server=/crc.testing/192.168.130.11 server=/apps-crc.testing/192.168.130.11
server=/crc.testing/192.168.130.11 server=/apps-crc.testing/192.168.130.11Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
NetworkManager の
dnsmasqインスタンスは、crc.testingおよびapps-crc.testingドメインのリクエストを192.168.130.11DNS サーバーに転送します。
-
NetworkManager の
5.1.3. macOS リンクのコピーリンクがクリップボードにコピーされました!
macOS では、CodeReady Containers は次の DNS 設定を想定します。
-
CodeReady Containers は、
testingドメインに対するすべての DNS リクエストを CodeReady Containers 仮想マシンに転送するように macOS に指示する/etc/resolver/testingファイルを作成します。 -
CodeReady Containers は、VM IP アドレスを指す
api.crc.testingエントリーを/etc/hostsに追加します。oc実行可能ファイルにはこのエントリーが必要です。詳細は、OpenShift issue #23266 を参照してください。