4.5. in-tree 모듈을 out-of-tree 모듈로 교체
KMM(커널 모듈 관리)을 사용하여 필요에 따라 커널에 로드하거나 언로드할 수 있는 커널 모듈을 빌드할 수 있습니다. 이러한 모듈은 시스템을 재부팅할 필요 없이 커널의 기능을 확장합니다. 모듈은 기본 제공 또는 동적으로 로드됨으로 구성할 수 있습니다.
동적으로 로드된 모듈에는 in-tree 모듈 및 OOT(out-of-tree) 모듈이 포함됩니다. in-tree 모듈은 Linux 커널 트리 내부에 있습니다. 즉, 이미 커널에 포함되어 있습니다. out-of-tree 모듈은 Linux 커널 트리 외부에 있습니다. 일반적으로 트리에 제공된 커널 모듈의 새 버전을 테스트하거나 비호환성을 처리하는 등 개발 및 테스트 목적으로 작성됩니다.
KMM에 의해 로드된 일부 모듈은 이미 노드에 로드된 in-tree 모듈을 교체할 수 있습니다. 모듈을 로드하기 전에 in-tree 모듈을 언로드하려면 .spec.moduleLoader.container.inTreeModuleToRemove
필드를 설정합니다. 다음은 모든 커널 매핑의 모듈 교체를 위한 예입니다.
이 예에서 moduleLoader
Pod는 inTreeModuleToRemove
을 사용하여 moduleLoader
이미지에서 mod_a
를 로드하기 전에 in-tree mod_b
를 언로드합니다. moduleLoader`pod is terminated and `mod_a
가 언로드되면 mod_b
가 다시 로드되지 않습니다.
다음은 특정 커널 매핑의 모듈 교체를 위한 예입니다.
4.5.1. 모듈 CR의 예 링크 복사링크가 클립보드에 복사되었습니다!
다음은 주석 처리 Module
예제입니다.
- 1 1 1
- 필수 항목입니다.
- 2
- 선택 사항:
- 3
- 선택 사항:
/firmware/*
를 노드의/var/lib/firmware/
로 복사합니다. - 4
- 선택 사항:
- 5
- 하나 이상의 커널 항목이 필요합니다.
- 6
- 정규 표현식과 일치하는 커널을 실행하는 각 노드의 KMM은
${KERNEL_FULL_VERSION}
을 사용하여containerImage
에 지정된 이미지를 실행하는DaemonSet
리소스를 커널 버전으로 대체합니다. - 7
- 다른 커널의 경우
my-kmod
ConfigMap의 Dockerfile을 사용하여 이미지를 빌드합니다. - 8
- 선택 사항:
- 9
- 선택 사항:
some-kubernetes-secret
의 값은/run/secrets/some-kubernetes-secret
의 빌드 환경에서 가져올 수 있습니다. - 10
- 선택 사항: 이 매개변수를 사용하지 마십시오.
true
로 설정하면 빌드에서 일반 HTTP를 사용하여 DockerfileFROM
명령에서 이미지를 가져올 수 있습니다. - 11
- 선택 사항: 이 매개변수를 사용하지 마십시오.
true
로 설정하면 빌드에서 일반 HTTP를 사용하여 DockerfileFROM
명령에서 이미지를 가져올 때 모든 TLS 서버 인증서 검증을 건너뜁니다. - 12
- 필수 항목입니다.
- 13
- 필수: 'cert' 키가 있는 공용 secureboot 키를 보유한 시크릿입니다.
- 14
- 필수: 키가 'key'인 개인 secureboot 키를 보유한 시크릿입니다.
- 15
- 선택 사항: 이 매개변수를 사용하지 마십시오.
true
로 설정하면 KMM이 일반 HTTP를 사용하여 컨테이너 이미지가 이미 존재하는지 확인할 수 있습니다. - 16
- 선택 사항: 이 매개변수를 사용하지 마십시오.
true
로 설정하면 KMM은 컨테이너 이미지가 이미 존재하는지 확인할 때 모든 TLS 서버 인증서 검증을 건너뜁니다. - 17
- 선택 사항:
- 18
- 선택 사항:
- 19
- 필수: 장치 플러그인 섹션이 있는 경우
- 20
- 선택 사항:
- 21
- 선택 사항:
- 22
- 선택 사항:
- 23
- 선택 사항: 모듈 로더 및 장치 플러그인 이미지를 가져오는 데 사용됩니다.