1.3.11.2. PXE 또는 iPXE 부팅을 통해 RHCOS(Red Hat Enterprise Linux CoreOS) 시스템 생성

베어메탈과 같이 수동으로 프로비저닝하는 RHCOS 노드를 사용하는 클러스터를 설치하기 전에 사용할 RHCOS 시스템을 생성해야 합니다. PXE 또는 iPXE 부팅을 사용하여 시스템을 생성할 수 있습니다.

사전 요구 사항

  • 클러스터에 대한 Ignition 구성 파일을 받으십시오.
  • 적합한 PXE 또는 iPXE 인프라를 구성하십시오.
  • 컴퓨터에서 액세스할 수 있는 HTTP 서버에 액세스하십시오.

프로세스

  1. 설치 프로그램에서 생성한 마스터, 작업자 및 부트스트랩 Ignition 구성 파일을 HTTP 서버에 업로드합니다. 해당 파일의 URL을 기록해 둡니다.

    중요

    HTTP 서버에 저장하기 전에 Ignition 구성에서 구성 설정을 추가하거나 변경할 수 있습니다. 설치를 마친 후 클러스터에 컴퓨팅 시스템을 더 추가하려면 Ignition 구성 파일을 삭제하지 마십시오.

  2. RHCOS 이미지 미러 페이지에서 RHCOS 커널,initramfsrootfs 파일을 가져옵니다.

    중요

    OpenShift Container Platform의 모든 릴리스에서 RHCOS 아티팩트가 변경되지 않을 수도 있습니다. 설치하는 OpenShift Container Platform 버전과 같거나 그 이하의 버전 중 가장 최신 버전의 아티팩트를 다운로드해야 합니다. 이 프로시저에는 아래 설명된 적절한 kernel, initramfsrootfs 아티팩트만 사용하십시오. 이 설치 유형에서는 RHCOS qcow2 이미지가 지원되지 않습니다.

    OpenShift Container Platform 버전 번호가 파일 이름에 포함됩니다. 다음 예와 유사합니다.

    • kernel: rhcos-<version>-live-kernel-<architecture>
    • initramfs: rhcos-<version>-live-initramfs.<architecture>.img
    • rootfs: rhcos-<version>-live-rootfs.<architecture>.img
  3. 부팅 방법에 필요한 추가 파일을 업로드합니다.

    • 기존 PXE의 경우 kernelinitramfs 파일을 TFTP 서버에 업로드하고 rootfs 파일을 HTTP 서버에 업로드합니다.
    • iPXE의 경우 커널,initramfsrootfs 파일을 HTTP 서버에 업로드합니다.

      중요

      설치를 마친 후 클러스터에 컴퓨팅 시스템을 더 추가하려면 Ignition 구성 파일을 삭제하지 마십시오.

  4. RHCOS가 설치된 후 시스템이 로컬 디스크에서 부팅되도록 네트워크 부팅 인프라를 구성하십시오.
  5. RHCOS 이미지에 대한 PXE 또는 iPXE 설치를 구성합니다.

    사용 환경에 대한 다음 예시 메뉴 항목 중 하나를 수정하고, 이미지 및 Ignition 파일에 적절히 접근할 수 있는지 확인하십시오.

    • PXE의 경우:

      DEFAULT pxeboot
      TIMEOUT 20
      PROMPT 0
      LABEL pxeboot
          KERNEL http://<HTTP_server>/rhcos-<version>-live-kernel-<architecture> 1
          APPEND initrd=http://<HTTP_server>/rhcos-<version>-live-initramfs.<architecture>.img coreos.live.rootfs_url=http://<HTTP_server>/rhcos-<version>-live-rootfs.<architecture>.img coreos.inst.install_dev=/dev/sda coreos.inst.ignition_url=http://<HTTP_server>/bootstrap.ign 2 3
      1
      HTTP 서버에 업로드한 라이브 kernel 파일의 위치를 지정합니다. URL은 HTTP, TFTP 또는 FTP여야 합니다. HTTPS와 NFS는 지원되지 않습니다.
      2
      NIC를 여러 개 사용하는 경우 ip 옵션에 단일 인터페이스를 지정합니다. 예를 들어, eno1라는 NIC에서 DHCP를 사용하려면 ip=eno1:dhcp를 설정하십시오.
      3
      HTTP 서버에 업로드한 RHCOS 파일의 위치를 지정합니다. initrd 매개변수 값은 initramfs 파일의 위치, coreos.live.rootfs_url 매개변수 값은 rootfs 파일의 위치, coreos.inst.ignition_url 매개변수 값은 부트스트랩 Ignition 구성 파일의 위치입니다. APPEND 줄에 커널 인수를 더 추가하여 네트워킹 또는 기타 부팅 옵션도 구성할 수 있습니다.
      참고

      이 구성은 그래픽 콘솔이 있는 시스템에서 직렬 콘솔 액세스를 활성화하지 않습니다. 다른 콘솔을 구성하려면 APPEND 행에 하나 이상의 console= 인수를 추가합니다. 예를 들어 console=tty0 console=ttyS0을 추가하여 첫 번째 PC 직렬 포트를 기본 콘솔로 설정하고 그래픽 콘솔을 보조 콘솔로 설정합니다. 자세한 내용은 Red Hat Enterprise Linux에서 직렬 터미널 및/또는 콘솔 설정 방법을 참조하십시오.

    • iPXE의 경우 :

      kernel http://<HTTP_server>/rhcos-<version>-live-kernel-<architecture> initrd=main coreos.live.rootfs_url=http://<HTTP_server>/rhcos-<version>-live-rootfs.<architecture>.img coreos.inst.install_dev=/dev/sda coreos.inst.ignition_url=http://<HTTP_server>/bootstrap.ign 1 2
      initrd --name main http://<HTTP_server>/rhcos-<version>-live-initramfs.<architecture>.img 3
      boot
      1
      HTTP 서버에 업로드한 RHCOS 파일의 위치를 지정합니다. kernel 매개변수 값은 kernel 파일의 위치이고 initrd=main 인수는 UEFI 시스템에서 부팅하는 데 필요하며 coreos.live.rootfs_url 매개 변수 값은 rootfs 파일의 위치이며, coreos.inst.ignition_url 매개 변수 값은 부트스트랩 Ignition 설정 파일의 위치입니다.
      2
      NIC를 여러 개 사용하는 경우 ip 옵션에 단일 인터페이스를 지정합니다. 예를 들어, eno1라는 NIC에서 DHCP를 사용하려면 ip=eno1:dhcp를 설정하십시오.
      3
      HTTP 서버에 업로드한 initramfs 파일의 위치를 지정합니다.
      참고

      이 구성은 그래픽 콘솔이 있는 시스템에서 직렬 콘솔 액세스를 활성화하지 않습니다. 다른 콘솔을 구성하려면 kernel 행에 하나 이상의 console= 인수를 추가합니다. 예를 들어 console=tty0 console=ttyS0을 추가하여 첫 번째 PC 직렬 포트를 기본 콘솔로 설정하고 그래픽 콘솔을 보조 콘솔로 설정합니다. 자세한 내용은 Red Hat Enterprise Linux에서 직렬 터미널 및/또는 콘솔 설정 방법을 참조하십시오.

  6. PXE UEFI를 사용하는 경우 다음 작업을 수행합니다.

    1. shimx64.efigrubx64.efi EFI 바이너리와 시스템 부팅에 필요한 grub.cfg 파일을 제공합니다.

      • RHCOS ISO를 호스트에 마운트한 다음 images/efiboot.img 파일을 호스트에 마운트하여 필요한 EFI 바이너리를 추출합니다.

        $ mkdir -p /mnt/iso
        $ mkdir -p /mnt/efiboot
        $ mount -o loop rhcos-installer.x86_64.iso /mnt/iso
        $ mount -o loop,ro /mnt/iso/images/efiboot.img /mnt/efiboot
      • efiboot.img 마운트 지점에서 EFI/redhat/shimx64.efiEFI/redhat/grubx64.efi 파일을 TFTP 서버에 복사합니다.

        $ cp /mnt/efiboot/EFI/redhat/shimx64.efi .
        $ cp /mnt/efiboot/EFI/redhat/grubx64.efi .
        $ umount /mnt/efiboot
        $ umount /mnt/iso
      • RHCOS ISO에 포함된 EFI/redhat/grub.cfg 파일을 TFTP 서버에 복사합니다.
    2. grub.cfg 파일을 편집하여 다음과 같은 인수를 포함합니다.

      menuentry 'Install Red Hat Enterprise Linux CoreOS' --class fedora --class gnu-linux --class gnu --class os {
      	linuxefi rhcos-<version>-live-kernel-<architecture> coreos.inst.install_dev=/dev/sda coreos.live.rootfs_url=http://<HTTP_server>/rhcos-<version>-live-rootfs.<architecture>.img coreos.inst.ignition_url=http://<HTTP_server>/bootstrap.ign
      	initrdefi rhcos-<version>-live-initramfs.<architecture>.img
      }

      다음과 같습니다.

      rhcos-<version>-live-kernel-<architecture>
      TFTP 서버에 업로드한 커널 파일을 지정합니다.
      http://<HTTP_server>/rhcos-<version>-live-rootfs.<architecture>.img
      HTTP 서버에 업로드한 라이브 rootfs 이미지의 위치를 지정합니다.
      http://<HTTP_server>/bootstrap.ign
      HTTP 서버에 업로드한 부트스트랩 Ignition 구성 파일의 위치를 지정합니다.
      rhcos-<version>-live-initramfs.<architecture>.img
      TFTP 서버에 업로드한 initramfs 파일의 위치를 지정합니다.
      참고

      UEFI 부팅을 위해 PXE 서버를 구성하는 방법에 대한 자세한 내용은 Red Hat Knowledgebase 문서를 참조하십시오. Red Hat Enterprise Linux에 대한 UEFI 부팅을 위한 PXE 서버를 설정/설정하는 방법?.

  7. 클러스터용 시스템 생성을 계속합니다.

    중요

    이때 부트스트랩 및 컨트롤 플레인 시스템을 생성해야 합니다. 컨트롤 플레인 시스템이 예약 가능하지 않은 경우 (기본값) 클러스터를 설치하기 전에 두 개 이상의 컴퓨팅 시스템도 생성합니다.