5장. 이미지 빌더 명령줄을 사용하여 에지 이미지 작성
이미지 빌더를 사용하여 사용자 지정 RHEL for Edge 이미지(OSTree 커밋)를 생성할 수 있습니다.
이미지 빌더에 액세스하고 사용자 지정 RHEL for Edge 이미지를 생성하려면 RHEL 웹 콘솔 인터페이스 또는 명령줄을 사용할 수 있습니다.
네트워크 기반 배포의 경우 CLI를 사용하여 RHEL for Edge 이미지를 구성하는 워크플로우에는 다음과 같은 상위 수준 단계가 포함됩니다.
- RHEL for Edge 이미지용 블루프린트 생성
- RHEL for Edge 커밋 이미지 생성
- RHEL for Edge 커밋 이미지 다운로드
비 네트워크 기반 배포의 경우 CLI를 사용하여 RHEL for Edge 이미지를 구성하는 워크플로우에는 다음과 같은 상위 수준 단계가 포함됩니다.
- RHEL for Edge 이미지용 블루프린트 생성
RHEL for Edge 이미지를 만듭니다. 다음 이미지를 생성할 수 있습니다.
- RHEL for Edge 커밋 이미지.
- RHEL for Edge 컨테이너 이미지.
- RHEL for Edge 설치 프로그램 이미지.
- RHEL for Edge 이미지 다운로드
단계를 수행하려면 composer-cli 패키지를 사용합니다.
composer-cli 명령을 루트가 아닌 사용자로 실행하려면 weldr 그룹의 일부이거나 시스템에 대한 관리자 액세스 권한이 있어야 합니다.
5.1. 네트워크 기반 배포를 위한 이미지 생성 링크 복사링크가 클립보드에 복사되었습니다!
이를 통해 OSTree 커밋을 빌드하는 방법에 대한 단계가 제공됩니다. 이러한 OSTree 커밋에는 전체 운영 체제가 포함되어 있지만 직접 부팅할 수는 없습니다. 부팅하려면 Kickstart 파일을 사용하여 배포해야 합니다.
5.1.1. 이미지 빌더 CLI를 사용하여 커밋 이미지에 대한 블루프린트 생성 링크 복사링크가 클립보드에 복사되었습니다!
CLI를 사용하여 RHEL for Edge 커밋 이미지용 블루프린트를 생성합니다.
사전 요구 사항
기존 블루프린트가 없습니다. 이를 확인하려면 기존 블루프린트를 나열합니다.
sudo composer-cli blueprints list
$ sudo composer-cli blueprints listCopy to Clipboard Copied! Toggle word wrap Toggle overflow
프로세스
다음 내용으로 TOML 형식으로 일반 텍스트 파일을 생성합니다.
name = "blueprint-name" description = "blueprint-text-description" version = "0.0.1" modules = [ ] groups = [ ]
name = "blueprint-name" description = "blueprint-text-description" version = "0.0.1" modules = [ ] groups = [ ]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서,
- Blueprint-name 은 name 및 blueprint-text-description이 블루프린트에 대한 설명입니다.
- 0.0.1 은 Semantic Versioning 체계에 따른 버전 번호입니다.
모듈은 이미지에 설치할 패키지 이름 및 일치하는 버전 glob를 설명합니다(예: 패키지 name = "tmux" 및 일치하는 버전 glob는 version = "2.9a"입니다.
현재는 패키지와 모듈 간에 차이가 없습니다.
그룹은 이미지에 설치할 패키지 그룹 입니다(예: 그룹 패키지 anaconda-tools).
현재 모듈과 그룹을 모르는 경우 비워 둡니다.
필요한 패키지를 포함하고 요구 사항에 맞게 블루프린트에 기타 세부 정보를 사용자 지정합니다.
블루프린트에 포함할 모든 패키지에 대해 파일에 다음 행을 추가합니다.
[[packages]] name = "package-name" version = "package-version"
[[packages]] name = "package-name" version = "package-version"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서,
- package-name은 httpd, gdb-doc 또는 coreutils와 같은 패키지 이름입니다.
package-version은 사용하려는 패키지의 버전 번호입니다.
package-version은 다음 DNF 버전 사양을 지원합니다.
- 특정 버전의 경우 8.0과 같은 정확한 버전 번호를 사용합니다.
- 사용 가능한 최신 버전의 경우 별표 *를 사용합니다.
- 최신 마이너 버전의 경우 8.*과 같은 형식을 사용합니다.
블루프린트를 RHEL 이미지 빌더 서버로 푸시(가져오기)합니다.
composer-cli blueprints push blueprint-name.toml
# composer-cli blueprints push blueprint-name.tomlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 기존 블루프린트를 나열하여 생성된 블루프린트가 성공적으로 푸시되고 존재하는지 확인합니다.
composer-cli blueprints show BLUEPRINT-NAME
# composer-cli blueprints show BLUEPRINT-NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 블루프린트 및 해당 종속 항목에 나열된 구성 요소 및 버전이 유효한지 확인합니다.
composer-cli blueprints depsolve blueprint-name
# composer-cli blueprints depsolve blueprint-nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1.2. 이미지 빌더 CLI를 사용하여 RHEL for Edge 커밋 이미지 생성 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 이미지 빌더 명령줄 인터페이스를 사용하여 RHEL for Edge 커밋 이미지를 생성하려면 다음 사전 요구 사항을 충족했는지 확인하고 절차를 따르십시오.
사전 요구 사항
- RHEL for Edge 커밋 이미지의 블루프린트를 생성했습니다.
프로세스
RHEL for Edge 커밋 이미지를 생성합니다.
composer-cli compose start blueprint-name image-type
# composer-cli compose start blueprint-name image-typeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서,
- Blueprint-name 은 RHEL for Edge 블루프린트 이름입니다.
image-type 은 네트워크 기반 배포를 위한
에지 커밋입니다.구성자 프로세스가 큐에 추가되었는지 확인합니다. 또한 생성된 이미지의 UUID(Universally Unique Identifier) 번호를 표시합니다. UUID 번호를 사용하여 빌드를 추적합니다. 또한 추가 작업을 위해 UUID 번호를 편리하게 유지합니다.
이미지 작성 상태를 확인합니다.
composer-cli compose status
# composer-cli compose statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력에는 다음 형식으로 상태가 표시됩니다.
<UUID> RUNNING date blueprint-name blueprint-version image-type
<UUID> RUNNING date blueprint-name blueprint-version image-typeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이미지 생성 프로세스를 완료하는 데 최대 20분이 걸립니다.
이미지 생성 프로세스를 중단하려면 다음을 실행합니다.
composer-cli compose cancel <UUID>
# composer-cli compose cancel <UUID>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기존 이미지를 삭제하려면 다음을 실행합니다.
composer-cli compose delete <UUID>
# composer-cli compose delete <UUID>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이미지가 준비되면 이미지를 다운로드하여 네트워크 배포에서 이미지를 사용할 수 있습니다.
5.1.3. RHEL 이미지 빌더 CLI를 사용하여 참조 커밋으로 이미지 업데이트 생성 링크 복사링크가 클립보드에 복사되었습니다!
예를 들어 새 패키지를 추가하고 이 새 패키지로 기존 RHEL for Edge 이미지를 업데이트하려면 --parent 인수를 사용하여 업데이트된 RHEL for Edge 커밋(.tar) 이미지를 생성할 수 있습니다. --parent 인수는 URL 인수로 지정된 리포지토리에 존재하는 참조 이거나 추출된 .tar 이미지 파일에서 찾을 수 있는 Commit ID 를 사용할 수 있습니다.
ref 및 Commit ID 인수 모두 빌드 중인 새 커밋에 대해 상위를 검색합니다. RHEL 이미지 빌더는 빌드 중인 새 커밋 부분에 영향을 미치는 상위 커밋 사용자 데이터베이스에서 정보를 읽고 있지만 패키지에서 생성한 시스템 사용자 및 그룹에 대해 UID와 GID를 유지합니다.
사전 요구 사항
- RHEL for Edge 이미지용 기존 블루프린트를 업데이트했습니다.
- 기존 RHEL for Edge 이미지(OSTree 커밋)가 있습니다. RHEL for Edge 이미지 커밋 추출 을 참조하십시오.
-
URL
로지정된OSTree리포지토리에서 빌드하려는 참조를 사용했습니다.
프로세스
RHEL for Edge 커밋 이미지를 생성합니다.
composer-cli compose start-ostree --ref rhel/8/x86_64/edge --parent parent-OSTree-REF --url URL blueprint-name image-type
# composer-cli compose start-ostree --ref rhel/8/x86_64/edge --parent parent-OSTree-REF --url URL blueprint-name image-typeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
상위및 새 참조를 기반으로 새 RHEL for Edge 커밋을 생성하려면 다음 명령을 실행합니다.composer-cli compose start-ostree --ref rhel/8/x86_64/edge --parent rhel/8/x86_64/edge --url http://10.0.2.2:8080/repo rhel_update edge-commit
# composer-cli compose start-ostree --ref rhel/8/x86_64/edge --parent rhel/8/x86_64/edge --url http://10.0.2.2:8080/repo rhel_update edge-commitCopy to Clipboard Copied! Toggle word wrap Toggle overflow 동일한 참조를 기반으로 새 RHEL for Edge 커밋을 생성하려면 다음 명령을 실행합니다.
composer-cli compose start-ostree --ref rhel/8/x86_64/edge --url http://10.0.2.2:8080/repo rhel_update edge-commit
# composer-cli compose start-ostree --ref rhel/8/x86_64/edge --url http://10.0.2.2:8080/repo rhel_update edge-commitCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
- --ref 인수는 OSTree 리포지토리를 빌드하는 데 사용한 것과 동일한 경로 값을 지정합니다.
-
--parent 인수는 상위 커밋을 지정합니다. 해결 및 가져올 수 있는 참조(예:
rhel/8/x86_64/edge) 또는 추출된.tar파일에서 찾을 수 있는커밋 ID입니다. - Blueprint-name 은 RHEL for Edge 블루프린트 이름입니다.
-
--url인수는 이미지에 포함할 커밋의 OSTree 리포지토리에 대한 URL을 지정합니다(예: http://10.0.2.2:8080/repo). image-type 은 네트워크 기반 배포를 위한
에지 커밋입니다.참고-
--parent인수는RHEL for Edge Commit (.tar)이미지 유형에만 사용할 수 있습니다.--url및--parent인수를 함께 사용하면RHEL for Edge Container(.tar)이미지 유형에 오류가 발생합니다. -
상위 ref인수를 생략하면 시스템은--인수에 의해 지정된 참조로 대체됩니다.ref
구성자 프로세스가 큐에 추가되었는지 확인합니다. 또한 생성된 이미지의 UUID(Universally Unique Identifier) 번호를 표시합니다. UUID 번호를 사용하여 빌드를 추적합니다. 또한 추가 작업을 위해 UUID 번호를 편리하게 유지합니다.
-
이미지 작성 상태를 확인합니다.
composer-cli compose status
# composer-cli compose statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력에는 다음 형식으로 상태가 표시됩니다.
<UUID> RUNNING date blueprint-name blueprint-version image-type
<UUID> RUNNING date blueprint-name blueprint-version image-typeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이미지 생성 프로세스를 완료하는 데 몇 분이 걸립니다.
(선택 사항) 이미지 생성 프로세스를 중단하려면 다음을 실행합니다.
composer-cli compose cancel <UUID>
# composer-cli compose cancel <UUID>Copy to Clipboard Copied! Toggle word wrap Toggle overflow (선택 사항) 기존 이미지를 삭제하려면 다음을 실행합니다.
composer-cli compose delete <UUID>
# composer-cli compose delete <UUID>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 단계
이미지 생성이 완료되면 기존 OSTree 배포를 업그레이드하려면 다음이 필요합니다.
- 리포지토리를 설정합니다. RHEL for Edge 이미지 배포를 참조하십시오.
- 이 리포지토리를 OSTree 콘텐츠를 호스팅하는 원격(즉, http 또는 https 끝점)으로 추가합니다.
- 새 OSTree 커밋을 기존 실행 인스턴스에 가져옵니다. 수동으로 RHEL for Edge 이미지 업데이트 배포를 참조하십시오.
5.1.4. 이미지 빌더 명령줄 인터페이스를 사용하여 RHEL for Edge 이미지 다운로드 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 이미지 빌더 명령줄 인터페이스를 사용하여 RHEL for Edge 이미지를 다운로드하려면 다음 사전 요구 사항을 충족했는지 확인한 다음 절차를 따르십시오.
사전 요구 사항
- RHEL for Edge 이미지를 생성했습니다.
프로세스
RHEL for Edge 이미지 상태를 확인합니다.
composer-cli compose status
# composer-cli compose statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력에 다음이 표시되어야 합니다.
<UUID> FINISHED date blueprint-name blueprint-version image-type
$ <UUID> FINISHED date blueprint-name blueprint-version image-typeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이미지를 다운로드합니다.
composer-cli compose image <UUID>
# composer-cli compose image <UUID>Copy to Clipboard Copied! Toggle word wrap Toggle overflow RHEL 이미지 빌더는 이미지를
tar파일로 현재 디렉터리에 다운로드합니다.UUID 번호와 이미지 크기가 함께 표시됩니다.
<UUID>-commit.tar: size MB
$ <UUID>-commit.tar: size MBCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이미지에는 리포지토리 콘텐츠에 대한 정보 메타데이터가 포함된 커밋 및 json 파일이 포함되어 있습니다.