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 は、ノード上の利用可能なすべてのディスクを使用するため、唯一のストレージプロビジョナーである必要があります。

手順

  1. OpenShift 認証情報を使用して RHACM CLI にログインします。

    詳細は、Install Red Hat Advanced Cluster Management for Kubernetes を参照してください。

  2. ポリシーを作成する namespace を作成します。

    # 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. 次のコマンドを実行して、namespace にポリシーを作成します。

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

    ここで、policy-lvm-operator.yaml は、ポリシーが保存されるファイルの名前です。

    これにより、namespace lvm-policy-nsPolicyPlacementRule、および PlacementBinding が作成されます。Policy は、PlacementRule に一致するクラスター上に NamespaceOperatorGroupSubscription、および LVMCluster リソースを作成します。これにより、選択基準に一致する SNO クラスターで Operator をデプロイし、ストレージをプロビジョニングするのに必要なリソースを設定するように設定します。operator は、インストール後に未使用のディスクをすべて使用します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.