Kubernetes-GC
Kubernetes集群中垃圾回收(Garbage Collection)机制由kubelet完成。kubelet定期清理不再使用的容器和镜像,每分钟进行一次容器的GC操作,每五分钟进行一次镜像的GC操作。
容器(Container)的GC设置
能够被清理的容器只能是仅由kubelet管理的容器。在kubelet节点上通过docker run创建的容器不会被kubelet进行GC清理操作。
kubelet以下3个参数用于设置容器GC的条件:
- --minimum-container-ttl-duration:已停止的容器在被清理之前最小的存活时间,例如“300ms”、“10s”、“2h45m”,超过此存活时间的容器将被标记为可被GC清理,默认值为1分钟。
- --maximum-dead-containers-per-container:以Pod为单位的可以保留的已停止的(属于同一Pod的)容器集的最大数量。有时,Pod中容器运行失败或者健康检查失败后,会被kubelet自动重启,这将产生一些停止的容器。默认值为2。
- --maximum-dead-containers:在本node上保留的已停止容器的最大数量,由于停止的容器也会消耗磁盘空间,所以超过该上限后,kubelet会自动清理已停止的容器释放磁盘空间,默认值为240。
如需关闭针对容器的GC操作,可以将--minimun-container-ttl-duration设置为0,将--maximum-dead-containers-per-container和--maximum-dead-containers设置为负数。
镜像(Image)的GC操作
Kubernetes系统中通过imageController和kubelet中集成的cAdvisor共同管理镜像的生命周期,主要根据本node的磁盘使用触发镜像的GC操作。
Kubelet的以下3个参数用于设置GC的条件:
- --minimum-image-ttl-duration:不再使用的镜像在被清理之前最小的存活时间;
- --image-gc-high-threshold:当磁盘使用率达到该值时,触发镜像的GC操作,默认值为90%;
- --image-gc-low-threshold:当磁盘使用率降到该值时,GC操作结束,默认值是80%;
删除镜像的机制为:当磁盘使用率达到image-gc-high-threshold(例如90%)时触发,GC操作从最久未使用(Least Recently Used)的镜像开始删除,知道磁盘使用率将为image-gc-low-threshold(80%)或没有镜像可删为止。
Kubernetes-GC的更多相关文章
- kubernetes资源优化
kubernetes资源优化方向 系统参数限制 设置系统内核参数: vm.overcommit_memory = 0 vm.swappiness = 0 sysctl -p #生效 内核参数overc ...
- Kubebuilder模块
CRD创建 Group表示CRD所属的组,它可以支持多种不同版本.不同类型的资源构建,Version表示CRD的版本号,Kind表示CRD的类型 kubebuilder create api --gr ...
- kubernetes听云实战发布版
➠更多技术干货请戳:听云博客 听云线上使用k8s已经有一段时间了,下面对一些听云使用过程中的问题进行一些梳理,包括架构设计,安装部署和后期维护. 目录结构如下: 下面进入正题: 我们以听云系统的一个报 ...
- kubernetes1.4 基础篇:Learn Kubernetes 1.4 by 6 steps
本教程受Kubernetes官方最新更新的文档所触发,之所以没有做单纯的翻译是因为如下几个原因: Kubernetes官方此教程基于minikube,个人对minikube可能有偏见,觉得像玩具. M ...
- Kubernetes DNS 简介
环境 $ sudo lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16 ...
- 讨论.NET Core 配置对GC 工作模式与内存的影响
引出问题: Asp.net core应用在 Kubernetes上内存使用率过高问题分析 https://mp.weixin.qq.com/s/PqhUzvFpzopU7rVRgdy7eg 这篇文章中 ...
- kubernetes入门实践
k8s中文文档 k8s概念比较多,有什么概念的疑惑的推荐看k8s中文文档. me的环境 操作系统:centos7 docker:1.12.6 环境跟me的不一致?不要慌,基本大部分操作都是行的通的. ...
- kubernetes之监控Prometheus实战--prometheus介绍--获取监控(一)
Prometheus介绍 Prometheus是一个最初在SoundCloud上构建的开源监控系统 .它现在是一个独立的开源项目,为了强调这一点,并说明项目的治理结构,Prometheus 于2016 ...
- 二进制安装部署kubernetes集群---超详细教程
本文收录在容器技术学习系列文章总目录 前言:本篇博客是博主踩过无数坑,反复查阅资料,一步步搭建完成后整理的个人心得,分享给大家~~~ 本文所需的安装包,都上传在我的网盘中,需要的可以打赏博主一杯咖啡钱 ...
- kubernetes系列05—kubectl应用快速入门
本文收录在容器技术学习系列文章总目录 1.使用kubectl 1.1 介绍 kubectl用于运行Kubernetes集群命令的管理工具. 1.2 语法 kubectl [command] [TYPE ...
随机推荐
- day009-IO流
什么叫流?就是数据的流动.以内存为基准,分为输入input和输出output.输入也叫做读取数据,输出也叫写出数据. 分类 按数据的流向分: 输入流.输出流 按数据类型分: 字节流.字符流 1. ...
- RAC环境修改数据库字符集
sql> alter system set cluster_database=false scope=spfile sid='qcjk1'; --------注意sid根据不同环境要修改 在 ...
- 每天一个linux命令(21):chgrp,chown,chmod
这三个命令都是改变文件属性与权限的,就放一起写了 charp:改变文件所属用户组 chown:改变文件所属者 chmod:改变文件的权限 一个文件对于owner,group ,others有不同的权限 ...
- solidity开发之windows下配置remix本地环境遇到的问题及解决
本人按照这个教程配置remix本地环境.[https://cloud.tencent.com/developer/article/1374376] win+R打开管理员终端,在欲配置为本地目录的路径执 ...
- POJ 1088 滑雪 【记忆化搜索经典】
题目链接:http://poj.org/problem?id=1088 滑雪 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: ...
- [19/03/23-星期六] 容器_ 泛型Generics
一.概念 生活中的容器不难理解,是用来容纳物体的,程序中的“容器”也有类似的功能,就是用来容纳和管理数据. 数组就是一种容器,可以在其中放置对象或基本类型数据. ---优势:是一种简单的线性序列,可以 ...
- js 跳转整理
js方式的页面跳转1.window.location.href方式 <script language="javascript" type="text/java ...
- kinect v2
http://www.tuicool.com/articles/NbmyyeU https://channel9.msdn.com/Blogs/raw-tech/Making-your-body-th ...
- select 获取选中option的值方法,选中option方法
options=$("#Select option:selected"); options.attr('name');options.val(); options.text(); ...
- Spring知识点总结(三)之Spring DI
1. IOC(DI) - 控制反转(依赖注入) 所谓的IOC称之为控制反转,简单来说就是将对象的创建的权利及对象的生命周期的管理过程交由Spring框架来处理,从此在开发过程中不再需要关注对象的创建和 ...