anchore/kubernetes-admission-controllerAnchore Kubernetes准入控制器是动态准入控制器的实现,用于将Kubernetes AdmissionRequests与Anchore Engine的策略评估和镜像分析API集成。该镜像执行单个二进制文件,该文件从Anchore Kubernetes Admission Controller仓库构建,使用默认Dockerfile。
适用于Kubernetes集群环境,在部署阶段对镜像进行安全管控,确保只有符合预设策略的镜像能够部署。特别适合需要严格控制容器镜像安全性的生产环境,可有效防止不安全或未授权的镜像进入集群。
镜像运行时可通过以下环境变量进行配置:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
| CREDENTIALS_FILE_PATH | 凭据文件路径 | /credentials.json |
| CONFIG_FILE_PATH | 配置文件路径 | /config.json |
用于定义访问Anchore Engine的用户凭据,格式如下:
json{ "users": [ { "username": "user1", "password": "password" }, { "username": "user2", "password": "password2" }, ... ] }
核心配置文件,定义Anchore Engine端点、验证器设置和选择器规则,格式如下:
json{ "anchoreEndpoint": "[***]", "validator": { "enabled": true, "requestAnalysis": true }, "selectors": [ { "selector": { "resourcetype": "pod", "selectorkeyregex": "^breakglass$", "selectorvalueregex": "^true" }, "policyReference": { "username": "user1", "policyBundleId": "application_bundle" }, "mode": "breakglass" } ] }
selectorvalueregex进行匹配对于pod和namespace元数据,需同时满足键匹配
selectorkeyregex和值匹配selectorvalueregex
若启用此选项且镜像未完成分析(根据mode值判断,breakglass模式下跳过),控制器将自动向Anchore Engine提交镜像分析请求。该API调用结果不影响控制器的验证决策。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务