1.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
次の 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
次のコマンドを実行して、namespace にポリシーを作成します。
# oc create -f policy-lvm-operator.yaml -n lvm-policy-ns
ここで、
policy-lvm-operator.yaml
は、ポリシーが保存されるファイルの名前です。これにより、namespace
lvm-policy-ns
にPolicy
、PlacementRule
、およびPlacementBinding
が作成されます。Policy
は、PlacementRule に一致するクラスター上にNamespace
、OperatorGroup
、Subscription
、およびLVMCluster
リソースを作成します。これにより、選択基準に一致する SNO クラスターで Operator をデプロイし、ストレージをプロビジョニングするのに必要なリソースを設定するように設定します。operator は、インストール後に未使用のディスクをすべて使用します。