5.5. Compliance Operator の管理


5.5.1. Compliance Operator のインストール

Compliance Operator を使用する前に、これがクラスターにデプロイされていることを確認する必要があります。

重要

この Operator を適切に機能させるには、すべてのクラスターノードのリリースバージョンが同じである必要があります。たとえば、RHCOS を実行しているノードの場合、すべてのノードの RHCOS バージョンが同じである必要があります。

重要

Compliance Operator は、OpenShift Dedicated、Red Hat OpenShift Service on AWS Classic、Azure Red Hat OpenShift などのマネージドプラットフォームで誤った結果を報告する場合があります。詳細は、ナレッジベースの記事 Compliance Operator reports incorrect results on Managed Services を参照してください。

重要

Compliance Operator をデプロイする前に、raw の結果出力を保存するためにクラスター内に永続ストレージを定義する必要があります。詳細は、永続ストレージの概要 および デフォルトのストレージクラスの管理 を参照してください。

5.5.1.1. Web コンソールを使用した Compliance Operator のインストール

前提条件

  • admin 権限がある。
  • StorageClass リソースが設定されている。

手順

  1. OpenShift Container Platform Web コンソールで、Ecosystem Software Catalog に移動します。
  2. Compliance Operator を検索し、Install をクリックします。
  3. Installation mode および namespace のデフォルトの選択を維持し、Operator が openshift-compliance namespace にインストールされていることを確認します。
  4. Install をクリックします。

検証

インストールが正常に行われたことを確認するには、以下を実行します。

  1. Ecosystem Installed Operators ページに移動します。
  2. Compliance Operator が openshift-compliance namespace にインストールされ、そのステータスが Succeeded であることを確認します。

Operator が正常にインストールされていない場合、以下を実行します。

  1. Ecosystem Installed Operators ページに移動し、Status 列でエラーまたは失敗の有無を確認します。
  2. Workloads Pods ページに移動し、openshift-compliance プロジェクトの Pod で問題を報告しているログの有無を確認します。
重要

restricted な Security Context Constraints (SCC) が system:authenticated グループを含むように変更されているか、requiredDropCapabilities を追加している場合、権限の問題により Compliance Operator が正しく機能しない可能性があります。

Compliance Operator スキャナー Pod サービスアカウント用のカスタム SCC を作成できます。詳細は Compliance Operator のカスタム SCC の作成 を参照してください。

5.5.1.2. CLI を使用した Compliance Operator のインストール

前提条件

  • admin 権限がある。
  • StorageClass リソースが設定されている。

手順

  1. Namespace オブジェクトを定義します。

    namespace-object.yaml の例

    apiVersion: v1
    kind: Namespace
    metadata:
      labels:
        openshift.io/cluster-monitoring: "true"
        pod-security.kubernetes.io/enforce: privileged 
    1
    
      name: openshift-compliance

    1
    OpenShift Container Platform 4.20 では、Pod セキュリティーラベルを namespace レベルで privileged に設定する必要があります。
  2. Namespace オブジェクトを作成します。

    $ oc create -f namespace-object.yaml
  3. OperatorGroup オブジェクトを定義します。

    operator-group-object.yaml の例

    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: compliance-operator
      namespace: openshift-compliance
    spec:
      targetNamespaces:
      - openshift-compliance

  4. OperatorGroup オブジェクトを作成します。

    $ oc create -f operator-group-object.yaml
  5. Subscription オブジェクトを定義します。

    subscription-object.yaml の例

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: compliance-operator-sub
      namespace: openshift-compliance
    spec:
      channel: "stable"
      installPlanApproval: Automatic
      name: compliance-operator
      source: redhat-operators
      sourceNamespace: openshift-marketplace

  6. Subscription オブジェクトを作成します。

    $ oc create -f subscription-object.yaml
注記

グローバルスケジューラー機能を設定し、defaultNodeSelector を有効にする場合は、namespace を手動で作成し、openshift-compliance namespace または Compliance Operator がインストールされている namespace のアノテーションを openshift.io/node-selector: “” で更新する必要があります。これにより、デフォルトのノードセレクターが削除され、デプロイメントの失敗を防ぐことができます。

検証

  1. CSV ファイルを確認して、インストールが正常に完了したことを確認します。

    $ oc get csv -n openshift-compliance
  2. Compliance Operator が稼働していることを確認します。

    $ oc get deploy -n openshift-compliance

5.5.1.3. ROSA Hosted Control Plane (HCP) への Compliance Operator のインストール

1.5.0 リリース以降の Compliance Operator は、Hosted Control Plane を使用する Red Hat OpenShift Service on AWS に対してテストされています。

Red Hat OpenShift Service on AWS Hosted Control Plane クラスターでは、コントロールプレーンへのアクセスが制限されています。コントロールプレーンは Red Hat によって管理されます。デフォルトでは、Compliance Operator は master ノードプール内のノードをスケジュールの対象とします。このプールは Red Hat OpenShift Service on AWS Hosted Control Plane のインストールでは使用できません。そのため、Operator が利用可能なノードプールでスケジュールできるように、Subscription オブジェクトを設定する必要があります。この手順は、Red Hat OpenShift Service on AWS Hosted Control Plane クラスターへのインストールを正常に行うために必要です。

前提条件

  • admin 権限がある。
  • StorageClass リソースが設定されている。

手順

  1. Namespace オブジェクトを定義します。

    namespace-object.yaml ファイルの例

    apiVersion: v1
    kind: Namespace
    metadata:
      labels:
        openshift.io/cluster-monitoring: "true"
        pod-security.kubernetes.io/enforce: privileged 
    1
    
      name: openshift-compliance

    1
    OpenShift Container Platform 4.20 では、Pod セキュリティーラベルを namespace レベルで privileged に設定する必要があります。
  2. 次のコマンドを実行して、Namespace オブジェクトを作成します。

    $ oc create -f namespace-object.yaml
  3. OperatorGroup オブジェクトを定義します。

    operator-group-object.yaml ファイルの例

    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: compliance-operator
      namespace: openshift-compliance
    spec:
      targetNamespaces:
      - openshift-compliance

  4. 以下のコマンドを実行して OperatorGroup オブジェクトを作成します。

    $ oc create -f operator-group-object.yaml
  5. Subscription オブジェクトを定義します。

    subscription-object.yaml ファイルの例

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: compliance-operator-sub
      namespace: openshift-compliance
    spec:
      channel: "stable"
      installPlanApproval: Automatic
      name: compliance-operator
      source: redhat-operators
      sourceNamespace: openshift-marketplace
      config:
        nodeSelector:
          node-role.kubernetes.io/worker: "" 
    1

    1
    Operator デプロイメントを更新して、worker ノードにデプロイします。
  6. 以下のコマンドを実行して Subscription オブジェクトを作成します。

    $ oc create -f subscription-object.yaml

検証

  1. 次のコマンドを実行してクラスターサービスバージョン (CSV) ファイルを調べ、インストールが成功したことを確認します。

    $ oc get csv -n openshift-compliance
  2. 次のコマンドを使用して、Compliance Operator が起動して実行されていることを確認します。

    $ oc get deploy -n openshift-compliance
重要

restricted な Security Context Constraints (SCC) が system:authenticated グループを含むように変更されているか、requiredDropCapabilities を追加している場合、権限の問題により Compliance Operator が正しく機能しない可能性があります。

Compliance Operator スキャナー Pod サービスアカウント用のカスタム SCC を作成できます。詳細は Compliance Operator のカスタム SCC の作成 を参照してください。

5.5.1.4. Hypershift Hosted Control Plane への Compliance Operator のインストール

Subscription ファイルを作成することで、ソフトウェアカタログを使用して Compliance Operator を Hosted Control Plane にインストールできます。

重要

Hosted Control Plane は、テクノロジープレビュー機能としてのみ利用できます。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

前提条件

  • admin 権限がある。

手順

  1. 以下のような Namespace オブジェクトを定義します。

    namespace-object.yaml の例

    apiVersion: v1
    kind: Namespace
    metadata:
      labels:
        openshift.io/cluster-monitoring: "true"
        pod-security.kubernetes.io/enforce: privileged 
    1
    
      name: openshift-compliance

    1
    OpenShift Container Platform 4.20 では、Pod セキュリティーラベルを namespace レベルで privileged に設定する必要があります。
  2. 次のコマンドを実行して、Namespace オブジェクトを作成します。

    $ oc create -f namespace-object.yaml
  3. OperatorGroup オブジェクトを定義します。

    operator-group-object.yaml の例

    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: compliance-operator
      namespace: openshift-compliance
    spec:
      targetNamespaces:
      - openshift-compliance

  4. 以下のコマンドを実行して OperatorGroup オブジェクトを作成します。

    $ oc create -f operator-group-object.yaml
  5. Subscription オブジェクトを定義します。

    subscription-object.yaml の例

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: compliance-operator-sub
      namespace: openshift-compliance
    spec:
      channel: "stable"
      installPlanApproval: Automatic
      name: compliance-operator
      source: redhat-operators
      sourceNamespace: openshift-marketplace
      config:
        nodeSelector:
          node-role.kubernetes.io/worker: ""
        env:
        - name: PLATFORM
          value: "HyperShift"

  6. 以下のコマンドを実行して Subscription オブジェクトを作成します。

    $ oc create -f subscription-object.yaml

検証

  1. 以下のコマンドを実行して CSV ファイルを検査し、インストールが正常に完了したことを確認します。

    $ oc get csv -n openshift-compliance
  2. 次のコマンドを実行して、Compliance Operator が稼働していることを確認します。

    $ oc get deploy -n openshift-compliance
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る