유효성 검사 테스트 문제 해결

커스텀 VM 이미지가 올바르게 부팅되고 구성 요구사항을 충족하는지 확인하기 위해 Image Builder는 임시 테스트 VM에서 자동 검증 테스트를 실행합니다. 이러한 테스트 중 하나가 실패하면 파이프라인이 중지되고 Image Builder가 최종 이미지를 게시하지 않습니다.

시작하기 전에

  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인합니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 Compute Engine에 인증하면 됩니다.

    이 페이지의 샘플 사용 방법에 대한 탭을 선택하세요.

    콘솔

    Google Cloud 콘솔을 사용하여 Google Cloud 서비스 및 API에 액세스하는 경우 인증을 설정할 필요가 없습니다.

    gcloud

    1. Google Cloud CLI를 설치한 후 제휴 ID로 gcloud CLI에 로그인합니다. 로그인한 후 다음 명령어를 실행하여 Google Cloud CLI를 초기화합니다.

      gcloud init
  • 기본 리전 및 영역을 설정합니다.
  • REST

    로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.

      Google Cloud CLI를 설치한 후 제휴 ID로 gcloud CLI에 로그인합니다.

    자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참조하세요.

개요

맞춤설정 단계가 성공적으로 완료되면 오케스트레이터가 VM 부팅 디스크를 임시 테스트 이미지 (image-builder-test-images 계열에서 image-builder-test-image-BUILD_ID로 명명됨)로 내보냅니다.

오케스트레이터는 이 이미지에서 테스트 VM을 부팅하고 시스템 테스트 모음을 실행합니다. Image Builder는 테스트 결과를 표준 JUnit XML 형식으로 Cloud Build 로그에 직접 출력합니다.

특정 검증 테스트 문제 해결

각 유효성 검사 테스트의 일반적인 실패 및 진단 단계를 검토하세요.

Intel IDPF 드라이버 확인

이 테스트는 지원되는 VM 인스턴스가 실제 네트워크 인터페이스에 고성능 Intel 인프라 데이터 경로 함수 (idpf) 드라이버를 로드하는지 확인합니다.

  • 실패 조건: VM이 일반 네트워크 어댑터 패키지로 되돌아가거나 게스트 커널에 활성 idpf 드라이버 모듈이 없는 경우 VM의 유효성 검사가 실패합니다.
  • 해상도:
    • 기본 운영체제의 커널 버전이 IDPF와 호환되는지 확인합니다.
    • 표준 네트워크 유틸리티가 드라이버를 삭제하거나 차단 목록에 추가하지 않는지 확인합니다.
    • 맞춤 커널 빌드의 경우 CONFIG_IDPF가 구성되어 있는지 확인합니다.

네트워킹 및 게스트 에이전트 확인

이 테스트는 인스턴스에 작동하는 게스트 통신과 표준화된 네트워크 인터페이스 구성이 있는지 확인합니다.

  • 실패 조건: 다음 조건 중 하나에서 테스트가 실패합니다.
    • 게스트 에이전트 서비스 관리자 SubStaterunning 상태가 표시되지 않습니다.
    • 비루프백 네트워크 인터페이스가 온라인 상태가 아닙니다.
    • 인터페이스 이름이 예상 표준 패턴 (예: eth* 또는 en*)과 일치하지 않습니다.
  • 해결 방법:

    • 게스트 에이전트가 설치되어 있고 부팅 시 시작되도록 구성되어 있는지 확인합니다.

      systemctl is-active google-guest-agent
      
    • 네트워크 구성 (예: netplan 또는 ifupdown 템플릿)에서 기본 가상 인터페이스를 사용 중지하지 않는지 확인합니다.

보안 부팅 확인

이 테스트는 UEFI 보안 부팅이 활성 상태이고 시스템이 이미지에서 게스트 OS 커널 서명 유효성 검사를 적용하는지 확인합니다.

  • 실패 조건: Compute Engine UEFI 변수가 SecureBoot1이 아니거나 SetupMode0이 아니라고 보고하면 테스트가 실패합니다.
  • 해결 방법:

    • 이미지에 유효한 서명 키가 포함되어 있는지 확인합니다.
    • imagebuilder.yaml 파일에서 guestOsFeatures에 대상 블록 아래에 UEFI_COMPATIBLE이 포함되어 있는지 확인합니다.

      destinations:
        - diskImage:
            guestOsFeatures:
              - UEFI_COMPATIBLE
      

인증 일시중지 또는 재개

이 테스트는 Compute Engine API를 사용하여 테스트 VM을 일시 중지하고 VM 실행이 재개된 후 게스트 전체 재부팅을 트리거하지 않고 연결이 복원되는지 확인합니다.

  • 실패 조건: 인스턴스가 절전 모드에서 깨어날 때 재부팅되거나, 일시 중지 중에 멈추거나, 네트워크 핑을 복구하지 못하면 테스트가 실패합니다.
  • 해상도:
    • 게스트 운영체제의 ACPI 서비스와 전원 정책이 사용 설정되어 있고 ACPI 이벤트에 응답하도록 구성되어 있는지 확인합니다.
    • 게스트 시스템 로그 (/var/log/syslog 또는 /var/log/messages)를 검사하여 맞춤 데몬이 시스템 절전 모드 요청을 차단하는지 확인합니다.

유효성 검사 테스트 건너뛰기

프로덕션 이미지를 검증하는 것이 좋지만 imagebuilder.yaml 파일의 spec.config 블록에서 skipSystemTests: true을 설정하여 테스트 중에 검증 테스트를 건너뛸 수 있습니다.

spec:
  config:
    skipSystemTests: true