第2章 RHACM を使用した OpenShift Data Foundation Logical Volume Manager Operator のインストール
OpenShift Data Foundation Logical Volume Manager Operator は、Red Hat Advanced Cluster Management for Kubernetes (RHACM) を使用して単一ノード OpenShift (SNO) クラスターにデプロイされます。RHACM に Policy を作成して、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 にログインします。
詳細は、Install Red Hat Advanced Cluster Management for Kubernetes を参照してください。
namespace を作成します。
# oc create ns lvm-policy-ns
namespace にポリシー YAML を作成します。
# This policy verifies the installation of the official version of the OpenShift Data Foundation # 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: 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: policy-lvm-operator spec: disabled: false remediationAction: enforce policy-templates: - objectDefinition: apiVersion: policy.open-cluster-management.io/v1 kind: ConfigurationPolicy metadata: name: policy-lvm-namespace spec: object-templates: - complianceType: musthave objectDefinition: apiVersion: v1 kind: Namespace metadata: name: openshift-storage labels: openshift.io/cluster-monitoring: "true" remediationAction: enforce severity: high - objectDefinition: apiVersion: policy.open-cluster-management.io/v1 kind: ConfigurationPolicy metadata: name: policy-lvm-operator-operatorgroup spec: object-templates: - complianceType: musthave objectDefinition: apiVersion: operators.coreos.com/v1alpha2 kind: OperatorGroup metadata: name: openshift-storage-operatorgroup namespace: openshift-storage spec: targetNamespaces: - openshift-storage remediationAction: enforce severity: high - objectDefinition: apiVersion: policy.open-cluster-management.io/v1 kind: ConfigurationPolicy metadata: name: policy-lvm-operator-subscription spec: object-templates: - complianceType: musthave objectDefinition: apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: odf-lvm-operator namespace: openshift-storage spec: channel: stable-4.10 installPlanApproval: Automatic name: odf-lvm-operator source: redhat-operators sourceNamespace: openshift-marketplace startingCSV: odf-lvm-operator.v4.10.0 remediationAction: enforce severity: high - objectDefinition: apiVersion: policy.open-cluster-management.io/v1 kind: ConfigurationPolicy metadata: name: policy-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 remediationAction: enforce severity: high
次のコマンドを実行します。
# oc create -f policy-lvm-operator.yaml -n lvm-policy-ns
これにより、
Policy
、PlacementRule
、およびPlacementBinding
が作成されます。Policy
はNamespace
、OperatorGroup
、Subscription
、およびLVMCluster
リソースを作成します。これにより、選択基準に一致する SNO クラスターで Operator をデプロイし、ストレージをプロビジョニングするのに必要なリソースを設定するように設定します。operator は、インストール後に未使用のディスクをすべて使用します。