什么是K8s-Cleaner?
K8s-cleaner 就像您的个人组织者,但适用于您的 Kubernetes 集群。它扫描并识别那些只是占用空间的东西,例如未使用或过时的资源,然后通过删除它们来进行数字春节大扫除。
K8s-cleaner 附带了一个方便的工具包或库,就像 Kubernetes 集群的超级英雄。它配备了不同的“清理”工具来发现未使用的资源、过期的东西,甚至是不健康的东西。详细情况如下:
- 未使用的资源侦探:
- 这些清理器可以找到诸如被遗忘的 ClusterRoles、无人使用的 ConfigMap、老式部署等内容。这就像让一名侦探发现 Kubernetes 集群中所有占用空间的东西。
- 这套清洁工就像您的私人计时器。他们可以使用不同的方法来发现已经过时的资源:
- 生存时间(TTL):查找已经存在太久的东西。
- 过期日期:指出具有“此日期前最佳”日期的资源,该日期现已成为历史。
- 年龄:嗅出那些变得太旧的东西。
- 这些清洁工具有敏锐的洞察力,能够发现不健康的资源。例如:
- 具有过时机密的 Pod:识别正在使用需要更新的机密的 Pod。
- 证书已过期的 Pod:使用已过期的证书嗅探出 Pod。
- 具有幽灵服务的 Ingress:查找涉及不存在服务的 Ingress 规则,这可能意味着麻烦。
- 具有虚构的 ConfigMap 或 Secret 的部署:捕获尝试使用已消失的 ConfigMap 或 Secret 的部署。
K8s-Cleaner 通知
8s-cleaner 不只是安静地完成其工作;它让您随时了解通知 - 将它们视为友好的更新。以下是它如何让您知道发生了什么:
- 清理进度更新:
- 当 K8s-cleaner 进行清洁舞蹈时,它可以向您发送一条快速消息,让您知道事情进展如何。这就像获取数字清理进度的最新信息。
- K8s-cleaner 非常灵活 – 它可以让您选择您想要的通知方式。无论是通过 Slack、电子邮件还是其他方式,您都可以决定如何接收这些通知。
- 清理完成后,K8s-cleaner 不会消失。它会留下一条消息,为您提供有关清理了哪些资源的报告。这就像一张友好的便条,说:“嘿,我帮你整理了一些东西!”
如何使用K8s-Cleaner
首先安装 K8s-Cleaner。您可以使用以下命令:
kubectl apply -f https://raw.githubusercontent.com/hjacobs/kube-resource-cleaner/master/manifests/kube-resource-cleaner.yaml |
创建一个配置文件,例如k8s-cleaner-config.yaml,您可以在其中指定要清理的资源。下面是清理 Deployment 和 ConfigMap 的示例:
apiVersion: kube-resource-cleaner.hjacobs.com/v1alpha1<font></font> |
将配置应用到您的集群:
kubectl apply -f k8s-cleaner-config.yaml
配置完成后,将 K8s-Cleaner 作为 Kubernetes 作业运行:
kubectl create job --from=cronjob/kube-resource-cleaner k8s-cleaner-job
通过检查 K8s-Cleaner Job 的日志来监控清理进度:
kubectl logs -l job-name=k8s-cleaner-job
K8s-Cleaner 运行后,检查你的 Kubernetes 集群,确保指定的资源已被清理:
kubectl get deployments
kubectl get configmaps
总结
本分步指南以及代码片段将帮助您有效使用 K8s-Cleaner 维护整洁高效的 Kubernetes 环境。根据你的具体要求调整配置,享受自动化资源管理带来的好处。