Compliance Operator 用户指南
版本: 1.0.0
更新日期: 2026-06-08
适用对象: Kubernetes 集群管理员、安全工程师、运维人员
目录
1. 产品简介
1.1 什么是 Compliance Operator?
Compliance Operator 是一个基于 Kubernetes Operator 模式的自动化合规扫描工具,能够帮助您自动检测 Kubernetes 集群是否符合 CIS Benchmark 和 DISA STIG 等安全标准。
1.2 核心价值
- 自动化扫描: 无需手动登录每个节点执行扫描命令
- 统一管理: 通过 Kubernetes CRD 统一管理所有扫描任务
- 历史记录: 自动保存扫描历史,支持趋势分析
- 灵活调度: 支持定时扫描,实现持续合规监控
- 丰富报告: 生成 HTML 和 JSON 格式的合规报告
1.3 工作原理
用户创建 ComplianceScan CRD
↓
Operator 解析配置并创建扫描 Job
↓
Job 在目标节点上执行扫描(kube-bench 或 OpenSCAP)
↓
Operator 收集扫描结果并存储到 ComplianceScanResult CRD
↓
用户查看结果或生成报告
单例模式: 同一时刻集群中只有一个 ComplianceScan CR 会被活跃处理。推荐使用单个 CR,通过修改
spec.scanner并添加触发注解来切换扫描类型(参见 4.1.4 切换到 STIG 合规扫描)。
2. 系统要求
2.1 Kubernetes 集群要求
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| Kubernetes 版本 | 1.19+ | 1.25+ |
2.2 客户端工具要求
| 工具 | 版本要求 | 用途 |
|---|---|---|
| kubectl | 1.19+ | 与集群交互 |
| Helm | 3.2.0+ | 安装 Chart(可选) |
2.3 网络要求
- Operator Pod 需要访问 Kubernetes API Server
- 扫描 Job 需要访问节点文件系统(只读)
- 如果使用定时扫描,需要集群内时间同步
3. 安装部署
3.1 使用 Helm 安装(推荐)
3.1.1 基础安装
# 从本地 Chart 安装
helm install compliance-operator ./charts/compliance-operator \
--namespace compliance-operator-system \
--create-namespace
3.1.2 从源码安装
# 克隆项目
git clone https://gitcode.com/openFuyao/compliance-operator.git
cd compliance-operator
# 安装
helm install compliance-operator ./charts/compliance-operator \
--namespace compliance-operator-system \
--create-namespace
3.1.3 自定义安装
# 使用自定义values 文件
helm install compliance-operator ./charts/compliance-operator \
--namespace compliance-operator-system \
--create-namespace \
--values my-values.yaml
# 或通过命令行参数覆盖helm install compliance-operator ./charts/compliance-operator \
--namespace compliance-operator-system \
--create-namespace \
--set replicaCount=3 \
--set image.tag=v1.0.0
3.1.4 验证安装
# 检查 Pod 状态
kubectl get pods -n compliance-operator-system
# 预期输出:
# NAME READY STATUS RESTARTS AGE
# compliance-operator-xxx-xxx 1/1 Running 0 1m
# 检查 CRD
kubectl get crd | grep compliance
# 预期输出:
# compliancescans.compliance.openfuyao.cn
# compliancescanresults.compliance.openfuyao.cn
# compliancescannoderesults.compliance.openfuyao.cn
# 检查服务账户
kubectl get serviceaccount -n compliance-operator-system
# 预期输出:
# NAME SECRETS AGE
# compliance-operator 0 1m
# compliance-scan-job 0 1m
3.2 使用 kubectl 安装
3.2.1 安装 CRD
kubectl apply -f config/crd/bases/
3.2.2 安装 RBAC
kubectl apply -f config/rbac/
3.2.3 安装 Operator
kubectl apply -f config/manager/
3.2.4 验证安装
kubectl get pods -n compliance-operator-system
kubectl get crd | grep compliance
3.3 升级
# 使用 Helm 升级
helm upgrade compliance-operator ./charts/compliance-operator \
--namespace compliance-operator-system
# 或使用kubectl
kubectl apply -f config/
3.4 卸载
重要:卸载顺序很关键。 ComplianceScan 资源带有 finalizer(
compliance.openfuyao.cn/scan-cleanup),需要 operator 在运行时处理清理逻辑(删除关联的扫描 Job 并移除 finalizer)。如果先卸载 operator 再删除 CR,CR 会永远卡在Terminating状态。
正确卸载步骤
# 第 1 步:删除所有 CR 实例(operator 仍在运行,能正常处理 finalizer 清理)
kubectl delete compliancescans --all
kubectl delete compliancescanresults --all
kubectl delete compliancescannoderesults --all
# 确认 CR 全部清除
kubectl get compliancescans,compliancescanresults,compliancescannoderesults
# 第 2 步:卸载 operator
helm uninstall compliance-operator -n compliance-operator-system
# 第 3 步:删除命名空间(可选)
kubectl delete namespace compliance-operator-system
# 第 4 步:删除 CRD 定义(可选,彻底清理)
kubectl delete crd compliancescans.compliance.openfuyao.cn
kubectl delete crd compliancescanresults.compliance.openfuyao.cn
kubectl delete crd compliancescannoderesults.compliance.openfuyao.cn
如果 CR 已经卡在 Terminating
如果 operator 已被卸载,CR 因 finalizer 无法移除而卡在 Terminating 状态,可手动移除 finalizer 解除:
# 查看卡住的 CR
kubectl get compliancescans -o wide
# 手动移除 finalizer
kubectl patch compliancescan <name> \
-p '{"metadata":{"finalizers":[]}}' --type=merge
# 然后正常删除
kubectl delete compliancescan <name>
# 批量处理所有卡住的 CR
for name in $(kubectl get compliancescans -o jsonpath='{.items[*].metadata.name}'); do
kubectl patch compliancescan "$name" \
-p '{"metadata":{"finalizers":[]}}' --type=merge
kubectl delete compliancescan "$name" --ignore-not-found
done
4. 基础使用
提示: CRD 资源支持以下简写形式,可在后续命令中使用:
| 资源全称 | 简写 |
|---|---|
| compliancescans | cs |
| compliancescanresults | csr |
| compliancescannoderesults | csnsr |
例如 kubectl get cs 等同于 kubectl get compliancescans。
4.1 创建扫描任务
Compliance Operator 同一时刻只处理一个 ComplianceScan CR(单例模式)。推荐使用单个 CR + 注解触发的方式来依次执行不同类型的扫描,无需反复删除和重建。
4.1.1 创建 CIS Benchmark 扫描
创建文件
scan.yaml:
apiVersion: compliance.openfuyao.cn/v1alpha1
kind: ComplianceScan
metadata:
name: scan
spec:
scanner: kube-bench
scanType: all
benchmark: cis-1.12
timeout: 30m
maxHistory: 5
应用配置:
kubectl apply -f scan.yaml
4.1.2 scanType 说明
scanType 决定扫描哪些节点,可选值如下:
| scanType | 扫描目标 | 节点判定规则 | 适用场景 |
|---|---|---|---|
all(默认) |
所有就绪节点 | 不区分角色 | 全面扫描,适用于首次合规检查 |
control-plane |
控制平面节点 | 带有 node-role.kubernetes.io/control-plane 或 node-role.kubernetes.io/master 标签的节点 |
API Server、etcd、Scheduler、Controller Manager 等组件检查 |
worker |
工作节点 | 不带上述控制平面标签的节点 | kubelet、容器运行时等工作负载层面检查 |
注意: Operator 会自动为所有扫描 Job 添加控制平面节点的容忍度(
node-role.kubernetes.io/control-plane和node-role.kubernetes.io/master),无需手动配置。如需额外容忍其他污点(如 GPU 节点),可在spec.tolerations中追加。
4.1.3 CIS Kubernetes Benchmark support
| Source Kubernetes Benchmark | kube-bench config | Kubernetes versions |
|---|---|---|
| CIS 1.5.1 | cis-1.5 | 1.15 |
| CIS 1.6.0 | cis-1.6 | 1.16-1.18 |
| CIS 1.20 | cis-1.20 | 1.19-1.21 |
| CIS 1.23 | cis-1.23 | 1.22-1.23 |
| CIS 1.24 | cis-1.24 | 1.24 |
| CIS 1.7 | cis-1.7 | 1.25 |
| CIS 1.8 | cis-1.8 | 1.26 |
| CIS 1.9 | cis-1.9 | 1.27 |
| CIS 1.10 | cis-1.10 | 1.28 |
| CIS 1.11 | cis-1.11 | 1.29-1.31 |
| CIS 1.12 | cis-1.12 | 1.32-1.34 |
4.1.4 切换到 STIG 合规扫描
扫描完成后,修改 scanner 字段并添加触发注解,即可用同一个 CR 执行不同类型的扫描:
# 1. 修改扫描器类型和相关参数
kubectl patch compliancescan scan --type merge \
-p '{"spec":{"scanner":"openscap","scanType":"all","timeout":"30m"}}'
# 2. 添加触发注解,启动新一轮扫描
kubectl annotate compliancescan scan compliance.openfuyao.cn/trigger="$(date +%s)" --overwrite
说明: 添加
compliance.openfuyao.cn/trigger注解后,Operator 会将扫描重置为Pending状态并使用新的扫描器重新执行。注解在触发后会被自动移除。
4.1.5 再次执行相同扫描
如需重新执行当前配置的扫描(不修改任何参数),只需添加触发注解:
kubectl annotate compliancescan scan compliance.openfuyao.cn/trigger="$(date +%s)" --overwrite
4.2 查看扫描状态
4.2.1 查看扫描
kubectl get compliancescans
输出示例:
NAME SCANNER PHASE RESULT LASTSCAN AGE
scan kube-bench Running NonCompliant 29s 129m
4.2.2 实时监控扫描进度
kubectl get compliancescans -w
4.2.3 查看扫描详情
kubectl get compliancescan scan -o yaml
4.2.4 查看扫描事件
kubectl describe compliancescan scan
4.3 查看扫描结果
4.3.1 查看所有扫描结果
kubectl get compliancescanresults
输出示例:
NAME SCAN PASS FAIL WARN TOTAL AGE
scan-20260529-120000 scan 85 15 5 105 10m
4.3.2 查看结果详情
kubectl get compliancescanresult scan-20260529-120000 -o yaml
4.3.3 查看结果摘要
kubectl get compliancescanresults -o custom-columns=\
NAME:.metadata.name,\
SCAN:.spec.scanName,\
PASS:.spec.summary.pass,\
FAIL:.spec.summary.fail,\
WARN:.spec.summary.warn,\
TOTAL:.spec.summary.total
4.4 管理扫描任务
4.4.1 重新运行扫描
扫描完成后(状态为 Done 或 Failed),添加触发注解即可重新执行:
kubectl annotate compliancescan scan compliance.openfuyao.cn/trigger="$(date +%s)" --overwrite
4.4.2 更新扫描配置
修改配置后需要添加触发注解使变更生效:
# 编辑扫描配置
kubectl edit compliancescan scan
# 添加触发注解启动新一轮扫描
kubectl annotate compliancescan scan compliance.openfuyao.cn/trigger="$(date +%s)" --overwrite
4.4.3 删除扫描任务
# 删除扫描任务(不会删除历史结果)
kubectl delete compliancescan scan
5. 高级功能
5.1 定时扫描
5.1.1 创建定时扫描任务
创建文件
scheduled-scan.yaml:
apiVersion: compliance.openfuyao.cn/v1alpha1
kind: ComplianceScan
metadata:
name: weekly-cis-scan
spec:
scanner: kube-bench
scanType: all
benchmark: cis-1.12
schedule: "0 2 * * 0" # 每周日凌晨2 点执行
timeout: 30m
maxHistory: 10
应用配置:
kubectl apply -f scheduled-scan.yaml
5.1.2 Cron 表达式说明
┌───────────── 分钟 (0 - 59)
│┌───────────── 小时 (0 - 23)
││┌───────────── 日期 (1 - 31)
│││┌───────────── 月份 (1 - 12)
││││┌───────────── 星期几(0 - 6, 0=周日)
│││││* * * * *
常用示例:
"0 2 * * *"- 每天凌晨 2 点"0 2 * * 0"- 每周日凌晨 2 点"0 2 1 * *"- 每月 1 日凌晨 2 点"*/30 * * * *"- 每 30 分钟"0 */2 * * *"- 每 2 小时
5.1.3 查看下次扫描时间
kubectl get compliancescan weekly-cis-scan -o jsonpath='{.status.nextScheduleTime}'
5.2 节点选择
5.2.1 使用节点标签
创建文件
labeled-scan.yaml:
apiVersion: compliance.openfuyao.cn/v1alpha1
kind: ComplianceScan
metadata:
name: production-scan
spec:
scanner: kube-bench
scanType: all
benchmark: cis-1.12
nodeSelector:
environment: production
timeout: 30m
maxHistory: 5
应用配置:
kubectl apply -f labeled-scan.yaml
5.2.2 使用容忍度
创建文件
toleration-scan.yaml:
apiVersion: compliance.openfuyao.cn/v1alpha1
kind: ComplianceScan
metadata:
name: master-scan
spec:
scanner: kube-bench
scanType: control-plane
benchmark: cis-1.12
tolerations:
- key: node-role.kubernetes.io/master
operator: Exists
effect: NoSchedule
timeout: 30m
maxHistory: 5
应用配置:
kubectl apply -f toleration-scan.yaml
5.3 扫描历史管理
5.3.1 查看扫描历史
kubectl get compliancescan scan \
-o jsonpath='{.status.scanHistory}' | jq
输出示例:
[
{
"scanID": "20260529-120000-abcdef12",
"scanTime": "2026-05-29T12:00:00Z",
"phase": "Done",
"result": "NonCompliant",
"summary": {
"pass": 85,
"fail": 15,
"warn": 5,
"total": 105
},
"resultRef": "scan-20260529-120000"
}
]
5.3.2 查看特定历史记录
kubectl get compliancescanresult scan-20260529-120000 -o yaml
5.3.3 清理历史记录
历史记录会自动管理(根据maxHistory 配置),也可以手动清理:
# 删除特定历史记录
kubectl delete compliancescanresult scan-20260529-120000
# 删除所有历史记录(谨慎使用)
kubectl delete compliancescanresults -l compliance.openfuyao.cn/scan-name=scan
6. 报告管理
6.1 生成报告
6.1.1 生成 HTML 报告
不指定扫描ID时,默认生成最新一次的报告。
# 生成所有节点的报告
kubectl exec -n compliance-operator-system deploy/compliance-operator -- \
/compliance-operator report scan --format html > report.html
# 生成特定扫描 ID 的报告
kubectl exec -n compliance-operator-system deploy/compliance-operator -- \
/compliance-operator report scan \
--scan-id 20260529-120000-abcdef12 --format html > specific-report.html
# 生成特定节点的报告
kubectl exec -n compliance-operator-system deploy/compliance-operator -- \
/compliance-operator report scan \
--node worker-1 --format html > worker-1-report.html
6.1.2 生成 JSON 报告
kubectl exec -n compliance-operator-system deploy/compliance-operator -- \
/compliance-operator report scan --format json > report.json
6.1.3 报告参数说明
| 参数 | 说明 | 示例 |
|---|---|---|
--format |
报告格式(html 或json) | --format html |
--scan-id |
特定扫描 ID | --scan-id 20260529-120000 |
--node |
特定节点名称 | --node worker-1 |
--o |
输出文件路径 | --o /tmp/report.html |
7. 配置参考
7.1 ComplianceScan CRD 完整配置
apiVersion: compliance.openfuyao.cn/v1alpha1
kind: ComplianceScan
metadata:
name: example-scan
labels:
app: compliance
environment: production
annotations:
description: "Production cluster CIS scan"
spec:
# 扫描器类型(必填) # 可选值:kube-bench, openscap
scanner: kube-bench
# 扫描目标类型(可选,默认:all) # 可选值:control-plane, worker, all
scanType: all
# CIS Benchmark 版本(可选,仅kube-bench 使用)
benchmark: cis-1.12
# STIG 配置文件(可选,仅openscap 使用)
# 格式: xccdf_mil.disa.stig_profile_MAC-<level>_<classification>
profile: xccdf_mil.disa.stig_profile_MAC-1_Classified
# 扫描超时时间(可选,默认:30m)
# 格式:数字+单位(s=秒, m=分钟, h=小时)
timeout: 30m
# 历史记录保留数量(可选,默认:5)
# 范围:1-20
maxHistory: 5
# 定时扫描 Cron 表达式(可选)
# 格式:标准Cron 表达式 schedule: "0 2 * * 0"
# 节点选择器(可选)
nodeSelector:
environment: production
tier: backend
# 容忍度(可选)
tolerations:
- key: node-role.kubernetes.io/master
operator: Exists
effect: NoSchedule
- key: dedicated
operator: Equal
value: special-user
effect: NoSchedule
# 扫描作业资源配置(可选)
resources:
limits:
cpu: 1000m
memory: 512Mi
requests:
cpu: 200m
memory: 256Mi
# 镜像拉取策略(可选,默认:IfNotPresent)
# 可选值:Always, IfNotPresent, Never
imagePullPolicy: IfNotPresent
# 私有仓库认证 Secret 引用列表(可选)
imagePullSecrets:
- name: harbor-secret
# 扫描 Job Pod 优先级类名(可选)
priorityClassName: "compliance-scan-low"
status:
# 扫描状态(只读) phase: Done
# 最后扫描时间(只读) lastScanTime: "2026-05-29T12:00:00Z"
# 最后扫描ID(只读)
lastScanID: "20260529-120000-abcdef12"
# 最后扫描结果(只读) # 可选值:Compliant, NonCompliant, Error
lastScanResult: NonCompliant
# 下次扫描时间(只读,仅定时扫描)
nextScheduleTime: "2026-06-05T02:00:00Z"
# 扫描历史(只读)
scanHistory:
- scanID: "20260529-120000-abcdef12"
scanTime: "2026-05-29T12:00:00Z"
phase: Done
result: NonCompliant
summary:
pass: 85
fail: 15
warn: 5
total: 105
resultRef: "example-scan-20260529-120000"
7.2 Helm Chart 完整配置
详细配置请参考Helm Chart README
主要配置项:
# 副本数
replicaCount: 1
# 镜像配置
image:
repository: cr.openfuyao.cn/openfuyao/compliance-operator
tag: "latest"
pullPolicy: IfNotPresent
pullSecrets: []
# 服务账户注解(如用于云 IAM 绑定)
serviceAccount:
annotations: {}
scanJobAnnotations: {}
# Controller Runtime 配置
controller:
leaderElect: true
maxConcurrentReconciles: 1
priorityClassName: ""
logging:
devMode: true
# 扫描作业配置
scanJob:
defaultTimeout: 30
defaultMaxHistory: 5
resources:
limits:
cpu: 1000m
memory: 512Mi
requests:
cpu: 200m
memory: 256Mi
images:
kubeBench:
repository: hub.oepkgs.net/openfuyao/aquasec/kube-bench
tag: "v0.15.6"
openSCAP:
repository: cr.openfuyao.cn/openfuyao/openscap
tag: "1.4.4"
# Operator 资源配置
resources:
limits:
cpu: 1000m
memory: 1024Mi
requests:
cpu: 250m
memory: 256Mi
# 节点选择器
nodeSelector: {}
# 容忍度
tolerations:
- key: node-role.kubernetes.io/control-plane
operator: Exists
effect: NoSchedule
- key: node-role.kubernetes.io/master
operator: Exists
effect: NoSchedule
# 亲和性
affinity: {}
# Metrics 配置
metrics:
enabled: false
type: ClusterIP
# ServiceMonitor 配置(用于 Prometheus Operator)
serviceMonitor:
enabled: false
interval: 30s
scrapeTimeout: 10s
# 健康检查配置
health:
startupProbe:
initialDelaySeconds: 5
periodSeconds: 5
failureThreshold: 30
livenessProbe:
initialDelaySeconds: 15
periodSeconds: 20
readinessProbe:
initialDelaySeconds: 5
periodSeconds: 10
# 网络策略配置
networkPolicy:
enabled: false
monitoringNamespace: "monitoring"
# Pod 中断预算
pdb:
minAvailable: 1
8. 故障排查
8.1 常见问题诊断
8.1.1 Operator Pod 无法启动
症状:
kubectl get pods -n compliance-operator-system
# NAME READY STATUS RESTARTS AGE
# compliance-operator-xxx-xxx 0/1 CrashLoopBackOff 5 5m
排查步骤:
- 查看 Pod 日志
kubectl logs -n compliance-operator-system deploy/compliance-operator
- 检查Pod 事件
kubectl describe pod -n compliance-operator-system -l app.kubernetes.io/name=compliance-operator
- 检查RBAC 权限
kubectl auth can-i --list \
--as=system:serviceaccount:compliance-operator-system:compliance-operator
常见原因:
- 镜像拉取失败
- RBAC 权限不足
- 资源限制过低
- 配置参数错误
8.1.2 扫描作业失败
症状:
kubectl get jobs -n compliance-operator-system
# NAME COMPLETIONS DURATION AGE
# scan-xxx 0/1 5m 5m
排查步骤:
- 查看作业状态
kubectl describe job -n compliance-operator-system <job-name>
- 查看作业 Pod 日志
kubectl logs -n compliance-operator-system job/<job-name>
- 检查节点状态
kubectl get nodes
kubectl describe node <node-name>
常见原因:
- 节点资源不足
- hostPath 挂载失败
- 扫描器镜像问题
- 节点不满足调度条件
8.1.3 CRD 未安装
症状:
kubectl get crd | grep compliance
# No resources found
解决方法:
# 手动安装 CRD
kubectl apply -f charts/compliance-operator/crds/
# 验证安装
kubectl get crd | grep compliance
8.1.4 权限被拒绝
症状:
Error from server (Forbidden): compliancescans.compliance.openfuyao.cn is forbidden
排查步骤:
- 检查集群角色
kubectl get clusterrole | grep compliance
kubectl describe clusterrole compliance-operator-manager
- 检查集群角色绑定
kubectl get clusterrolebinding | grep compliance
kubectl describe clusterrolebinding compliance-operator-manager
- 验证服务账户
kubectl get serviceaccount -n compliance-operator-system
解决方法:
# 重新应用 RBAC 配置
kubectl apply -f config/rbac/
8.2 性能问题
8.2.1 扫描速度慢
可能原因:
- 节点数量过多
- 扫描作业资源限制过低
- 网络延迟
解决方法:
- 增加扫描作业资源
spec:
resources:
limits:
cpu: 2000m
memory: 1Gi
- 减少并发扫描数
controller:
maxConcurrentReconciles: 1
- 使用节点选择器限制扫描范围
spec:
nodeSelector:
scan-enabled: "true"
8.2.2 内存使用过高
可能原因:
- 扫描结果过大
- 历史记录过多
- 内存泄漏
解决方法:
- 减少历史记录
spec:
maxHistory: 3
- 增加 Operator 内存限制
resources:
limits:
memory: 512Mi
9. 常见问题
Q1: Compliance Operator 支持哪些 Kubernetes 版本?
A: Compliance Operator 支持 Kubernetes 1.19 及以上版本。推荐使用1.25+ 版本以获得最佳体验。
Q2: 扫描会影响集群性能吗?
A: 扫描作业会消耗一定的 CPU 和内存资源,但影响通常很小。建议在业务低峰期执行扫描,或通过资源限制控制影响。
Q3: 如何查看扫描进度?
A: 使用以下命令:
# 实时监控
kubectl get compliancescans -w
# 查看详情
kubectl describe compliancescan <scan-name>
Q4: 扫描失败后如何重试?
A: 扫描失败后(状态为 Failed),添加触发注解即可重新执行:
kubectl annotate compliancescan scan compliance.openfuyao.cn/trigger="$(date +%s)" --overwrite
Q5: 如何清理旧的扫描结果?
A: 历史记录会自动管理(根据
maxHistory 配置),也可以手动清理:
kubectl delete compliancescanresult <result-name>
Q6: 如何自定义扫描规则?
A: 目前不支持自定义规则。kube-bench 和 OpenSCAP 使用预定义的 CIS Benchmark 和STIG 规则。
Q7: Operator Pod 重启后扫描任务会丢失吗?
A: 不会。扫描任务存储在 etcd 中,Operator 重启后会自动恢复。
Q8: 为什么我的扫描状态显示 Ignored?
A: Compliance Operator 采用单例模式,同一时刻只处理一个 ComplianceScan CR(按创建时间排序,最早的优先)。如果误创建了多个 CR,后创建的会被标记为 Ignored。
自动激活:当活跃的扫描被删除后,Ignored 状态的扫描会自动变为 Pending 并开始执行,无需手动干预。
推荐做法:只保留一个 CR,通过修改 spec.scanner 并添加触发注解来切换扫描类型(参见 4.1.4 切换到 STIG 合规扫描)。
# 删除多余的 CR,只保留一个
kubectl delete compliancescan <多余的扫描名称>
10. 附录
10.1 CIS Benchmark 检查项列表
详细的 CIS Benchmark 检查项列表请参考:
10.2 DISA STIG 规则列表
详细的 DISA STIG 规则列表请参考:
10.3 联系支持
如果您在使用过程中遇到问题,可以通过以下方式获取支持:
- GitCode Issues: https://gitcode.com/openFuyao/compliance-operator/issues
- GitCode Discussions: https://gitcode.com/openFuyao/compliance-operator/discussions
感谢您使用 Compliance Operator!如果这个工具对您有帮助,请给我们一个Star ⭐!