12장. 네트워크 기반 환경에서 RHEL for Edge 이미지 배포

RHEL 설치 프로그램 그래픽 사용자 인터페이스 또는 Kickstart 파일을 사용하여 에지용 RHEL을 배포할 수 있습니다. Edge 이미지에 RHEL을 배포하는 전체 프로세스는 배포 환경이 네트워크 기반인지 또는 비 네트워크 기반인지에 따라 다릅니다.

참고

베어 메탈에 이미지를 배포하려면 Kickstart 파일을 사용합니다.

네트워크 기반 배포

네트워크 기반 환경에서 에지 이미지에 RHEL을 배포하려면 다음과 같은 상위 수준 단계를 수행해야 합니다.

  1. 이미지 파일 콘텐츠를 추출합니다.
  2. 웹 서버 설정
  3. 이미지 설치

12.1. RHEL for Edge 이미지 커밋 추출

커밋을 다운로드한 후 .tar 파일을 추출하고 ref 이름과 커밋 ID를 기록해 둡니다.

다운로드한 커밋 파일은 OSTree 리포지토리가 있는 .tar 파일로 구성됩니다. OSTree 리포지토리에 커밋과 compose.json 파일이 있습니다.

compose.json 파일에는 "Ref", 참조 ID 및 커밋 ID와 같은 정보가 포함된 커밋에 대한 정보 메타데이터가 있습니다. 커밋 ID에는 RPM 패키지가 있습니다.

패키지 콘텐츠를 추출하려면 다음 단계를 수행합니다.

사전 요구 사항

  • Kickstart 파일을 만들거나 기존 파일을 사용합니다.

절차

  1. 다운로드한 이미지 .tar 파일을 추출합니다.

    # tar xvf <UUID>-commit.tar
  2. .tar 파일을 추출한 디렉터리로 이동합니다.

    compose.json 파일과 OSTree 디렉터리가 있습니다. compose.json 파일에는 커밋 번호가 있으며 OSTree 디렉터리에는 RPM 패키지가 있습니다.

  3. compose.json 파일을 열고 커밋 ID 번호를 기록해 둡니다. 웹 서버를 설정하려면 이 숫자가 필요합니다.

    jq JSON 프로세서가 설치된 경우 jq 툴을 사용하여 커밋 ID를 검색할 수도 있습니다.

    # jq '.["ostree-commit"]' < compose.json
  4. 커밋에 RPM 패키지를 나열합니다.

    # rpm-ostree db list rhel/9/x86_64/edge --repo=repo
  5. Kickstart 파일을 사용하여 RHEL 설치 프로그램을 실행합니다. 필요한 경우 기존 파일을 사용하거나 Kickstart 생성기 도구를 사용하여 하나를 만들 수 있습니다.

    Kickstart 파일에서 파일 시스템을 프로비저닝하는 방법, 사용자 생성 및 에지용 RHEL을 가져오고 배포하는 방법에 대한 세부 정보가 포함되어 있는지 확인합니다. RHEL 설치 프로그램은 설치 프로세스 중에 이 정보를 사용합니다.

    다음은 Kickstart 파일 예제입니다.

    lang en_US.UTF-8
    keyboard us
    timezone Etc/UTC --isUtc
    text
    zerombr
    clearpart --all --initlabel
    autopart
    reboot
    user --name=core --group=wheel
    sshkey --username=core "ssh-rsa AAAA3Nza…​."
    rootpw --lock
    network --bootproto=dhcp
    
    ostreesetup --nogpg --osname=rhel --remote=edge --url=https://mirror.example.com/repo/ --ref=rhel/9/x86_64/edge

    OStree 기반 설치에서는 ostreesetup 명령을 사용하여 구성을 설정합니다. 다음 플래그를 사용하여 OSTree 커밋을 가져옵니다.

    • --nogpg - GPG(GNU Privacy Guard) 키 확인을 비활성화합니다.
    • --osname - 운영 체제 설치를 위한 관리 루트입니다.
    • --remote - 운영 체제 설치를 위한 관리 루트
    • --URL - 설치할 리포지토리의 URL입니다.
    • --ref - 설치에서 사용하는 저장소의 분기 이름입니다.
    • --URL=http://mirror.example.com/repo/ - 에지 커밋을 추출하여 nginx 를 통해 제공하는 호스트 시스템의 주소입니다. 주소를 사용하여 게스트 컴퓨터에서 호스트 시스템에 연결할 수 있습니다.

      예를 들어 /var/www/html 디렉터리에서 커밋 이미지를 추출하고 호스트 이름이 www.example.com 인 컴퓨터에서 nginx 를 통해 커밋을 제공하는 경우 --url 매개변수의 값은 http://www.example.com/repo 입니다.

      참고

      HTTP 프로토콜을 사용하여 Apache HTTP 서버에서 https가 활성화되어 있지 않기 때문에 커밋을 제공할 서비스를 시작합니다.