Menu Close

5장. Image Builder 명령줄을 사용하여 에지 이미지용 RHEL 구성

이미지 빌더를 사용하여 에지 이미지용 사용자 지정 RHEL(OSTree 커밋)을 만들 수 있습니다.

이미지 빌더에 액세스하고 사용자 지정 RHEL for Edge 이미지를 생성하려면 RHEL 웹 콘솔 인터페이스 또는 명령줄 인터페이스를 사용할 수 있습니다. 이 장에서는 CLI를 사용하여 에지 이미지에 대한 RHEL을 만드는 방법을 설명합니다.

네트워크 기반 배포의 경우 CLI를 사용하여 에지 이미지에 대한 RHEL을 구성하는 워크플로우에는 다음과 같은 상위 수준 단계가 포함됩니다.

  1. 에지 이미지 RHEL에 대한 devfile 생성
  2. Edge Commit 이미지에 대한 RHEL 생성
  3. Edge Commit 이미지용 RHEL 다운로드

비네트워크 기반 배포의 경우 CLI를 사용하여 에지 이미지에 대한 RHEL을 구성하는 워크플로우에는 다음과 같은 상위 수준 단계가 포함됩니다.

  1. 에지 이미지 RHEL에 대한 devfile 생성
  2. 에지 컨테이너 이미지용 RHEL 생성
  3. 에지 설치 프로그램 이미지용 RHEL에 대한 청사진 생성
  4. 엣지 설치 프로그램 이미지용 RHEL 생성
  5. RHEL for Edge 이미지 다운로드

단계를 수행하려면 composer-cli 패키지를 사용합니다.

참고

root가 아닌 경우 composer-cli 명령을 실행하려면 weldr 그룹의 일부이거나 시스템에 대한 관리자 액세스 권한이 있어야 합니다.

5.1. 네트워크 기반 배포 워크플로

5.1.1. 이미지 빌더 명령줄 인터페이스를 사용하여 Edge Commit 이미지 청사진용 RHEL 생성

CLI를 사용하여 에지 커밋 이미지에 대한 RHEL을 생성합니다.

사전 요구 사항

  • 기존 이메일은 없습니다. 이를 확인하기 위해 기존 tekton를 나열하십시오.

    $ sudo composer-cli blueprints list

절차

  1. 다음 콘텐츠를 사용하여 TOML 형식으로 일반 텍스트 파일을 생성합니다.

    name = "blueprint-name"
    description = "blueprint-text-description"
    version = "0.0.1"
    modules = [ ]
    groups = [ ]

    여기서,

    • openjdk-name 은 name이며, director-text-description은 귀하의 인식에 대한 설명입니다.
    • 0.0.1 은 Semantic Versioning scheme에 따른 버전 번호입니다.
    • 모듈은 이미지에 설치할 패키지 이름 및 일치하는 버전 글러스트를 설명합니다. 예를 들어 패키지 이름 = "tmux"이고 일치하는 버전은 version = "2.9a"입니다.

      현재는 패키지와 모듈간에 차이가 없습니다.

    • 그룹은 이미지에 설치할 패키지 그룹입니다(예: 그룹 패키지 anaconda-tools).

      이 시점에서 모듈과 그룹을 모르는 경우 비워 둡니다.

  2. 필요한 패키지를 포함시키고 귀하의 요구 사항에 맞게 director에 다른 세부 사항을 사용자 정의하십시오.

    Makefile에 포함하려는 모든 패키지에 대해 파일에 다음 행을 추가합니다.

    [[packages]]
    name = "package-name"
    version = "package-version"

    여기서,

    • package-name은 httpd, gdb-doc 또는 coreutils와 같은 패키지의 이름입니다.
    • package-version은 사용하려는 패키지의 버전 번호입니다.

      package-version은 다음 dnf 버전 사양을 지원합니다.

    • 특정 버전의 경우 9.0과 같은 정확한 버전 번호를 사용하십시오.
    • 사용 가능한 최신 버전의 경우 별표 *를 사용하십시오.
    • 최신 마이너 버전의 경우 9.*와 같은 형식을 사용하십시오.
  3. 이미지 빌더 서버에 대한 devfile을 푸시(가져오기)합니다.

    # composer-cli blueprints push blueprint-name.toml
  4. 기존 Makefile을 나열하여 생성된 inventory가 성공적으로 푸시되고 있는지 확인합니다.

    # composer-cli blueprints show BLUEPRINT-NAME
  5. Makefile 및 해당 종속 항목에 나열된 구성 요소 및 버전이 유효한지 확인합니다.

    # composer-cli blueprints depsolve blueprint-name

5.1.2. 이미지 빌더 명령줄 인터페이스를 사용하여 엣지 커밋 이미지용 RHEL 생성

이미지 빌더 명령줄 인터페이스를 사용하여 에지 Commit 이미지에 대한 RHEL을 생성하려면 다음 사전 요구 사항을 충족하고 절차를 따르십시오.

사전 요구 사항

  • RHEL for Edge 커밋 이미지의 블루프린트를 생성했습니다.

절차

  1. Edge Commit 이미지에 대한 RHEL을 만듭니다.

    # composer-cli compose start blueprint-name image-type

    여기서,

    • Quarkus-name 은 에지 opportunity 이름을 위한 RHEL입니다.
    • image-type네트워크 기반 배포의 edge- commit 입니다.

      쓰기 프로세스가 큐에 추가되었음을 확인합니다. 또한 생성된 이미지에 대한 UUID(Universally Unique Identifier) 번호를 표시합니다. UUID 번호를 사용하여 빌드를 추적합니다. 또한 추가 작업을 위해 UUID 번호를 편리하게 유지합니다.

  2. 이미지 compose 상태를 확인합니다.

    # composer-cli compose status

    출력에는 다음 형식으로 상태가 표시됩니다.

    <UUID> RUNNING date blueprint-name blueprint-version image-type
    참고

    이미지 생성 프로세스를 완료하는 데 최대 20분이 걸립니다.

    이미지 생성 프로세스를 중단하려면 다음을 실행합니다.

    # composer-cli compose cancel <UUID>

    기존 이미지를 삭제하려면 다음을 실행합니다.

    # composer-cli compose delete <UUID>

    이미지가 준비되면 이미지를 다운로드하여 네트워크 배포에서 사용할 수 있습니다.

5.1.3. 이미지 빌더 명령줄 인터페이스를 사용하여 상위 커밋으로 에지 이미지 업데이트 생성

예를 들어 새 패키지를 추가한 후 이 새 패키지로 기존 RHEL for Edge 이미지를 업데이트하려면 상위 커밋 ID를 사용하여 에지 Commit(.tar) 이미지에 업데이트된 RHEL을 생성할 수 있습니다.

Image Builder 명령줄 인터페이스를 사용하여 상위 커밋으로 에지 이미지의 RHEL을 생성하려면 다음 사전 요구 사항을 충족한 다음 절차를 따르십시오.

사전 요구 사항

  • 에지 이미지용 RHEL의 기존 credential을 업데이트했습니다.
  • 기존 RHEL for Edge 이미지(OSTree 커밋)가 있습니다. 에지 이미지 커밋용 RHEL 추출 을 참조하십시오.

절차

  1. 에지 이미지에 대한 RHEL을 만듭니다.

    # composer-cli compose start-ostree --ref rhel/9/x86_64/edge --parent parent-OSTree-commit-id blueprint-name image-type

    여기서,

    • --ref 는 ostree 리포지토리를 빌드하는 데 사용하는 것과 동일한 값입니다.
    • --parent 는 OSTree 상위 커밋입니다.
    • Quarkus-name 은 에지 opportunity 이름을 위한 RHEL입니다.
    • image-type네트워크 기반 배포를 위한 edge- commit입니다.

      참고

      --parent 인수는 RHEL for Edge Commit (.tar) 이미지 유형에서만 사용할 수 있습니다. --url--parent 인수를 함께 사용하면 오류가 발생합니다.

      쓰기 프로세스가 큐에 추가되었음을 확인합니다. 또한 생성된 이미지에 대한 UUID(Universally Unique Identifier) 번호를 표시합니다. UUID 번호를 사용하여 빌드를 추적합니다. 또한 추가 작업을 위해 UUID 번호를 편리하게 유지합니다.

  2. 이미지 compose 상태를 확인합니다.

    # composer-cli compose status

    출력에는 다음 형식으로 상태가 표시됩니다.

    <UUID> RUNNING date blueprint-name blueprint-version image-type
    참고

    이미지 생성 프로세스를 완료하는 데 몇 분이 걸립니다.

    (선택 사항) 이미지 생성 프로세스를 중단하려면 다음을 실행합니다.

    # composer-cli compose cancel <UUID>

    (선택 사항) 기존 이미지를 삭제하려면 다음을 실행합니다.

    # composer-cli compose delete <UUID>

이미지 생성이 완료되면 기존 ostree 배포를 업그레이드하려면 다음이 필요합니다.

5.1.4. Image Builder 명령줄 인터페이스를 사용하여 에지 이미지의 RHEL 다운로드

Image Builder 명령줄 인터페이스를 사용하여 에지 이미지의 RHEL을 다운로드하려면 다음 사전 요구 사항을 충족했는지 확인한 후 절차를 따르십시오.

사전 요구 사항

  • 에지 이미지용 RHEL을 생성했습니다.

절차

  1. RHEL for Edge 이미지 상태를 검토합니다.

    # composer-cli compose status

    출력에 다음이 표시되어야 합니다.

    $ <UUID> FINISHED date blueprint-name blueprint-version image-type
  2. 이미지를 다운로드합니다.

    # composer-cli compose image <UUID>

    이미지 빌더는 이미지를 tar 파일로 현재 디렉터리에 다운로드합니다.

    UUID 번호와 이미지 크기가 함께 표시됩니다.

    $ <UUID>-commit.tar: size MB

이미지에는 리포지토리 콘텐츠에 대한 정보 메타데이터가 포함된 커밋 및 json 파일이 포함되어 있습니다.