11.4. 사용자 정의 GCE 이미지 준비 및 GCP에 업로드
사용자 지정 이미지를 생성한 다음 RHEL 이미지 빌더를 사용하여 GCP(Google Cloud Platform) 인스턴스로 자동으로 업데이트할 수 있습니다.
11.4.1. RHEL 이미지 빌더를 사용하여 GCP에 이미지 업로드 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 이미지 빌더를 사용하면 gce 이미지를 빌드하고 사용자 또는 GCP 서비스 계정에 대한 인증 정보를 제공한 다음 gce 이미지를 GCP 환경에 직접 업로드할 수 있습니다.
11.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구성 파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
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 base64 -w 0 cee-gcp-nasa-476a1fa485b7.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 추가 이미지 이름 및 클라우드 공급자 프로필을 사용하여 작성을 생성합니다.
sudo composer-cli compose start BLUEPRINT-NAME gce IMAGE_KEY gcp-config.toml
$ sudo composer-cli compose start BLUEPRINT-NAME gce IMAGE_KEY gcp-config.tomlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이미지 빌드, 업로드 및 클라우드 등록 프로세스를 완료하는 데 최대 10분이 걸릴 수 있습니다.
검증
이미지 상태가 FINISHED인지 확인합니다.
sudo composer-cli compose status
$ sudo composer-cli compose statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow
11.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구성 파일에 인증 정보를 지정해야 합니다.
11.4.1.2.1. composer-cli 명령을 사용하여 GCP 인증 정보 지정 링크 복사링크가 클립보드에 복사되었습니다!
업로드 대상 구성 gcp-config.toml 파일에 GCP 인증 자격 증명을 지정할 수 있습니다. Base64-encoded scheme of the Google account credentials JSON 파일을 사용하여 시간을 절약합니다.
프로세스
다음 명령을 실행하여
GOOGLE_APPLICATION_CREDENTIALS환경 변수에 저장된 경로를 사용하여 Google 계정 자격 증명 파일의 인코딩된 콘텐츠를 가져옵니다.base64 -w 0 "${GOOGLE_APPLICATION_CREDENTIALS}"$ base64 -w 0 "${GOOGLE_APPLICATION_CREDENTIALS}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 업로드 대상 구성
gcp-config.toml파일에서 인증 정보를 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.4.1.2.2. osbuild-composer 작업자 구성에서 인증 정보 지정 링크 복사링크가 클립보드에 복사되었습니다!
모든 이미지 빌드에 전역적으로 GCP에 사용하도록 GCP 인증 인증 정보를 구성할 수 있습니다. 이렇게 하면 이미지를 동일한 GCP 프로젝트로 가져오려면 GCP에 모든 이미지 업로드에 동일한 인증 정보를 사용할 수 있습니다.
프로세스
/etc/osbuild-worker/osbuild-worker.toml작업자 구성에서 다음 인증 정보 값을 설정합니다.[gcp] credentials = "PATH_TO_GCP_ACCOUNT_CREDENTIALS"
[gcp] credentials = "PATH_TO_GCP_ACCOUNT_CREDENTIALS"Copy to Clipboard Copied! Toggle word wrap Toggle overflow