5.8. 检索 Compliance Operator 原始结果
为 OpenShift Container Platform 集群提供合规性时,您可能需要提供扫描结果以供审核。
5.8.1. 从持久性卷中获取 Compliance Operator 原始结果
流程
Compliance Operator 生成原始结果并将其存储在持久性卷中。这些结果采用资产报告格式 (ARF)。
探索
ComplianceSuite
对象:$ oc get compliancesuites nist-moderate-modified -o json \ | jq '.status.scanStatuses[].resultsStorage' { "name": "rhcos4-moderate-worker", "namespace": "openshift-compliance" } { "name": "rhcos4-moderate-master", "namespace": "openshift-compliance" }
这显示了可以访问原始结果的持久性卷声明。
使用其中一个结果的名称和命名空间来验证原始数据位置:
$ oc get pvc -n openshift-compliance rhcos4-moderate-worker
输出示例
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE rhcos4-moderate-worker Bound pvc-548f6cfe-164b-42fe-ba13-a07cfbc77f3a 1Gi RWO gp2 92m
通过生成挂载卷并复制结果的 Pod 来获取原始结果:
Pod 示例
apiVersion: "v1" kind: Pod metadata: name: pv-extract spec: containers: - name: pv-extract-pod image: registry.access.redhat.com/ubi8/ubi command: ["sleep", "3000"] volumeMounts: - mountPath: "/workers-scan-results" name: workers-scan-vol volumes: - name: workers-scan-vol persistentVolumeClaim: claimName: rhcos4-moderate-worker
Pod 运行后,下载结果:
$ oc cp pv-extract:/workers-scan-results .
重要生成挂载持久性卷的 Pod 会将声明保留为
Bound
。如果使用中的卷存储类的权限设置为ReadWriteOnce
,则该卷每次只能被一个 Pod 挂载。您必须在完成后删除 Pod,否则 Operator 将无法调度 Pod 并继续在此位置存储结果。提取完成后,可以删除 Pod:
$ oc delete pod pv-extract