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


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

2.3.1. 검증 시작

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

dtkImage

클러스터의 특정 OpenShift 컨테이너 플랫폼 버전에 대해 DTK 컨테이너 이미지가 릴리스되었습니다. 이 값이 설정되지 않으면 DTK_AUTO 기능을 사용할 수 없습니다.

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

# For x86_64 image:
$ oc adm release info quay.io/openshift-release-dev/ocp-release:4.19.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.19.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.19.0-x86_64 --image-for=driver-toolkit) cat /etc/driver-toolkit-release.json
Copy to Clipboard Toggle word wrap
pushBuiltImage
true 인 경우 빌드 및 서명 검증 중에 생성된 이미지가 해당 저장소에 푸시됩니다. 이 필드는 기본적으로 false입니다.

2.3.2. 검증 라이프사이클

사전 검증은 클러스터에 로드된 모든 모듈의 유효성을 검증하려고 시도합니다. 검증이 성공하면 Preflight는 모듈 리소스에 대한 검증 실행을 중지합니다. 모듈 유효성 검사에 실패하면 모듈 정의를 변경하고 Preflight는 다음 루프에서 모듈의 유효성 검사를 다시 시도합니다.

추가 커널에 대해 Preflight 유효성 검사를 실행하려면 해당 커널에 대한 또 다른 PreflightValidationOCP 리소스를 만들어야 합니다. 모든 모듈의 유효성이 검사된 후에는 PreflightValidationOCP 리소스를 삭제하는 것이 좋습니다.

2.3.3. 검증 상태

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

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

실행 중인 검증 단계를 설명합니다.

  • 이미지 : 이미지 존재 검증
  • 완료 : 검증이 완료되었습니다.
verificationStatus

모듈 검증 상태:

  • 성공 : 확인됨
  • 실패 : 검증에 실패했습니다
  • 진행 중 : 검증이 진행 중입니다.

2.3.4. 이미지 검증 단계

이미지 검증은 항상 사전 검증의 첫 번째 단계로 실행됩니다. 이미지 검증이 성공하면 해당 모듈에서 다른 검증은 실행되지 않습니다. Operator는 컨테이너 런타임을 사용하여 모듈에서 업데이트된 커널에 대한 이미지 존재 및 접근성을 확인합니다.

이미지 검증이 실패하고 업그레이드된 커널과 관련된 모듈에 빌드/서명 섹션이 있는 경우, 컨트롤러는 이미지를 빌드하거나 서명하려고 시도합니다. PreflightValidationOCP 리소스에 PushBuiltImage 플래그가 정의된 경우 컨트롤러는 결과 이미지를 해당 저장소에 푸시하려고 시도합니다. 결과 이미지 이름은 모듈 CR의 containerImage 필드 정의에서 가져옵니다.

참고

빌드 섹션이 있는 경우, 표지판 섹션의 입력 이미지는 빌드 섹션의 출력 이미지로 사용됩니다. 따라서 입력 이미지를 기호 섹션에서 사용할 수 있으려면 PreflightValidationOCP CR에 PushBuiltImage 플래그를 정의해야 합니다.

2.3.5. PreflightValidationOCP 리소스의 예

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

이 예제에서는 현재 존재하는 모든 모듈을 다가올 5.14.0-570.19.1.el9_6.x86_64 커널과 비교 검증합니다. .spec.pushBuiltImagetrue 로 설정되었으므로 KMM은 Build/Sign의 결과 이미지를 정의된 저장소에 푸시합니다.

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