
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Kor是一款Kubernetes未使用资源发现工具,旨在帮助用户识别和清理集群中的冗余资源。通过扫描集群资源并分析其使用情况,Kor能够列出多种未被使用的Kubernetes资源,从而优化集群资源利用率,减少资源浪费。
Docker运行
通过Docker容器运行Kor,需挂载kubeconfig文件以访问Kubernetes集群:
sh# 基本运行(使用默认配置) docker run --rm -i yonahdissen/kor # 挂载本地kubeconfig并检查所有未使用资源 docker run --rm -i -v "/path/to/.kube/config:/root/.kube/config" yonahdissen/kor all
Helm部署
Kor可通过Helm chart部署到Kubernetes集群中,支持两种部署模式:
1. 作为CronJob运行(支持Slack通知)
shhelm upgrade -i kor \ --namespace kor \ --create-namespace \ --set cronJob.enabled=true \ ./charts/kor
2. 作为Deployment运行(暴露Prometheus指标)
shhelm upgrade -i kor \ --namespace kor \ --create-namespace \ ./charts/kor
子命令说明
Kor提供多种子命令用于识别不同类型的未使用资源,常用命令包括:
all - 获取指定命名空间或所有命名空间的所有未使用资源configmap - 获取指定命名空间或所有命名空间的未使用ConfigMapssecret - 获取指定命名空间或所有命名空间的未使用Secretsservices - 获取指定命名空间或所有命名空间的未使用Servicesserviceaccount - 获取指定命名空间或所有命名空间的未使用ServiceAccountsdeployments - 获取指定命名空间或所有命名空间的未使用Deploymentsstatefulsets - 获取指定命名空间或所有命名空间的未使用StatefulSetsrole - 获取指定命名空间或所有命名空间的未使用Rolesclusterrole - 获取集群中未使用的ClusterRoles(命名空间参数指RoleBinding)hpa - 获取指定命名空间或所有命名空间的未使用HPAspods - 获取指定命名空间或所有命名空间的未使用Podspvc - 获取指定命名空间或所有命名空间的未使用PVCspv - 获取集群中未使用的PVs(非命名空间资源)storageclasses - 获取集群中未使用的StorageClasses(非命名空间资源)ingress - 获取指定命名空间或所有命名空间的未使用Ingressespdb - 获取指定命名空间或所有命名空间的未使用PDBscrd - 获取集群中未使用的CRDs(非命名空间资源)jobs - 获取指定命名空间或所有命名空间的未使用Jobsreplicasets - 获取指定命名空间或所有命名空间的未使用ReplicaSetsdaemonsets - 获取指定命名空间或所有命名空间的未使用DaemonSetsfinalizers - 获取指定命名空间或所有命名空间中处于待删除状态的未使用资源exporter - 导出Prometheus指标version - 打印Kor版本信息使用示例:
sh# 检查指定命名空间"my-namespace"中的所有未使用资源 kor all --include-namespaces my-namespace # 查看特定子命令的帮助信息 kor configmap --help
支持的标志
Kor提供多种标志用于自定义资源检查和输出:
| 标志 | 说明 | 示例 |
|---|---|---|
--delete | 删除未使用资源 | kor secret --delete |
-l, --exclude-labels | 用于过滤排除的标签选择器(若设置--include-labels则此标志被忽略) | --exclude-labels key1=value1,key2=value2 |
--exclude-namespaces | 要排除的命名空间(逗号分隔,若设置--include-namespaces则此标志被忽略) | --exclude-namespaces ns1,ns2,ns3 |
-h, --help | 显示帮助信息 | kor all --help |
--include-labels | 用于过滤包含的标签选择器 | --include-labels key1=value1,key2=value2 |
-n, --include-namespaces | 要检查的命名空间(逗号分隔) | --include-namespaces ns1,ns2,ns3 |
-k, --kubeconfig | kubeconfig文件路径(可选) | --kubeconfig /path/to/config |
--newer-than | 资源被视为未使用的最大年龄(不能与--older-than同时使用) | --newer-than=1h2m |
--no-interactive | 删除资源时不提示确认(谨慎使用) | kor pvc --delete --no-interactive |
--older-than | 资源被视为未使用的最小年龄(不能与--newer-than同时使用) | --older-than=1h2m |
-o, --output | 输出格式(table、json或yaml,默认table) | --output json |
--slack-auth-token | Slack认证令牌(需同时设置--slack-channel) | --slack-auth-token xoxb-xxx |
--slack-channel | Slack通知频道(需同时设置--slack-auth-token) | --slack-channel #k8s-alerts |
--slack-webhook-url | Slack Webhook URL用于发送通知 | --slack-webhook-url https://hooks.slack.com/... |
-v, --verbose | 详细输出(打印空命名空间) | kor all -v |
访问项目GitHub仓库获取完整文档:https://github.com/yonahd/kor
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务