院长简介
作者:院长
职位:运维开发工程师
官网:https://deanit.cn
博客:https://blog.deanit.cn
擅长:
【虚拟化,容器化,自动化运维,CICD,监控,日志,中间件,双机热备,分布式存储,数据库,认证,组网隧道,Kali 安全渗透,网络攻击,负载均衡,Html,Css,Js,Jq,Vue3,Shell,Python,Go,前后端框架】
Kubernetes(K8s)的回收策略主要涉及如何管理和回收集群中的资源,以确保资源的有效利用和避免浪费。以下是对K8s回收策略的概述,包括PV(PersistentVolume)和PVC(PersistentVolumeClaim)的回收策略以及其他资源(如镜像和容器)的回收策略。
1. PV回收策略
PV回收策略通过
persistentVolumeReclaimPolicy
字段来定义,该字段有以下可选值:
-
Retain
:保留持久卷,不进行自动回收。当持久卷使用完成后,需要管理员手动进行清理和释放。
-
Delete
:删除持久卷。当持久卷不再被使用时,Kubernetes会自动删除并释放它。请注意,此操作会删除PV对象及其对应的存储资源,所以请确保在使用此策略前已经备份了重要数据。
-
Recycle
(已废弃):回收持久卷。在Kubernetes v1.14版本之前,该策略会尝试清空持久卷中的数据,但不保证数据安全。由于存在安全风险,此策略在v1.14版本后已被废弃,不再推荐使用。
2. PVC回收策略
PVC本身没有直接的回收策略字段,但可以通过引用不同的PV来间接实现不同的回收策略。PVC可以覆盖其引用的PV的回收策略,但这并不常见。通常情况下,PVC的生命周期与其引用的PV相关,当PVC被删除时,其引用的PV将根据PV的回收策略进行处理。
3. 镜像回收策略
Kubernetes通过kubelet进行镜像管理,当磁盘使用率超过设定的上限时,kubelet会按照LRU(最近最少使用)策略逐个清理那些没有被任何容器所使用的镜像,直到磁盘使用率降到设定下限或没有空闲镜像可以清理。这一过程由kubelet集成的cadvisor进行监控和管理,可以通过
--image-gc-high-threshold
和
--image-gc-low-threshold
参数来调整触发镜像回收的磁盘使用率阈值。
4. 容器回收策略
容器的回收主要涉及已停止运行的容器(也称为“死容器”或“僵尸容器”)。Kubernetes允许管理员通过设置相关参数来控制容器的回收行为。这些参数包括:
-
--minimum-container-ttl-duration
:从容器停止运行时起经过此时间后,容器将被标记为已过期并可以被回收。默认值为1分钟。
-
--maximum-dead-containers-per-container
:每个Pod最多可以保留的已停止运行的容器数量。默认值为2。
-
--maximum-dead-containers
:整个节点可以保留的已停止运行的容器数量。默认值为100。
管理员可以根据需要调整这些参数来控制容器的回收行为。
总结
Kubernetes的回收策略涉及多个方面,包括PV、PVC、镜像和容器的回收。通过合理配置这些回收策略,可以确保集群资源的有效利用和避免浪费。同时,管理员也需要注意数据安全性和业务连续性,避免在回收过程中丢失重要数据或影响业务运行。
招贤纳士
欢迎👏关注《院长技术》,只做原创,干货~~~
更多技术干货持续输出中......
知识星球,试运营中,
原价188¥在不断上涨,
现加入仅需129¥
,文档正逐渐上传!
欢迎加入
QQ-4
群:【
1群-2群-3群已满
】