第5章 ネットワーク
5.1. DNS 設定の詳細
5.1.1. 一般的な DNS 設定
Red Hat OpenShift Local によって管理される OpenShift Container Platform クラスターは、DNS ドメイン名を 2 つ (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 上の DNS
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 の