Menu Close

5.4.2. 작업자 노드에 결과 서버 Pod 예약

결과 서버 포드는 원시 자산 보고 형식(ARF)을 저장하는 PV(영구 볼륨)를 마운트합니다. nodeSelectortolerations 특성을 사용하면 결과 서버 포드의 위치를 구성할 수 있습니다.

이는 컨트롤 플레인 노드가 영구 볼륨을 마운트할 수 없는 환경에 유용합니다.

프로세스

  • Compliance Operator의 ScanSetting CR(사용자 정의 리소스)을 생성합니다.

    1. ScanSetting CR을 정의하고 YAML 파일을 저장합니다(예: rs-workers.yaml ):

      apiVersion: compliance.openshift.io/v1alpha1
      kind: ScanSetting
      metadata:
        name: rs-on-workers
        namespace: openshift-compliance
      rawResultStorage:
        nodeSelector:
          node-role.kubernetes.io/worker: "" 1
        pvAccessModes:
        - ReadWriteOnce
        rotation: 3
        size: 1Gi
        tolerations:
        - operator: Exists 2
      roles:
      - worker
      - master
      scanTolerations:
        - operator: Exists
      schedule: 0 1 * * *
      1
      Compliance Operator는 이 노드를 사용하여 검사 결과를 ARF 형식으로 저장합니다.
      2
      결과 서버 Pod는 모든 테인트를 허용합니다.
    2. ScanSetting CR을 생성하려면 다음 명령을 실행합니다.

      $ oc create -f rs-workers.yaml

검증

  • ScanSetting 오브젝트가 생성되었는지 확인하려면 다음 명령을 실행합니다.

    $ oc get scansettings rs-on-workers -n openshift-compliance -o yaml

    출력 예

    apiVersion: compliance.openshift.io/v1alpha1
    kind: ScanSetting
    metadata:
      creationTimestamp: "2021-11-19T19:36:36Z"
      generation: 1
      name: rs-on-workers
      namespace: openshift-compliance
      resourceVersion: "48305"
      uid: 43fdfc5f-15a7-445a-8bbc-0e4a160cd46e
    rawResultStorage:
      nodeSelector:
        node-role.kubernetes.io/worker: ""
      pvAccessModes:
      - ReadWriteOnce
      rotation: 3
      size: 1Gi
      tolerations:
      - operator: Exists
    roles:
    - worker
    - master
    scanTolerations:
    - operator: Exists
    schedule: 0 1 * * *
    strictNodeScan: true