kube-bench是一款基于CIS Kubernetes Benchmark的安全检查工具,用于验证Kubernetes集群是否按照安全最佳实践部署。该Docker镜像包含kube-bench的Go语言应用程序,可便捷地在主机或Kubernetes集群中运行,执行安全合规性检查。
4.1.1 通过Job部署
kube-bench可作为Kubernetes Job运行,需挂载主机必要目录以访问配置文件和进程信息。执行以下命令部署官方提供的job.yaml:
bash# 应用Job配置 kubectl apply -f https://raw.githubusercontent.com/aquasecurity/kube-bench/main/job.yaml # 查看Pod状态 kubectl get pods | grep kube-bench # 等待Pod状态变为Completed后,查看检查结果 kubectl logs <kube-bench-pod-name>
4.1.2 结果示例
日志输出按CIS基准章节组织,包含检查项状态及说明:
[INFO] 1 Master Node Security Configuration [INFO] 1.1 API Server [PASS] 1.1.1 Ensure that the --anonymous-auth flag is set to false (Automated) [FAIL] 1.1.2 Ensure that the --authorization-mode flag includes Node (Automated) ...
在非Kubernetes环境中,通过Docker直接在主机运行,需挂载主机PID命名空间和相关目录:
bashdocker run --rm \ --pid=host \ -v /var/lib/kubelet:/var/lib/kubelet \ -v /etc/kubernetes:/etc/kubernetes \ -v /etc/systemd:/etc/systemd \ -v /lib/systemd:/lib/systemd \ -v /srv/kubernetes:/srv/kubernetes \ aquasec/kube-bench
参数说明:
--pid=host:访问主机PID命名空间,用于检查运行中的进程-v:挂载主机目录,确保kube-bench能读取Kubernetes配置文件(如/etc/kubernetes)、系统服务配置(如/etc/systemd)等4.3.1 环境变量
K8S_VERSION:手动指定Kubernetes版本(如1.28),覆盖自动检测结果BENCHMARK_VERSION:指定CIS基准版本(如cis-1.8),需与Kubernetes版本兼容OUTPUT_FORMAT:指定输出格式,支持text(默认)、json、csv示例:指定Kubernetes 1.28版本和JSON输出格式
bashdocker run --rm \ --pid=host \ -v /var/lib/kubelet:/var/lib/kubelet \ -v /etc/kubernetes:/etc/kubernetes \ -e K8S_VERSION=1.28 \ -e OUTPUT_FORMAT=json \ aquasec/kube-bench
4.3.2 自定义测试配置
通过挂载自定义YAML测试文件,修改或扩展检查项。将自定义配置目录挂载至容器/etc/kube-bench/cfg:
bashdocker run --rm \ --pid=host \ -v /var/lib/kubelet:/var/lib/kubelet \ -v /path/to/custom/cfg:/etc/kube-bench/cfg \ # 挂载自定义配置目录 aquasec/kube-bench
kube-bench测试集依赖CIS Kubernetes Benchmark版本,二者并非与Kubernetes版本同步发布。具体映射关系参考https://github.com/aquasecurity/kube-bench/blob/main/docs/platforms.md#cis-kubernetes-benchmark-support%E3%80%82
kube-bench默认通过检测主机Kubernetes版本自动选择测试集。如需手动指定,可通过K8S_VERSION或BENCHMARK_VERSION环境变量覆盖。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务