第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.11
DNS サーバーに転送するように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.11
DNS サーバーに転送します。
-
NetworkManager の