1.2. RHACM을 사용하여 OpenShift Data Foundation Logical Volume Manager Operator 설치


OpenShift Data Foundation Logical Volume Manager Operator는 RHACM(Red Hat Advanced Cluster Management for Kubernetes)을 사용하여 단일 노드 OpenShift(SNO) 클러스터에 배포됩니다. RHACM에 정책을 생성하여 PlacementRule 에 지정된 선택기와 일치하는 관리 클러스터에 Operator를 적용하고 구성합니다. 이 정책은 나중에 가져오고 PlacementRule 을 충족하는 클러스터에도 적용됩니다.

사전 요구 사항

  • cluster-admin 및 operator 설치 권한이 있는 계정을 사용하여 RHACM 클러스터에 액세스합니다.
  • OpenShift Data Foundation Logical Volume Manager Operator에서 사용할 각 SNO 클러스터의 전용 디스크입니다.
참고

SNO 클러스터에 다른 스토리지 프로비저너가 설치되지 않았는지 확인합니다. OpenShift Data Foundation Logical Volume Manager Operator는 노드에서 사용 가능한 모든 디스크를 사용하므로 유일한 스토리지 프로비저너여야 합니다.

절차

  1. OpenShift 자격 증명을 사용하여 RHACM CLI에 로그인합니다.

    자세한 내용은 Kubernetes용 Red Hat 고급 클러스터 관리 설치를 참조하십시오.

  2. 정책을 생성할 네임스페이스를 생성합니다.

    # oc create ns lvm-policy-ns
  3. 다음 YAML을 policy-lvm-operator.yaml 과 같은 이름의 파일에 저장하여 정책을 생성합니다.

    # This policy verifies the installation of the official version of the {product-name-short}
    # Logical Volume Manager Operator on the managed clusters.
    # If set to "enforce" it installs the operator.
    # Used APIs: OLM, ODF-LVMO #https://github.com/operator-framework/operator-lifecycle-manager
    # https://github.com/red-hat-storage/lvm-operator
    
    apiVersion: apps.open-cluster-management.io/v1
    kind: PlacementRule
    metadata:
      name: placement-install-odf-lvm-operator
    spec:
      clusterConditions:
      - status: "True"
        type: ManagedClusterConditionAvailable
      clusterSelector:
        matchExpressions:
        - key: vendor
          operator: In
          values:
          - OpenShift
    ---
    apiVersion: policy.open-cluster-management.io/v1
    kind: PlacementBinding
    metadata:
      name: binding-install-odf-lvm-operator
    placementRef:
      apiGroup: apps.open-cluster-management.io
      kind: PlacementRule
      name: placement-install-odf-lvm-operator
    subjects:
    - apiGroup: policy.open-cluster-management.io
      kind: Policy
      name: install-odf-lvm-operator
    ---
    apiVersion: policy.open-cluster-management.io/v1
    kind: Policy
    metadata:
      annotations:
        policy.open-cluster-management.io/categories: CM Configuration Management
        policy.open-cluster-management.io/controls: CM-2 Baseline Configuration
        policy.open-cluster-management.io/standards: NIST SP 800-53
      name: install-odf-lvm-operator
    spec:
      disabled: false
      remediationAction: enforce
      policy-templates:
      - objectDefinition:
          apiVersion: policy.open-cluster-management.io/v1
          kind: ConfigurationPolicy
          metadata:
            name: install-odf-lvm-operator
          spec:
            object-templates:
            - complianceType: musthave
              objectDefinition:
                apiVersion: v1
                kind: Namespace
                metadata:
                  labels:
                    openshift.io/cluster-monitoring: "true"
                    pod-security.kubernetes.io/enforce: privileged
                    pod-security.kubernetes.io/audit: privileged
                    pod-security.kubernetes.io/warn: privileged
                  name: openshift-storage
            - complianceType: musthave
              objectDefinition:
                apiVersion: operators.coreos.com/v1
                kind: OperatorGroup
                metadata:
                  name: openshift-storage-operatorgroup
                  namespace: openshift-storage
                spec:
                  targetNamespaces:
                  - openshift-storage
            - complianceType: musthave
              objectDefinition:
                apiVersion: operators.coreos.com/v1alpha1
                kind: Subscription
                metadata:
                  name: odf-lvm-operator
                  namespace: openshift-storage
                spec:
                  installPlanApproval: Automatic
                  name: odf-lvm-operator
                  source: redhat-operators
                  sourceNamespace: openshift-marketplace
            remediationAction: enforce
            severity: low
      - objectDefinition:
          apiVersion: policy.open-cluster-management.io/v1
          kind: ConfigurationPolicy
          metadata:
            name: odf-lvmcluster
          spec:
            object-templates:
               - complianceType: musthave
                 objectDefinition:
                   apiVersion: lvm.topolvm.io/v1alpha1
                   kind: LVMCluster
                   metadata:
                     name: odf-lvmcluster
                     namespace: openshift-storage
                   spec:
                     storage:
                       deviceClasses:
                       - name: vg1
                         thinPoolConfig:
                           name: thin-pool-1
                           sizePercent: 90
                           overprovisionRatio: 10
            remediationAction: enforce
            severity: low
  4. 다음 명령을 실행하여 네임스페이스에 정책을 생성합니다.

    # oc create -f policy-lvm-operator.yaml -n lvm-policy-ns

    여기서 policy-lvm-operator.yaml 은 정책이 저장되는 파일의 이름입니다.

    이렇게 하면 정책, PlacementRule, 네임스페이스 lvm-policy-nsPlacementBinding 이 생성됩니다. Policy 는 PlacementRule과 일치하는 클러스터에 Namespace,OperatorGroup,Subscription, LVMCluster 리소스를 생성합니다. 이렇게 하면 선택 기준과 일치하는 SNO 클러스터에 Operator를 배포하고 스토리지를 프로비저닝하는 데 필요한 리소스를 설정하도록 구성합니다. Operator는 설치 후 사용되지 않은 모든 디스크를 사용합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.