1.3.2. OpenShift Container Platform에 커널 모듈 프로비저닝


OpenShift Container Platform 클러스터를 처음 부팅할 때 커널 모듈을 활성화할 필요가 있는지 여부에 따라 다음 두 가지 방법 중 하나로 커널 모듈을 배포하도록 설정할 수 있습니다.

  • 클러스터 설치시 커널 모듈 프로비저닝 (day-1): MachineConfig 개체를 통해 콘텐츠를 작성하고 매니페스트 파일 세트와 함께 openshift-install에 제공할 수 있습니다.
  • Machine Config Operator를 통해 커널 모듈 프로비저닝 (day-2): 커널 모듈을 추가하기 위해 클러스터가 가동 될 때까지 대기할 경우 MCO (Machine Config Operator)를 통해 커널 모듈 소프트웨어를 배포할 수 있습니다.

두 경우 모두 새 커널이 감지되면 각 노드에서 커널 소프트웨어 패키지 및 관련 소프트웨어 패키지를 가져올 수 있어야 합니다. 해당 콘텐츠를 가져올 수 있도록 각 노드를 설정할 수있는 몇 가지 방법이 있습니다.

  • 각 노드에 RHEL 인타이틀먼트를 제공합니다.
  • / etc / pki / entitlement 디렉터리에서 기존 RHEL 호스트의 RHEL 인타이틀먼트를 취득하고 Ignition 설정을 빌드할 때 제공하는 다른 파일과 동일한 위치에 복사합니다.
  • Dockerfile에서 커널 및 기타 패키지가 포함된 yum 저장소에 대한 포인터를 추가합니다. 여기에는 새로 설치된 커널과 일치해야하므로 새 커널 패키지가 포함되어 있어야합니다.

1.3.2.1. MachineConfig 개체를 통한 커널 모듈 프로비저닝

MachineConfig 개체로 커널 모듈 소프트웨어를 패키지하면 설치시 또는 Machine Config Operator를 통해 해당 소프트웨어를 작업자 또는 컨트롤 플레인 노드에 전달할 수 있습니다.

프로세스

  1. RHEL 8 시스템을 등록합니다.

    # subscription-manager register
  2. RHEL 8 시스템에 서브스크립션을 연결합니다.

    # subscription-manager attach --auto
  3. 소프트웨어를 빌드하는 데 필요한 소프트웨어를 설치합니다.

    # yum install podman make git -y
  4. 커널 모듈 및 툴을 호스팅할 디렉터리를 생성합니다.

    $ mkdir kmods; cd kmods
  5. kmods-via-containers 소프트웨어를 가져옵니다:

    1. kmods-via-containers 저장소를 복제합니다.

      $ git clone https://github.com/kmods-via-containers/kmods-via-containers
    2. kvc-simple-kmod 저장소를 복제합니다.

      $ git clone https://github.com/kmods-via-containers/kvc-simple-kmod
  6. 모듈 소프트웨어를 가져옵니다. 이 예에서는 kvc-simple-kmod가 사용됩니다.
  7. 이전에 복제된 리포지토리를 사용하여 fakeroot 디렉터리를 만들고 Ignition을 통해 전달할 파일을 이 디렉터리에 배치합니다.

    1. 디렉터리를 만듭니다.

      $ FAKEROOT=$(mktemp -d)
    2. kmod-via-containers 디렉터리로 변경합니다.

      $ cd kmods-via-containers
    3. KVC 프레임워크 인스턴스를 설치합니다.

      $ make install DESTDIR=${FAKEROOT}/usr/local CONFDIR=${FAKEROOT}/etc/
    4. kvc-simple-kmod 디렉터리로 변경합니다.

      $ cd ../kvc-simple-kmod
    5. 인스턴스를 생성합니다.

      $ make install DESTDIR=${FAKEROOT}/usr/local CONFDIR=${FAKEROOT}/etc/
  8. 다음 명령을 실행하여 fakeroot 디렉토리를 복제하고 모든 심볼릭 링크를 대상 복사본으로 교체합니다.

    $ cd .. && rm -rf kmod-tree && cp -Lpr ${FAKEROOT} kmod-tree
  9. 커널 모듈 트리를 포함하는 Butane 구성 파일 99-simple-kmod.bu를 생성하고 systemd 서비스를 활성화합니다.

    참고

    Butane에 대한 자세한 내용은 “Butane 을 사용하여 머신 구성 생성”을 참조하십시오.

    variant: openshift
    version: 4.13.0
    metadata:
      name: 99-simple-kmod
      labels:
        machineconfiguration.openshift.io/role: worker 
    1
    
    storage:
      trees:
        - local: kmod-tree
    systemd:
      units:
        - name: kmods-via-containers@simple-kmod.service
          enabled: true
    1
    컨트롤 플레인 노드에 배포하려면 workermaster로 변경합니다. 컨트롤 플레인 및 작업자 노드에 모두 배포하려면 각 노드 유형에 대해 이러한 지침의 나머지 부분을 한 번씩 수행합니다.
  10. Butane을 사용하여 전달할 파일과 구성이 포함된 머신 구성 YAML 파일 99-simple-kmod.yaml을 생성합니다.

    $ butane 99-simple-kmod.bu --files-dir . -o 99-simple-kmod.yaml
  11. 클러스터가 아직 작동하지 않은 경우 매니페스트 파일을 생성하고 해당 파일을 openshift 디렉터리에 추가합니다. 클러스터가 이미 실행중인 경우 다음과 같이 파일을 적용합니다.

    $ oc create -f 99-simple-kmod.yaml

    노드는 kmods-via-containers@simple-kmod.service 서비스를 시작하고 커널 모듈이 로드됩니다.

  12. 커널 모듈이 로드되었는지 확인하려면 oc debug node / <openshift-node>를 사용 후 chroot / host를 사용하여 노드에 로그인할 수 있습니다. 모듈을 나열하려면 lsmod 명령을 사용합니다.

    $ lsmod | grep simple_

    출력 예

    simple_procfs_kmod     16384  0
    simple_kmod            16384  0

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동