
kube-janitor是一个用于自动清理Kubernetes资源的工具,它能够根据预设的TTL(生存时间)配置,自动识别并删除过期的Kubernetes资源,帮助维护集群整洁,避免资源堆积和浪费。
janitor/ttl)或全局配置文件定义TTL规则bashdocker run -d \ --name kube-janitor \ -v ~/.kube/config:/root/.kube/config \ hjacobs/kube-janitor:latest \ --interval=30m \ --dry-run=false
创建部署清单文件kube-janitor-deployment.yaml:
yamlapiVersion: apps/v1 kind: Deployment metadata: name: kube-janitor namespace: kube-system spec: replicas: 1 selector: matchLabels: app: kube-janitor template: metadata: labels: app: kube-janitor spec: serviceAccountName: kube-janitor containers: - name: kube-janitor image: hjacobs/kube-janitor:latest args: - --interval=30m - --namespace=default,dev - --exclude-namespace=kube-system - --dry-run=false
创建服务账户和权限(RBAC配置):
yamlapiVersion: v1 kind: ServiceAccount metadata: name: kube-janitor namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: kube-janitor rules: - apiGroups: ["*"] resources: ["*"] verbs: ["get", "list", "delete"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: kube-janitor subjects: - kind: ServiceAccount name: kube-janitor namespace: kube-system roleRef: kind: ClusterRole name: kube-janitor apiGroup: rbac.authorization.k8s.io
应用部署:
bashkubectl apply -f kube-janitor-deployment.yaml
| 参数 | 描述 | 默认值 |
|---|---|---|
--interval | 清理检查间隔(如30m表示30分钟) | 30m |
--dry-run | 启用干运行模式(仅日志输出,不执行删除) | true |
--namespace | 要包含的命名空间(逗号分隔,默认所有) | 无 |
--exclude-namespace | 要排除的命名空间(逗号分隔) | 无 |
--config | 配置文件路径(用于定义全局TTL规则) | 无 |
在需要清理的Kubernetes资源上添加以下注解:
janitor/ttl: 设置资源的生存时间(如24h表示24小时,7d表示7天)janitor/ignore: 设置为true可排除该资源不被清理示例(为Deployment添加TTL注解):
yamlapiVersion: apps/v1 kind: Deployment metadata: name: test-deployment annotations: janitor/ttl: "48h" # 48小时后自动清理 spec: replicas: 1 template: spec: containers: - name: nginx image: nginx:latest
通过--config参数指定配置文件,可定义全局TTL规则,示例:
yamlrules: - resources: ["Deployment", "StatefulSet"] ttl: "7d" namespaces: ["dev", "test"] - resources: ["Pod"] ttl: "24h" annotations: "app": "temp"

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务