文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

运维应如何配置Kubernetes的垃圾回收

2024-11-29 20:09

关注

垃圾回收可维护 Kubernetes 集群的运行状况。管理员首先要确定他们应使用默认的自动清理,还是手动配置垃圾回收。

垃圾回收配置

有几种配置可以帮助组织获得对垃圾回收的控制权。

ownerReference元数据字段Kubernetes 使用一个名为metadata.ownerReference的元数据字段来设置资源的从属关系。Kubernetes 可以在删除父资源后清理所有拥有的子资源。

例如,一个部署拥有一个 ReplicaSet,该 ReplicaSet 拥有该 ReplicaSet 中的 Pod。因此,当 admin 或 K8s 之外的其他工具删除部署时,ReplicaSet 和 pod 也会通过引用删除。

可以通过将metadata.blockOwnerDeletion字段设置为 true 来更改此行为。如果设置为 true,则在删除父资源后,资源将保持不变。

镜像

默认情况下,在每个节点上运行的 kubelet 每两分钟删除一次未使用的镜像。要配置此设置,请使用 kubelet 配置文件并为imageMinimumGCAge字段提供持续时间值。

为了触发图像垃圾回收,kubelet 会考虑磁盘使用情况。使用两个可配置字段 HighThresholdPercent 和 LowThresholdPercent,根据上次使用图像的时间删除图像。当磁盘空间达到 HighThresholdPercent 中设置的值时,kublet 将从最早的图像开始。在达到 LowThresholdPercent 中设置的值之前,kubelet 将继续删除图片。

容器

未使用的容器每五分钟清理一次。通过使用标志 --maximum-dead-containers-per-container和containers--minimum-container-ttl-duration 来控制清理的特定行为。

--maximum-dead-containers-per-container全局设置在垃圾回收移除或删除已停止的容器之前要保留的最大容器数。在 kubelet 启动时,默认情况下将其设置为 -1,或者管理员可以手动设置它。这意味着在触发垃圾回收之前,集群上允许的已停止容器数量没有限制。

containers--minimum-container-ttl-duration设置每个容器要保留的旧容器实例数。此值的默认值设置为 1。控制容器垃圾回收前的持续时间。此值设置为 0,表示默认情况下此设置处于禁用状态。

Kubernetes 作业

Kubernetes 作业完成后,除非默认情况下触发了其他垃圾回收条件,否则已完成的作业和 pod 将保持不变。例如,如果触发了 kube-controller-manager 的 terminated-pod-gc-threshold 设置,则在垃圾回收开始删除 Pod 之前,终止的 Pod 数量有限。在大多数情况下,终止的 Pod 将保留一段时间,因为默认值设置为 12,500 个 Pod。

设置作业的字段以控制此行为。此字段确定在作业完成后经过多少秒,然后 TTL 控制器才会删除该作业。建议使用此字段,因为替代项是 的默认删除策略。使用 ,作业完成后,由 Jobs 启动的 pod 将被孤立。如果建立多个孤立的 Pod,这可能会导致性能下降。设置一个值以确保 Pod 在作业完成后删除。

终结器

要向 Kubernetes 指示在资源删除之前要执行特定操作,请使用清单文件创建一个资源并设置metadata.finalizers字段。

终结器类似于注释。真正的魔力在于管理终结器的控制器。例如,在使用 PersistentVolume 时,通常使用kubernetes.io/pv-protection 的终结器。这样可以防止 PersistentVolume 被管理员删除,或者可以防止在删除终结器之前删除 pod 的自动化进程。如果 Pod 正在使用被删除的 PersistentVolume,则资源会被标记为 Terminating,但在删除终结器键之前无法删除。持久卷控制器只会在 Pod 停止使用 PersistentVolume 时清除终结器,这让控制器可以删除 PersistentVolume。


来源:IT微工场内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯