10.4. 사용자 정의 GCE 이미지 준비 및 GCP에 업로드
사용자 지정 이미지를 생성한 다음 RHEL 이미지 빌더를 사용하여 Oracle Cloud Infrastructure(OCI) 인스턴스로 자동으로 업데이트할 수 있습니다.
10.4.1. RHEL 이미지 빌더를 사용하여 GCP에 이미지 업로드
RHEL 이미지 빌더를 사용하면 gce
이미지를 빌드하고 사용자 또는 GCP 서비스 계정에 대한 인증 정보를 제공한 다음 gce
이미지를 GCP 환경에 직접 업로드할 수 있습니다.
10.4.1.1. CLI를 사용하여 GCP에 gce 이미지 구성 및 업로드
RHEL 이미지 빌더 CLI를 사용하여 gce
이미지를 GCP에 업로드하도록 인증 정보가 포함된 구성 파일을 설정합니다.
이미지가 부팅되지 않으므로 gce
이미지를 GCP에 수동으로 가져올 수 없습니다. gcloud
또는 RHEL 이미지 빌더를 사용하여 업로드해야 합니다.
사전 요구 사항
이미지를 GCP에 업로드할 수 있는 유효한 Google 계정 및 인증 정보가 있습니다. 자격 증명은 사용자 계정 또는 서비스 계정에서 있을 수 있습니다. 인증 정보와 연결된 계정에는 최소한 다음 IAM 역할이 할당되어 있어야 합니다.
-
roles/storage.admin
- 스토리지 오브젝트 생성 및 삭제 -
roles/compute.storageAdmin
- VM 이미지를 Compute Engine으로 가져오려면 다음을 수행합니다.
-
- 기존 GCP 버킷이 있습니다.
절차
텍스트 편집기를 사용하여 다음 내용으로
gcp-config.toml
구성 파일을 생성합니다.provider = "gcp" [settings] bucket = "GCP_BUCKET" region = "GCP_STORAGE_REGION" object = "OBJECT_KEY" credentials = "GCP_CREDENTIALS"
-
GCP_BUCKET
은 기존 버킷을 가리킵니다. 업로드 중인 이미지의 중간 스토리지 오브젝트를 저장하는 데 사용됩니다. -
GCP_STORAGE_REGION
은 일반 Google 스토리지 영역과 이중 또는 멀티 영역입니다. -
OBJECT_KEY
는 중간 스토리지 오브젝트의 이름입니다. 업로드 전에 존재해서는 안 되며 업로드 프로세스가 완료되면 삭제됩니다. 오브젝트 이름이.tar.gz
로 끝나지 않으면 확장 기능이 개체 이름에 자동으로 추가됩니다. GCP_CREDENTIALS
는 GCP에서 다운로드한 인증 정보 JSON 파일의Base64
인코딩 체계입니다. 자격 증명은 GCP가 이미지를 업로드하는 프로젝트를 결정합니다.참고GCP로 인증하는 다른 메커니즘을 사용하는 경우
gcp-config.toml
파일에GCP_CREDENTIALS
를 지정하는 것은 선택 사항입니다. 기타 인증 방법은 GCP로 인증 을 참조하십시오.
-
GCP에서 다운로드한 JSON 파일에서
GCP_CREDENTIALS
를 검색합니다.$ sudo base64 -w 0 cee-gcp-nasa-476a1fa485b7.json
추가 이미지 이름 및 클라우드 공급자 프로필을 사용하여 작성을 생성합니다.
$ sudo composer-cli compose start BLUEPRINT-NAME gce IMAGE_KEY gcp-config.toml
이미지 빌드, 업로드 및 클라우드 등록 프로세스를 완료하는 데 최대 10분이 걸릴 수 있습니다.
검증
이미지 상태가 FINISHED인지 확인합니다.
$ sudo composer-cli compose status
추가 리소스
10.4.1.2. RHEL 이미지 빌더가 다른 GCP 인증 정보의 인증 순서를 정렬하는 방법
RHEL 이미지 빌더에서 여러 다른 유형의 인증 정보를 사용하여 GCP로 인증할 수 있습니다. RHEL 이미지 빌더 구성이 여러 인증 정보 세트를 사용하여 GCP에서 인증하도록 설정된 경우 다음과 같은 기본 설정 순서대로 인증 정보를 사용합니다.
-
구성 파일에서
composer-cli
명령으로 지정된 자격 증명. -
osbuild-composer
작업자 구성에 구성된 인증 정보. 다음 옵션을 사용하여 자동으로 인증할 수 있는
Google GCP SDK
라이브러리의Application Default Credentials
(애플리케이션 기본 인증 정보)입니다.- GOOGLE_APPLICATION_CREDENTIALS 환경 변수가 설정된 경우 애플리케이션 기본 자격 증명은 변수가 가리키는 파일에서 자격 증명을 로드하고 사용합니다.
애플리케이션 기본 인증 정보는 코드를 실행하는 리소스에 연결된 서비스 계정을 사용하여 인증을 시도합니다. 예를 들면 Google Compute Engine VM입니다.
참고이미지를 업로드할 GCP 프로젝트를 확인하려면 GCP 인증 정보를 사용해야 합니다. 따라서 모든 이미지를 동일한 GCP 프로젝트에 업로드하는 경우가 아니면
composer-cli
명령을 사용하여gcp-config.toml
설정 파일에 인증 정보를 지정해야 합니다.
10.4.1.2.1. composer-cli 명령을 사용하여 GCP 인증 정보 지정
업로드 대상 구성 gcp-config.toml
파일에 GCP 인증 자격 증명을 지정할 수 있습니다. Base64
로 인코딩된 Google 계정 자격 증명 JSON 파일을 사용하여 시간을 절약할 수 있습니다.
절차
다음 명령을 실행하여
GOOGLE_APPLICATION_CREDENTIALS
환경 변수에 저장된 경로를 사용하여 Google 계정 자격 증명 파일의 인코딩된 콘텐츠를 가져옵니다.$ base64 -w 0 "${GOOGLE_APPLICATION_CREDENTIALS}"
업로드 대상 구성
gcp-config.toml
파일에서 인증 정보를 설정합니다.provider = "gcp" [settings] provider = "gcp" [settings] credentials = "GCP_CREDENTIALS"
10.4.1.2.2. osbuild-composer 작업자 구성에서 인증 정보 지정
모든 이미지 빌드에 전역적으로 GCP에 사용할 GCP 인증 자격 증명을 구성할 수 있습니다. 이렇게 하면 동일한 GCP 프로젝트로 이미지를 가져오려면 모든 이미지 업로드에 동일한 인증 정보를 사용할 수 있습니다.
절차
/etc/osbuild-worker/osbuild-worker.toml
작업자 구성에서 다음 인증 정보 값을 설정합니다.[gcp] credentials = "PATH_TO_GCP_ACCOUNT_CREDENTIALS"