15.4. 모듈당 검증 전 단계
사전 진행은 클러스터에 있는 모든 KMM 모듈에 대해 다음 검증을 실행합니다.
- 이미지 검증 단계
- 빌드 검증 단계
- 검증 단계 서명
15.4.1. 이미지 검증 단계 링크 복사링크가 클립보드에 복사되었습니다!
이미지 검증은 실행할 사전 진행 중 검증의 첫 번째 단계입니다. 이미지 검증에 성공하면 해당 특정 모듈에서 다른 검증이 실행되지 않습니다.
이미지 유효성 검사는 다음 두 단계로 구성됩니다.
- 이미지가 존재하고 액세스 가능성이 있습니다. 코드는 모듈에서 업그레이드된 커널에 정의된 이미지에 액세스하여 매니페스트를 가져옵니다.
-
향후
modprobe실행을 위해 올바른경로에서모듈에 정의된 커널 모듈이 있는지 확인합니다. 올바른 경로는 <dirname>/lib/modules/<upgraded_kernel>/입니다.
검증에 성공하면 kernel 모듈이 올바른 Linux 헤더로 컴파일되었을 수 있습니다.
15.4.2. 빌드 검증 단계 링크 복사링크가 클립보드에 복사되었습니다!
빌드 검증은 이미지 검증이 실패하고 업그레이드된 커널과 관련된 모듈에 빌드 섹션이 있는 경우에만 실행됩니다. 빌드 검증 시도에서 빌드 작업을 실행하고 성공적으로 완료되었는지 확인합니다.
다음과 같이 depmod 를 실행할 때 커널 버전을 지정해야 합니다.
RUN depmod -b /opt ${KERNEL_VERSION}
$ RUN depmod -b /opt ${KERNEL_VERSION}
PushBuiltImage 플래그가 PreflightValidationOCP 사용자 정의 리소스(CR)에 정의된 경우 결과 이미지를 해당 리포지토리로 푸시하려고 합니다. 결과 이미지 이름은 모듈 CR의 containerImage 필드 정의에서 가져옵니다.
업그레이드된 커널에 대한 sign 섹션이 정의된 경우 결과 이미지는 모듈 CR의 containerImage 필드가 아니라 결과 이미지가 Sign flow 제품이어야 하므로 임시 이미지 이름이 됩니다.
15.4.3. 검증 단계 서명 링크 복사링크가 클립보드에 복사되었습니다!
서명 검증은 이미지 검증이 실패한 경우에만 실행되고, 업그레이드 커널과 관련된 모듈에는 서명 섹션이 있으며 업그레이드된 커널과 관련된 모듈( )이 있는 경우 Module 빌드 검증이 성공적으로 완료되었습니다. 서명 검증은 서명 작업을 실행하고 성공적으로 완료되었는지 확인합니다.
PushBuiltImage 플래그가 PreflightValidationOCP CR에 정의된 경우 서명 검증에서도 결과 이미지를 레지스트리로 푸시합니다.
결과 이미지는 항상 모듈 의 containerImage 필드에 정의된 이미지입니다. 입력 이미지는 Build 단계의 출력이거나 UnsignedImage 필드에 정의된 이미지입니다.
빌드 섹션이 있는 경우 서명 섹션 입력 이미지는 빌드 섹션의 출력 이미지입니다. 따라서 서명 섹션에서 입력 이미지를 사용할 수 있으려면 PreflightValidationOCP CR에 PushBuiltImage 플래그를 정의해야 합니다.