Kubernetes之Garbage Collection

本文探讨了Kubernetes中的垃圾回收,特别是针对Deployment、ReplicaSet等对象的级联删除策略,包括后台和前台级联删除以及孤儿(Orphan)删除。详细解释了ownerReferences字段、blockOwnerDeletion标志的作用,并提供了不同删除策略的示例。
摘要由CSDN通过智能技术生成

在以前的博文中介绍过如何配置kubelet,按策略删除无用image、正常或者异常终止不会再启动的container,以节省资源。kubelet回收的对象在容器层面。那么kubernetes层面的对象,比如pod、ReplicaSet、Replication Controller、Deployment、StatefulSet、DaemonSet等类型的对象,垃圾回收又是如何呢?

实际上,按理说以上的kubernetes对象并不会产生垃圾,对象一直都存在,除非用户或者某种控制器将对象删除。这里称为"Garbage Collection"不太准确,实际上它想讲的是在执行删除操作时如何控制对象之间的依赖关系。比如,Deployment对象创建ReplicaSet对象,ReplicaSet对象又创建pod对象,那么在删除Deployment时,是否需要删除与之相依赖的ReplicaSet与pod呢?

从对象与根对象(Owners and dependents)

某些kubernetes对象是其它对象的owner。比如ReplicaSet对象就是其所管理的pod对象的owner,本文称这类对象为“根对象”。而被管理的pod对ReplicaSet存在dependent,pod对象通过metadata.ownerReferences字段指向其依赖的对象,本文称这类对象为“从对象”。在kubernetes1.8中,ReplicationController, ReplicaSet, StatefulSet, DaemonSet, Deployment, Job and CronJob自动向其创建、收养的对象添加metadata.ownerReferences字段的值,当然也可以手动设置。以下是拥有3个pod的ReplicaSet设置文件:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值