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는 노드에서 사용 가능한 모든 디스크를 사용하므로 유일한 스토리지 프로비저너여야 합니다.
절차
OpenShift 자격 증명을 사용하여 RHACM CLI에 로그인합니다.
자세한 내용은 Kubernetes용 Red Hat 고급 클러스터 관리 설치를 참조하십시오.
정책을 생성할 네임스페이스를 생성합니다.
# oc create ns lvm-policy-ns
다음 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
다음 명령을 실행하여 네임스페이스에 정책을 생성합니다.
# oc create -f policy-lvm-operator.yaml -n lvm-policy-ns
여기서
policy-lvm-operator.yaml
은 정책이 저장되는 파일의 이름입니다.이렇게 하면
정책
,PlacementRule
, 네임스페이스lvm-policy-ns
에PlacementBinding
이 생성됩니다.Policy
는 PlacementRule과 일치하는 클러스터에Namespace
,OperatorGroup
,Subscription
,LVMCluster
리소스를 생성합니다. 이렇게 하면 선택 기준과 일치하는 SNO 클러스터에 Operator를 배포하고 스토리지를 프로비저닝하는 데 필요한 리소스를 설정하도록 구성합니다. Operator는 설치 후 사용되지 않은 모든 디스크를 사용합니다.