
projectsveltos/k8s-cleanerCleaner是一款专为Kubernetes集群设计的控制器工具,核心功能是识别并处理集群中未使用或不健康的资源,从而帮助用户维护精简、高效的Kubernetes集群环境,减少资源浪费并提升集群整体运行稳定性。
bashdocker run -d \ --name cleaner \ --restart=always \ -e KUBECONFIG=/etc/kubeconfig \ -e SCHEDULE="0 2 * * *" \ # 每日凌晨2点执行检查 -e LABEL_FILTER="env=dev,app=temp" \ # 仅处理标签为env=dev且app=temp的资源 -e NOTIFICATION_SLACK_WEBHOOK="[***]" \ # Slack通知Webhook -v /path/to/your/kubeconfig:/etc/kubeconfig \ # 挂载Kubernetes配置文件 -v /path/to/lua/scripts:/scripts \ # 挂载Lua规则脚本(如需) cleaner:latest
| 参数名 | 说明 | 示例值 |
|---|---|---|
KUBECONFIG | Kubernetes集群配置文件路径,用于控制器访问集群API | /etc/kubeconfig |
SCHEDULE | Cron表达式,定义资源检查调度周期 | "0 2 * * *"(每日2点) |
LABEL_FILTER | 资源标签过滤规则,多标签用逗号分隔 | "env=dev,app=temp" |
LUA_SCRIPT_PATH | Lua脚本路径,用于自定义资源选择逻辑 | /scripts/selection.lua |
NOTIFICATION_SLACK_WEBHOOK | Slack通知Webhook地址 | [***] |
NOTIFICATION_WEBEX_URL | Webex通知API地址 | [***] |
NOTIFICATION_***_WEBHOOK | ***通知Webhook地址 | [***] |
通过配置文件(如config.yaml)定义资源处理规则,示例:
yamlresources: - type: "Pod" unusedThreshold: "72h" # 闲置超过72小时的Pod将被处理 action: "delete" # 执行删除操作 - type: "ConfigMap" unusedThreshold: "30d" # 闲置超过30天的ConfigMap将被处理 action: "archive" # 执行归档操作(需额外配置归档存储)
dry-run模式运行(添加-e DRY_RUN=true),验证规则有效性后再执行实际操作。



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务