5장. 네트워킹

5.1. DNS 구성 세부 정보

5.1.1. 일반 DNS 설정

Red Hat OpenShift Local에서 관리하는 OpenShift Container Platform 클러스터는 2개의 DNS 도메인 이름 crc.testingapps-crc.testing 을 사용합니다. crc.testing 도메인은 핵심 OpenShift Container Platform 서비스용입니다. apps-crc.testing 도메인은 클러스터에 배포된 OpenShift 애플리케이션에 액세스하기 위한 것입니다.

예를 들어 OpenShift Container Platform API 서버는 OpenShift Container Platform 콘솔에 console-openshift-console.apps-crc.testing 으로 액세스하는 동안 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 버전에서 사용됩니다.

  • Red Hat OpenShift Local은 NetworkManager가 네트워킹을 관리할 것으로 예상합니다.
  • Red Hat OpenShift Local은 테스트 도메인에 대한 요청을 192.168.130.11 DNS 서버로 전달하도록 systemd- resolv를 구성합니다. 192.168.130.11 은 Red Hat OpenShift Local 인스턴스의 IP입니다.
  • systemd-resolved 구성은 /etc/NetworkManager/dispatcher.d/99-crc.sh 의 NetworkManager 디스패처 스크립트를 사용하여 수행됩니다.

    #!/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.testingapps-crc.testing 도메인에 대한 요청을 192.168.130.11 DNS 서버로 전달합니다.