4.7. in-tree 모듈을 out-of-tree 모듈로 교체
KMM(커널 모듈 관리)을 사용하여 필요에 따라 커널에 로드하거나 언로드할 수 있는 커널 모듈을 빌드할 수 있습니다. 이러한 모듈은 시스템을 재부팅할 필요 없이 커널의 기능을 확장합니다. 모듈은 기본 제공 또는 동적으로 로드됨으로 구성할 수 있습니다.
동적으로 로드된 모듈에는 in-tree 모듈 및 OOT(out-of-tree) 모듈이 포함됩니다. in-tree 모듈은 Linux 커널 트리 내부에 있습니다. 즉, 이미 커널에 포함되어 있습니다. out-of-tree 모듈은 Linux 커널 트리 외부에 있습니다. 일반적으로 트리에 제공된 커널 모듈의 새 버전을 테스트하거나 비호환성을 처리하는 등 개발 및 테스트 목적으로 작성됩니다.
KMM에서 로드한 일부 모듈은 노드에 이미 로드된 트리 내 모듈을 대체할 수 있습니다. 모듈을 로드하기 전에 트리 내 모듈을 언로드하려면 .spec.moduleLoader.container.inTreeModulesToRemove 필드의 값을 언로드하려는 모듈로 설정합니다. 다음 예제는 모든 커널 매핑에 대한 모듈 교체를 보여줍니다.
이 예에서 moduleLoader pod는 inTreeModulesToRemove를 사용하여 moduleLoader 이미지에서 mod_a를 로드하기 전에 트리 내 mod_a 및 mod_b를 언로드합니다. moduleLoader`pod is terminated and `mod_a가 언로드되면 mod_b가 다시 로드되지 않습니다.
다음은 특정 커널 매핑의 모듈 교체를 위한 예입니다.
4.7.1. 모듈 CR의 예 링크 복사링크가 클립보드에 복사되었습니다!
다음은 주석 처리 Module 예제입니다.
- 1 1 1
- 필수 항목입니다.
- 2
- 선택 사항입니다.
- 3
- 선택 사항: 이 경로의 내용을
kmm-operator-manager-config구성 맵의worker.setFirmwareClassPath(기본 설정은/var/lib/firmware)에 지정된 경로로 복사합니다. 이 동작은 커널 모듈을 삽입하기 위해modprobe가호출되기 전에 발생합니다. - 4
- 선택 사항입니다.
- 5
- 하나 이상의 커널 항목이 필요합니다.
- 6
- 정규 표현식과 일치하는 커널을 실행하는 각 노드에 대해 KMM은 태그나 다이제스트를 포함했는지 확인합니다. 컨테이너 이미지에 태그나 다이제스트를 지정하지 않으면 검증 웹훅이 오류를 반환하고 모듈을 적용하지 않습니다.
- 7
- 다른 커널의 경우
my-kmodConfigMap의 Dockerfile을 사용하여 이미지를 빌드합니다. - 8
- 고객의 kmod를 보관하는 컨테이너 이미지입니다. 이 컨테이너에는
cp바이너리가 포함되어야 합니다. - 9
- 선택 사항입니다.
- 10
- 선택 사항:
some-kubernetes-secret의 값은/run/secrets/some-kubernetes-secret의 빌드 환경에서 가져올 수 있습니다. - 11
- 이 필드에는 아무런 효과가 없습니다. kmod 이미지를 빌드하거나 kmod 이미지 내에서 kmod에 서명할 때, 신뢰할 수 없는 인증 기관(CA)에서 서명한 인증서를 제공하는 레지스트리에서 기본 이미지를 가져와야 할 때가 있습니다. KMM이 해당 CA를 신뢰하려면 클러스터의 CA 번들을 대체하여 새 CA도 신뢰해야 합니다.
클러스터의 CA 번들을 교체하는 방법을 알아보려면 "추가 리소스"를 참조하세요.
- 12
- 선택 사항: 이 매개변수를 사용하지 마십시오.
true로 설정하면, 빌드는 일반 HTTP를 사용하여 DockerfileFROM명령어에서 이미지를 가져올 때 TLS 서버 인증서 유효성 검사를 건너뜁니다. - 13
- 필수 항목입니다.
- 14
- 필수: 'cert' 키가 있는 공용 secureboot 키를 보유한 시크릿입니다.
- 15
- 필수: 키가 'key'인 개인 secureboot 키를 보유한 시크릿입니다.
- 16
- 선택 사항: 이 매개변수를 사용하지 마십시오.
true로 설정하면 KMM은 일반 HTTP를 사용하여 컨테이너 이미지가 이미 존재하는지 확인할 수 있습니다. - 17
- 선택 사항: 이 매개변수를 사용하지 마십시오.
true로 설정하면 KMM은 컨테이너 이미지가 이미 존재하는지 확인할 때 TLS 서버 인증서 유효성 검사를 건너뜁니다. - 18
- 선택 사항입니다.
- 19
- 선택 사항:
- 20
- 필수: 장치 플러그인 섹션이 있는 경우
- 21
- 선택 사항:
- 22
- 선택 사항:
- 23
- 선택 사항:
- 24
- 선택 사항: 모듈 로더 및 장치 플러그인 이미지를 가져오는 데 사용됩니다.