Kubernetes之路 2 - 利用LXCFS提升容器资源可见性

摘要:  这是本系列的第2篇内容,将介绍在Docker和Kubernetes环境中解决遗留应用无法识别容器资源限制的问题。
Kubernetes之路 2 - 利用LXCFS提升容器资源可见性_第1张图片
本系列文章记录了企业客户在应用Kubernetes时的一些常见问题
  • 第一篇:Java应用资源限制的迷思
  • 第二篇:利用LXCFS提升容器资源可见性
  • 第三篇:解决服务依赖

这是本系列的第2篇内容,将介绍在Docker和Kubernetes环境中解决遗留应用无法识别容器资源限制的问题。

Linuxs利用Cgroup实现了对容器的资源限制,但在容器内部依然缺省挂载了宿主机上 的procfs的/proc目 ,其包含如:meminfo, cpuinfo,stat, uptime等资源信息。一些监控工具如free/top或遗留应用还依赖上述文件内容获取资源配置和使用情况。当它们在容器中运行时,就会把宿主机的资源状态读取出来,引起错误和不便。

LXCFS简介

社区中常见的做法是利用  lxcfs 来提供容器中的资源可见性。lxcfs 是一个开源的FUSE(用户态文件系统)实现来支持LXC容器,它也可以支持Docker容器。

LXCFS通过用户态文件系统,在容器中提供下列 procfs 的 件。

/proc/cpuinfo/proc/diskstats/proc/meminfo/proc/stat/proc/swaps/proc/uptime

LXCFS的示意图如下

你可能感兴趣的:(容器)