4.22. Day 0 through Day 2 kmod 설치
KMM(커널 모듈 관리) 없이 0일에서 2일까지 일부 커널 모듈(kmods)을 설치할 수 있습니다. 이는 kmods를 KMM으로 전환하는 데 도움이 될 수 있습니다.
다음 기준을 사용하여 적절한 kmod 설치를 확인합니다.
- 0일
노드가 클러스터에서
준비되도록 하는 데 필요한 가장 기본적인 kmod입니다. 이러한 유형의 kmods의 예는 다음과 같습니다.- 부팅 프로세스의 일부로 rootFS를 마운트하는 데 필요한 스토리지 드라이버
-
머신이 부트스트랩 노드의
machine-config-server에 액세스하여 ignition을 가져오고 클러스터에 가입하는 데 필요한 네트워크 드라이버
- 1일
노드가 클러스터에서
Ready가 되는 데 필요하지 않지만 노드가Ready되면 언로드할 수 없는 kmods입니다.이러한 유형의 kmod는
NetworkManager가 의존하는 동안 오래된 in-tree 드라이버를 교체하여 NIC의 전체 가능성을 악용하는 OOT(out-of-tree) 네트워크 드라이버입니다. 노드가준비되면NetworkManager종속성으로 인해 드라이버를 언로드할 수 없습니다.- 2일
클러스터 인프라(예: 연결)를 방해하지 않고 커널에 동적으로 로드하거나 제거할 수 있는kmod입니다.
이러한 유형의 kmods의 예는 다음과 같습니다.
- GPU Operator
- 보조 네트워크 어댑터
- FGA(Field-programmable gate arrays)
4.22.1. 계층화 배경 링크 복사링크가 클립보드에 복사되었습니다!
0일 차가 클러스터에 설치되면 MCO(Machine Config Operator)를 통해 계층 지정이 적용되고 OpenShift Container Platform 업그레이드로 인해 노드 업그레이드가 트리거되지 않습니다.
노드의 운영 체제가 동일하게 유지되므로 새 기능을 추가하는 경우에만 드라이버를 다시 컴파일해야 합니다.
4.22.2. 라이프사이클 관리 링크 복사링크가 클립보드에 복사되었습니다!
KMM을 활용하여 드라이버에서 허용하면 재부팅하지 않고 kmods의 Day 0 through Day 2 라이프사이클을 관리할 수 있습니다.
이는 업그레이드에 노드 재부팅이 필요한 경우(예: initramfs 파일을 다시 빌드해야 하는 경우) 작동하지 않습니다.
라이프사이클 관리에 다음 옵션 중 하나를 사용합니다.
4.22.2.1. kmod를 in-tree 드라이버로 처리 링크 복사링크가 클립보드에 복사되었습니다!
kmods를 업그레이드하려면 이 방법을 사용합니다. 이 경우 kmod를 in-tree 드라이버로 처리하고 inTreeRemoval 필드가 있는 클러스터에 모듈을 생성하여 이전 버전의 드라이버를 언로드합니다.
kmod를 in-tree 드라이버로 취급하는 다음과 같은 특성을 기록해 둡니다.
- KMM이 선택한 모든 노드에서 동시에 kmod를 언로드하고 로드하면 다운타임이 발생할 수 있습니다.
- KMM은 단일 Pod를 사용하여 드라이버를 언로드하고 로드하기 때문에 드라이버를 제거하면 노드가 연결이 끊어집니다.
4.22.2.2. 순서가 지정된 업그레이드 사용 링크 복사링크가 클립보드에 복사되었습니다!
kmods가 이미 로드되어 있으므로 순서가 지정된 업그레이드(ordered_upgrade.md)를 사용하여 kmods를 나타내는 클러스터에 버전 지정된 모듈을 생성할 수 있습니다.
순서가 지정된 업그레이드를 사용하는 경우 다음과 같은 특징이 있습니다.
- 업그레이드 속도와 동시에 업그레이드되는 노드 수를 제어하므로 클러스터 다운타임이 발생하지 않습니다. 따라서 다운타임 없이 업그레이드할 수 있습니다.
- KMM은 언로드를 위해 두 개의 다른 작업자 Pod를 생성하고 로드를 위해 드라이버를 언로드하면 노드에 대한 연결이 끊어집니다. 이러한 Pod는 예약되지 않습니다.