k8s集群资源(pod、镜像等)自动回收

垃圾收集是 Kubernetes 用于清理集群资源的各种机制的统称。
自动回收机制可以避免随着时间推移,系统中的镜像等越来越多,导致硬盘等资源不足。
垃圾收集允许系统自动清理如下资源:

  • 失败的 Pod
  • 已完成的 Job
  • 不再存在属主引用的对象
  • 未使用的容器和容器镜像
  • 动态制备的、StorageClass 回收策略为 Delete 的 PV 卷
  • 阻滞或者过期的 CertificateSigningRequest (CSRs)
  • 在以下情形中删除了的节点对象:
    – 当集群使用云控制器管理器运行于云端时;
    – 当集群使用类似于云控制器管理器的插件运行在本地环境中时。
  • 节点租约对象

失败的 Pod

对于已失败的 Pod 而言,对应的 API 对象仍然会保留在集群的 API 服务器上, 直到用户或者控制器进程显式地将其删除。
Pod 的垃圾收集器(PodGC)是控制平面的控制器,它会在 Pod 个数超出所配置的阈值 (根据 kube-controller-manager 的 terminated-pod-gc-threshold 设置)时删除已终止的 Pod(阶段值为 Succeeded 或 Failed)。 这一行为会避免随着时间演进不断创建和终止 Pod 而引起的资源泄露问题。

此外,PodGC 会清理满足以下任一条件的所有 Pod:

  1. 孤儿 Pod - 绑定到不再存在的节点,
  2. 计划外终止的 Pod
  3. 终止过程中的 Pod,当启用 NodeOutOfServiceVolumeDetach 特性门控时, 绑定到有 node.kubernetes.io/out-

相关推荐

  1. k8s资源pod镜像自动回收

    2024-02-04 12:56:03       47 阅读
  2. K8S

    2024-02-04 12:56:03       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-04 12:56:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-04 12:56:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-04 12:56:03       82 阅读
  4. Python语言-面向对象

    2024-02-04 12:56:03       91 阅读

热门阅读

  1. 使用NLTK进行自然语言处理:英文和中文示例

    2024-02-04 12:56:03       60 阅读
  2. offsetof 判断结构体中成员的偏移

    2024-02-04 12:56:03       54 阅读
  3. Git工作中常用命令

    2024-02-04 12:56:03       50 阅读
  4. C语言-1

    2024-02-04 12:56:03       40 阅读
  5. 开源软件的影响力

    2024-02-04 12:56:03       57 阅读
  6. 【BBF系列协议】TR181-1 TR069的设备数据模型

    2024-02-04 12:56:03       49 阅读
  7. C++指针

    2024-02-04 12:56:03       57 阅读