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 ...
随机推荐
- Orchard core 中文文档翻译系列
本系列翻译顺序完全参照 官方顺序 原文地址:https://orchardcore.readthedocs.io/en/latest/ Orchard Core 中文文档翻译(一)关于Orchard ...
- CRM订单状态的Open, In process和Completed这些条目是从哪里来的
Service Order的状态字段里的这些字段从哪里带出来的?我们可能会想当然的认为是从后台配的Status profile里带出来的.事实并非如此. 这个transaction type根本没有分 ...
- 【P2447 [SDOI2010]外星千足虫】 题解
题目链接:https://www.luogu.org/problemnew/show/P2447 dalao们都说简单...解异或方程组 可我不是dalao qwq #include <algo ...
- [luoguP3627][APIO2009]抢掠计划
先来看一下题目描述: 题目描述 Siruseri 城中的道路都是单向的.不同的道路由路口连接.按照法律的规定, 在每个路口都设立了一个 Siruseri 银行的 ATM 取款机.令人奇怪的是,Siru ...
- 【题解】洛谷P1066 [NOIP2006TG] 2^k进制数(复杂高精+组合推导)
洛谷P1066:https://www.luogu.org/problemnew/show/P1066 思路 挺难的一道题 也很复杂 满足题目要求的种数是两类组合数之和 r的最多位数m为 w/k(当w ...
- RPC的应用(The lowest layer of RPC)
server端代码: #include <stdio.h>#include <rpc/rpc.h>#include <rpcsvc/rusers.h> void n ...
- oracle官网下载教程
1.百度搜索oracle 也可以直接点击进入 oracle官网 或直接进入 下载页面 2.选择中文,看的更容易些 3.拉到最下面,选择所有下载和试用 4.选择数据库下载 5.点击下载对 ...
- Ajax跨域(jsonp) 调用JAVA后台
1. JSONP定义 JSONP是英文JSON with Padding的缩写,是一个非官方的协议.它允许在服务器端生成script tags返回至客户端,通过javascript callba ...
- vue、html与iframe html事件相互调用
一.html文件中引入的iframe标签 1.在父html中调用子iframe html 中的事件 通过contentwindow属性 document.getElementById("my ...
- MySql Connector/c++8中JSON处理Demo
#include <iostream> #include <vector> #include <mysqlx/xdevapi.h> using std::cout; ...