2.3. KMM(커널 모듈 관리) 모듈에 대한 preflight 검증


적용된 KMM 모듈을 사용하여 클러스터에서 업그레이드를 수행하기 전에 KMM을 사용하여 설치된 커널 모듈이 클러스터 업그레이드 및 커널 업그레이드 후 노드에 설치할 수 있는지 확인해야 합니다. preflight는 클러스터에 로드된 모든 Module을 병렬로 검증하려고 합니다. preflight는 다른 Module의 검증을 시작하기 전에 하나의 Module의 유효성 검사가 완료될 때까지 기다리지 않습니다.

2.3.1. 검증 시작

preflight 검증은 클러스터에 PreflightValidationOCP 리소스를 생성하여 트리거됩니다. 이 리소스에는 다음 필드가 포함되어 있습니다.

dtkImage

클러스터의 특정 OpenShift Container Platform 버전에 대해 릴리스된 DTK 컨테이너 이미지입니다. 이 값을 설정하지 않으면 DTK_AUTO 기능을 사용할 수 없습니다.

클러스터에서 다음 명령 중 하나를 실행하여 이미지를 가져올 수 있습니다.

# For x86_64 image:
$ oc adm release info quay.io/openshift-release-dev/ocp-release:4.20.0-x86_64 --image-for=driver-toolkit
Copy to Clipboard Toggle word wrap
# For ARM64 image:
$ oc adm release info quay.io/openshift-release-dev/ocp-release:4.20.0-aarch64 --image-for=driver-toolkit
Copy to Clipboard Toggle word wrap
kernelVersion

클러스터가 업그레이드되는 커널 버전을 제공하는 필수 필드입니다.

클러스터에서 다음 명령을 실행하여 버전을 가져올 수 있습니다.

$ podman run -it --rm $(oc adm release info quay.io/openshift-release-dev/ocp-release:4.20.0-x86_64 --image-for=driver-toolkit) cat /etc/driver-toolkit-release.json
Copy to Clipboard Toggle word wrap
pushBuiltImage
true 인 경우 Build 및 Sign 검증 중에 생성된 이미지가 해당 리포지토리로 푸시됩니다. 이 필드는 기본적으로 false입니다.

2.3.2. 검증 라이프사이클

preflight 검증은 클러스터에 로드된 모든 모듈을 검증하려고 합니다. preflight는 검증에 성공한 후 모듈 리소스에서 검증을 중지합니다. 모듈 검증에 실패하면 모듈 정의를 변경할 수 있으며, Preflight는 다음 루프에서 모듈을 다시 검증하려고 합니다.

추가 커널에 대해 Preflight 검증을 실행하려면 해당 커널에 대한 다른 PreflightValidationOCP 리소스를 생성해야 합니다. 모든 모듈을 검증한 후에는 PreflightValidationOCP 리소스를 삭제하는 것이 좋습니다.

2.3.3. 검증 상태

PreflightValidationOCP 리소스는 클러스터에 있는 각 모듈의 상태 및 진행 상황을 .status.modules 목록에서 시도하거나 검증하려고 했습니다. 해당 목록의 요소에는 다음 필드가 포함됩니다.

name
모듈 리소스의 이름입니다.
네임스페이스
모듈 리소스의 네임스페이스입니다.
statusReason
상태에 대한 구두 설명입니다.
verificationStage

실행되는 검증 단계를 설명합니다.

  • 이미지: 이미지 존재 확인
  • 완료됨: 확인 완료
verificationStatus

모듈 확인의 상태:

  • 성공: 확인
  • 실패: 확인 실패
  • 진행 중: 확인 진행 중

2.3.4. 이미지 검증 단계

이미지 검증은 실행할 사전 실행 검증의 첫 번째 단계입니다. 이미지 검증에 성공하면 해당 특정 모듈에서 다른 검증이 실행되지 않습니다. Operator는 컨테이너 런타임을 사용하여 모듈에서 updaded 커널의 이미지 존재 및 접근성을 확인합니다.

이미지 검증에 실패하고 업그레이드된 커널과 관련된 빌드/로그인 섹션이 있는 경우 컨트롤러는 이미지를 빌드하거나 서명하려고 합니다. Push builtImage 플래그가 PreflightValidationOCP 리소스에 정의된 경우 컨트롤러는 결과 이미지를 해당 리포지토리로 내보내려고 합니다. 결과 이미지 이름은 Module CR의 containerImage 필드 정의에서 가져옵니다.

참고

빌드 섹션이 있는 경우 sign 섹션의 입력 이미지가 build 섹션의 출력 이미지로 사용됩니다. 따라서 입력 이미지를 sign 섹션에서 사용할 수 있으려면 Push builtImage 플래그를 PreflightValidationOCP CR에 정의해야 합니다.

2.3.5. PreflightValidationOCP 리소스의 예

다음 예제에서는 YAML 형식의 PreflightValidationOCP 리소스를 보여줍니다.

이 예제에서는 향후 5.14.0-570.19.1.el9_6.x86_64 커널에 대해 현재 존재하는 모든 모듈을 확인합니다. .spec.push builtImagetrue 로 설정되므로 KMM은 결과 이미지를 정의된 리포지토리로 내보냅니다.

apiVersion: kmm.sigs.x-k8s.io/v1beta2
kind: PreflightValidationOCP
metadata:
  name: preflight
spec:
  kernelVersion: 5.14.0-570.19.1.el9_6.x86_64
  dtkImage: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:fe0322730440f1cbe6fffaaa8cac131b56574bec8abe3ec5b462e17557fecb32
  pushBuiltImage: true
Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat