Menu Close

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

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

참고

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

네트워크 기반 배포

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

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

8.1. 에지 이미지 커밋을 위해 RHEL 추출

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

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

compose.json 파일에는 "Ref"(참조 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…​."
    
    ostreesetup --nogpg --osname=rhel --remote=edge --url=https://mirror.example.com/repo/ --ref=rhel/9/x86_64/edge

    ostreesetup 명령은 OStree 기반 설치를 설정하는 데 사용됩니다. 다음 플래그를 사용하여 OSTree 커밋을 가져옵니다.

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

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

      참고

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