6.3.6. カスタム File Integrity Operator 設定の定義

この例では、worker-fileintegrity CR に提供されるデフォルト設定に基づいてコントロールプレーンノード (別名マスターノード) で実行されるスキャナーのカスタム設定を定義することに重点を置いています。このワークフローは、デーモンセットとして実行されているカスタムソフトウェアをデプロイし、そのデータをコントロールプレーンノードの /opt/mydaemon の下に保存する場合に役立ちます。

手順

  1. デフォルト設定のコピーを作成します。
  2. デフォルト設定を、監視するか、除外する必要があるファイルで編集します。
  3. 編集したコンテンツを新たな設定マップに保存します。
  4. spec.config の属性を使用して、FileIntegrity オブジェクトを新規の設定マップにポイントします。
  5. デフォルト設定を抽出します。

    $ oc extract cm/worker-fileintegrity --keys=aide.conf

    これにより、編集可能な aide.conf という名前のファイルが作成されます。この例では、Operator のパスの後処理方法を説明するために、プレフィックスなしで除外ディレクトリーを追加します。

    $ vim aide.conf

    出力例

    /hostroot/etc/kubernetes/static-pod-resources
    !/hostroot/etc/kubernetes/aide.*
    !/hostroot/etc/kubernetes/manifests
    !/hostroot/etc/docker/certs.d
    !/hostroot/etc/selinux/targeted
    !/hostroot/etc/openvswitch/conf.db

    コントロールプレーンノードに固有のパスを除外します。

    !/opt/mydaemon/

    その他のコンテンツを /etc に保存します。

    /hostroot/etc/	CONTENT_EX
  6. このファイルに基づいて設定マップを作成します。

    $ oc create cm master-aide-conf --from-file=aide.conf
  7. 設定マップを参照する FileIntegrity CR マニフェストを定義します。

    apiVersion: fileintegrity.openshift.io/v1alpha1
    kind: FileIntegrity
    metadata:
      name: master-fileintegrity
      namespace: openshift-file-integrity
    spec:
      nodeSelector:
          node-role.kubernetes.io/master: ""
      config:
          name: master-aide-conf
          namespace: openshift-file-integrity

    Operator は指定された設定マップファイルを処理し、結果を FileIntegrity オブジェクトと同じ名前の設定マップに保存します。

    $ oc describe cm/master-fileintegrity | grep /opt/mydaemon

    出力例

    !/hostroot/opt/mydaemon