2.2. 공용 서브넷 구성


모든 OpenShift Container Platform 클러스터 노드는 공용 서브넷에 있어야 합니다. IBM Cloud® Bare Metal(Classic)은 서브넷에 DHCP 서버를 제공하지 않습니다. 프로비저너 노드에서 별도로 설정합니다.

프로비저너 노드를 준비할 때 정의된 BASH 변수를 재설정해야 합니다. 준비 후 프로비저너 노드를 재부팅하면 이전에 설정된 BASH 변수가 삭제됩니다.

프로세스

  1. dnsmasq를 설치합니다.

    $ sudo dnf install dnsmasq
  2. dnsmasq 구성 파일을 엽니다.

    $ sudo vi /etc/dnsmasq.conf
  3. dnsmasq 구성 파일에 다음 구성을 추가합니다.

    interface=baremetal
    except-interface=lo
    bind-dynamic
    log-dhcp
    
    dhcp-range=<ip_addr>,<ip_addr>,<pub_cidr> 1
    dhcp-option=baremetal,121,0.0.0.0/0,<pub_gateway>,<prvn_priv_ip>,<prvn_pub_ip> 2
    
    dhcp-hostsfile=/var/lib/dnsmasq/dnsmasq.hostsfile
    1
    DHCP 범위를 설정합니다. baremetal 네트워크의 dhcp-range가 IP 주소로 시작되고 종료되도록 <ip_addr>의 두 인스턴스를 공용 서브넷에서 사용하지 않는 IP 주소로 모두 바꿉니다. <pub_cidr>을 공용 서브넷의 CIDR로 바꿉니다.
    2
    DHCP 옵션을 설정합니다. <pub_gateway>baremetal 네트워크의 게이트웨이 IP 주소로 바꿉니다. <prvn_priv_ip>provisioning 네트워크에서 프로비저너 노드 개인 IP 주소의 IP 주소로 바꿉니다. <prvn_pub_ip>baremetal 네트워크에서 프로비저너 노드 공용 IP 주소의 IP 주소로 바꿉니다.

    <pub_cidr>의 값을 검색하려면 다음을 실행합니다.

    $ ibmcloud sl subnet detail <publicsubnetid> --output JSON | jq .cidr

    <publicsubnetid>를 공용 서브넷의 ID로 바꿉니다.

    <pub_gateway>의 값을 검색하려면 다음을 실행합니다.

    $ ibmcloud sl subnet detail <publicsubnetid> --output JSON | jq .gateway -r

    <publicsubnetid>를 공용 서브넷의 ID로 바꿉니다.

    <prvn_priv_ip>의 값을 검색하려면 다음을 실행합니다.

    $ ibmcloud  sl hardware detail <id> --output JSON | \
                jq .primaryBackendIpAddress -r

    <id>를 프로비저너 노드의 ID로 바꿉니다.

    <prvn_pub_ip>의 값을 검색하려면 다음을 실행합니다.

    $ ibmcloud sl hardware detail <id> --output JSON | jq .primaryIpAddress -r

    <id>를 프로비저너 노드의 ID로 바꿉니다.

  4. 클러스터의 하드웨어 목록을 가져옵니다.

    $ ibmcloud sl hardware list
  5. 각 노드의 MAC 주소 및 IP 주소를 가져옵니다.

    $ ibmcloud sl hardware detail <id> --output JSON | \
      jq '.networkComponents[] | \
      "\(.primaryIpAddress) \(.macAddress)"' | grep -v null

    <id>를 노드 ID로 바꿉니다.

    출력 예

    "10.196.130.144 00:e0:ed:6a:ca:b4"
    "141.125.65.215 00:e0:ed:6a:ca:b5"

    공용 네트워크의 MAC 주소 및 IP 주소를 기록합니다. 나중에 install-config.yaml 파일에서 사용할 사설 네트워크의 MAC 주소를 별도로 기록해 둡니다. 공용 baremetal 네트워크의 공용 MAC 및 IP 주소와 개인 provisioning 네트워크의 MAC 주소가 모두 있을 때까지 각 노드에 대해 이 절차를 반복합니다.

  6. 각 노드의 공용 baremetal 네트워크의 MAC 및 IP 주소 쌍을 dnsmasq.hostsfile 파일에 추가합니다.

    $ sudo vim /var/lib/dnsmasq/dnsmasq.hostsfile

    입력 예

    00:e0:ed:6a:ca:b5,141.125.65.215,master-0
    <mac>,<ip>,master-1
    <mac>,<ip>,master-2
    <mac>,<ip>,worker-0
    <mac>,<ip>,worker-1
    ...

    <mac>,<ip>를 해당 노드 이름의 공용 MAC 주소 및 공용 IP 주소로 바꿉니다.

  7. dnsmasq 를 시작합니다.

    $ sudo systemctl start dnsmasq
  8. 노드를 부팅할 때 시작되도록 dnsmasq 를 활성화합니다.

    $ sudo systemctl enable dnsmasq
  9. dnsmasq 가 실행 중인지 확인합니다.

    $ sudo systemctl status dnsmasq

    출력 예

    ● dnsmasq.service - DNS caching server.
    Loaded: loaded (/usr/lib/systemd/system/dnsmasq.service; enabled; vendor preset: disabled)
    Active: active (running) since Tue 2021-10-05 05:04:14 CDT; 49s ago
    Main PID: 3101 (dnsmasq)
    Tasks: 1 (limit: 204038)
    Memory: 732.0K
    CGroup: /system.slice/dnsmasq.service
    └─3101 /usr/sbin/dnsmasq -k

  10. UDP 프로토콜을 사용하여 포트 5367 을 엽니다.

    $ sudo firewall-cmd --add-port 53/udp --permanent
    $ sudo firewall-cmd --add-port 67/udp --permanent
  11. masquerade를 사용하여 외부 영역에 provisioning 을 추가합니다.

    $ sudo firewall-cmd --change-zone=provisioning --zone=external --permanent

    이 단계에서는 관리 서브넷에 대한 IPMI 호출의 네트워크 주소 변환을 보장합니다.

  12. firewalld 구성을 다시 로드합니다.

    $ sudo firewall-cmd --reload
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.