java中如何利用LXCFS增强容器隔离性和资源可见性

这篇文章给大家分享的是有关java中如何利用LXCFS增强容器隔离性和资源可见性的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

专注于为中小企业提供做网站、网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业左贡免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

JVM会根据宿主机的内存去分配堆内存,所以经常在给容器配额的场景下直接导致java类应用起不来,当然如java10会更好的适配容器,所以本文通过介绍lxcfs来解决容器里面资源可见性问题,让容器内看到的是真实的容器配额资源量。

本文主要讲解如何使用lxcfs增强容器的隔离性和可见性。并使用二进制部署包使用,减轻部署难度。可在离线环境中使用。

基于LXCFS增强docker容器隔离性的分析https://blog.csdn.net/s1234567_89/article/details/50722915

Kubernetes之路 2 - 利用LXCFS提升容器资源可见性https://yq.aliyun.com/articles/566208

使用二进制lxcfs包进行安装部署,下载地址为:https://github.com/cuisongliu/lxcfs/releases/download/lxcfs-3.0.3-binary-install/lxcfs.tar.gz

确保系统中是否有fusermount命令,系统使用fusermount进行卸载挂载点。

安装如图:

java中如何利用LXCFS增强容器隔离性和资源可见性

lxcfs安装步骤

操作是不是很easy?下面我们对比一下效果。

首先是在没有安装lxcfs的主机上执行命令:

bash
1
2
docker run --rm -ti  -m 200m ubuntu bash
free -m

效果如图所示:

java中如何利用LXCFS增强容器隔离性和资源可见性

未使用lxcfs效果图

接下来我们在安装了lxcfs的主机上同样执行命令

bash
1
2
3
4
5
6
7
8
docker run --rm -it -m 200m \
     -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 bash

效果如图所示:

java中如何利用LXCFS增强容器隔离性和资源可见性

使用lxcfs效果图

到这里lxcfs已经生效了。

这里讲解了docker的使用,对于k8s用户建议使用 https://github.com/fanux/kube/releases/tag/v.12.5-lxcfs-gate 替换k8s的kebelet即可。这是在原生k8s基础上定制集成的一个版本,这样所有的k8s pod都会默认使用了lxcfs

感谢各位的阅读!关于“java中如何利用LXCFS增强容器隔离性和资源可见性”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


当前文章:java中如何利用LXCFS增强容器隔离性和资源可见性
文章源于:http://pwwzsj.com/article/pjjgci.html