4.2. Kernel Module Management Operator 설치

클러스터 관리자는 OpenShift CLI 또는 웹 콘솔을 사용하여 KMM(커널 모듈 관리) Operator를 설치할 수 있습니다.

KMM Operator는 OpenShift Container Platform 4.12 이상에서 지원됩니다. 버전 4.11에 KMM을 설치하려면 특정 추가 단계가 필요하지 않습니다. 버전 4.10 및 이전 버전에 KMM을 설치하는 방법에 대한 자세한 내용은 "이전 버전의 OpenShift Container Platform에 Kernel Module Management Operator 설치" 섹션을 참조하십시오.

4.2.1. 웹 콘솔을 사용하여 Kernel Module Management Operator 설치

클러스터 관리자는 OpenShift Container Platform 웹 콘솔을 사용하여 KMM(커널 모듈 관리) Operator를 설치할 수 있습니다.

절차

  1. OpenShift Container Platform 웹 콘솔에 로그인합니다.
  2. Kernel Module Management Operator를 설치합니다.

    1. OpenShift Container Platform 웹 콘솔에서 OperatorOperatorHub를 클릭합니다.
    2. 사용 가능한 Operator 목록에서 Kernel Module Management Operator 를 선택한 다음 설치를 클릭합니다.
    3. Operator 설치 페이지에서 설치 모드를 클러스터의 특정 네임스페이스 로 선택합니다.
    4. Installed Namespace 목록에서 openshift-kmm 네임스페이스를 선택합니다.
    5. 설치를 클릭합니다.

검증

KMM Operator가 설치되었는지 확인하려면 다음을 수행하십시오.

  1. Operator설치된 Operator 페이지로 이동합니다.
  2. Kernel Module Management Operatoropenshift-kmm 프로젝트에 InstallSucceeded 상태로 나열되어 있는지 확인합니다.

    참고

    설치하는 동안 Operator는 실패 상태를 표시할 수 있습니다. 나중에 InstallSucceeded 메시지와 함께 설치에 성공하면 이 실패 메시지를 무시할 수 있습니다.

문제 해결

  1. Operator 설치 문제를 해결하려면 다음을 수행합니다.

    1. Operator설치된 Operator 페이지로 이동하고 Operator 서브스크립션설치 계획 탭의 상태에 장애나 오류가 있는지 검사합니다.
    2. 워크로드Pod 페이지로 이동하여 openshift-kmm 프로젝트에서 Pod 로그를 확인합니다.

4.2.2. CLI를 사용하여 Kernel Module Management Operator 설치

클러스터 관리자는 OpenShift CLI를 사용하여 KMM(커널 모듈 관리) Operator를 설치할 수 있습니다.

사전 요구 사항

  • 실행 중인 OpenShift Container Platform 클러스터가 있어야 합니다.
  • OpenShift CLI(oc)를 설치합니다.
  • cluster-admin 권한이 있는 사용자로 OpenShift CLI에 로그인했습니다.

절차

  1. openshift-kmm 네임스페이스에 KMM을 설치합니다.

    1. 다음 Namespace CR을 생성하고 YAML 파일을 저장합니다(예: kmm-namespace.yaml ).

      apiVersion: v1
      kind: Namespace
      metadata:
        name: openshift-kmm
    2. 다음 OperatorGroup CR을 생성하고 YAML 파일을 저장합니다(예: kmm-op-group.yaml ).

      apiVersion: operators.coreos.com/v1
      kind: OperatorGroup
      metadata:
        name: kernel-module-management
        namespace: openshift-kmm
    3. 다음 Subscription CR을 생성하고 YAML 파일을 저장합니다(예: kmm-sub.yaml ).

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: kernel-module-management
        namespace: openshift-kmm
      spec:
        channel: release-1.0
        installPlanApproval: Automatic
        name: kernel-module-management
        source: redhat-operators
        sourceNamespace: openshift-marketplace
        startingCSV: kernel-module-management.v1.0.0
    4. 다음 명령을 실행하여 서브스크립션 오브젝트를 생성합니다.

      $ oc create -f kmm-sub.yaml

검증

  • Operator 배포가 완료되었는지 확인하려면 다음 명령을 실행합니다.

    $ oc get -n openshift-kmm deployments.apps kmm-operator-controller-manager

    출력 예

    NAME                              READY UP-TO-DATE  AVAILABLE AGE
    kmm-operator-controller-manager   1/1   1           1         97s

    Operator를 사용할 수 있습니다.

4.2.3. 이전 버전의 OpenShift Container Platform에 Kernel Module Management Operator 설치

KMM Operator는 OpenShift Container Platform 4.12 이상에서 지원됩니다. 버전 4.10 및 이전 버전의 경우 새 SecurityContextConstraint 오브젝트를 생성하여 Operator의 ServiceAccount 에 바인딩해야 합니다. 클러스터 관리자는 OpenShift CLI를 사용하여 KMM(커널 모듈 관리) Operator를 설치할 수 있습니다.

사전 요구 사항

  • 실행 중인 OpenShift Container Platform 클러스터가 있어야 합니다.
  • OpenShift CLI(oc)를 설치합니다.
  • cluster-admin 권한이 있는 사용자로 OpenShift CLI에 로그인했습니다.

절차

  1. openshift-kmm 네임스페이스에 KMM을 설치합니다.

    1. 다음 Namespace CR을 생성하고 YAML 파일을 저장합니다(예: kmm-namespace.yaml ).

      apiVersion: v1
      kind: Namespace
      metadata:
        name: openshift-kmm
    2. 다음 SecurityContextConstraint 오브젝트를 생성하고 YAML 파일을 저장합니다(예: kmm-security-constraint.yaml:).

      allowHostDirVolumePlugin: false
      allowHostIPC: false
      allowHostNetwork: false
      allowHostPID: false
      allowHostPorts: false
      allowPrivilegeEscalation: false
      allowPrivilegedContainer: false
      allowedCapabilities:
        - NET_BIND_SERVICE
      apiVersion: security.openshift.io/v1
      defaultAddCapabilities: null
      fsGroup:
        type: MustRunAs
      groups: []
      kind: SecurityContextConstraints
      metadata:
        name: restricted-v2
      priority: null
      readOnlyRootFilesystem: false
      requiredDropCapabilities:
        - ALL
      runAsUser:
        type: MustRunAsRange
      seLinuxContext:
        type: MustRunAs
      seccompProfiles:
        - runtime/default
      supplementalGroups:
        type: RunAsAny
      users: []
      volumes:
        - configMap
        - downwardAPI
        - emptyDir
        - persistentVolumeClaim
        - projected
        - secret
    3. 다음 명령을 실행하여 SecurityContextConstraint 오브젝트를 Operator의 ServiceAccount 에 바인딩합니다.

      $ oc apply -f kmm-security-constraint.yaml
      $ oc adm policy add-scc-to-user kmm-security-constraint -z kmm-operator-controller-manager -n openshift-kmm
    4. 다음 OperatorGroup CR을 생성하고 YAML 파일을 저장합니다(예: kmm-op-group.yaml ).

      apiVersion: operators.coreos.com/v1
      kind: OperatorGroup
      metadata:
        name: kernel-module-management
        namespace: openshift-kmm
    5. 다음 Subscription CR을 생성하고 YAML 파일을 저장합니다(예: kmm-sub.yaml ).

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: kernel-module-management
        namespace: openshift-kmm
      spec:
        channel: release-1.0
        installPlanApproval: Automatic
        name: kernel-module-management
        source: redhat-operators
        sourceNamespace: openshift-marketplace
        startingCSV: kernel-module-management.v1.0.0
    6. 다음 명령을 실행하여 서브스크립션 오브젝트를 생성합니다.

      $ oc create -f kmm-sub.yaml

검증

  • Operator 배포가 완료되었는지 확인하려면 다음 명령을 실행합니다.

    $ oc get -n openshift-kmm deployments.apps kmm-operator-controller-manager

    출력 예

    NAME                              READY UP-TO-DATE  AVAILABLE AGE
    kmm-operator-controller-manager   1/1   1           1         97s

    Operator를 사용할 수 있습니다.