1.LXCFS简介

LXCFS,是一个开源的FUSE(用户态文件系统),支持LXC容器,同时支持Docker容器。启动以后会在指定目录中维护 /proc目录中的文件同名的文件,从而保证容器读取数据时读取到lxcfs维护的/proc文件中状态数据。

LXCFS提供procfs中的信息:

/proc/cpuinfo
/proc/diskstats
/proc/meminfo
/proc/stat
/proc/swaps
/proc/uptime
/proc/slabinfo
/sys/devices/system/cpu/online

2.安装

Ubuntu系统:apt安装

# 安装
apt install lxcfs
# 使用帮助
lxcfs -h

在这里插入图片描述
在这里插入图片描述

Centos7系统:编译安装

yum install fuse fuse-lib fuse-devel
git clone git://github.com/lxc/lxcfs
cd lxcfs
./bootstrap.sh
./configure
make
make install

3.应用

lxcfs启动

# 启动
lxcfs /var/lib/lxcfs

Docker使用

限制容器内存:

docker run -it -m 512m \
      -v /var/lib/lxcfs/proc/cpuinfo:/proc/cpuinfo:rw \
      -v /var/lib/lxcfs/proc/diskstats:/proc/diskstats:rw \
      -v /var/lib/lxcfs/proc/meminfo:/proc/meminfo:rw \
      -v /var/lib/lxcfs/proc/stat:/proc/stat:rw \
      -v /var/lib/lxcfs/proc/swaps:/proc/swaps:rw \
      -v /var/lib/lxcfs/proc/uptime:/proc/uptime:rw \
      ubuntu:latest /bin/bash

分别在宿主机和容器中查看内存状态:符合预期
容器:512m
宿主机:2G
在这里插入图片描述

k8s使用

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐