0
点赞
收藏
分享

微信扫一扫

docker安全之容器资源控制 安全加固

吴陆奇 2022-03-11 阅读 107

目录

一、cgroup简介

二、 容器资源控制

1、内存限制

​2、cpu限额

​3、Block IO限制

​三、docker 安全加固


在使用 docker 运行容器时,默认的情况下,docker没有对容器进行硬件资源的限制,当一台主机上运行几百个容器,这些容器虽然互相隔离,但是底层却使用着相同的 CPU、内存和磁盘资源。如果不对容器使用的资源进行限制,那么容器之间会互相影响,小的来说会导致容器资源使用不公平;大的来说,可能会导致主机和集群资源耗尽,服务完全不可用。

docker 作为容器的管理者,自然提供了控制容器资源的功能。正如使用内核的 namespace 来做容器之间的隔离,docker 也是通过内核的 cgroups 来做容器的资源限制;包括CPU、内存、磁盘三大方面,基本覆盖了常见的资源配额和使用量控制

一、cgroup简介

   Linux Cgroups 的全称是 Linux Control Group。 是限制一个进程组能够使用的资源上限,包括 CPU、内存、磁盘、网络带宽等等。 对进程进行优先级设置、审计,以及将进程挂起和恢复等操作。 Linux Cgroups 给用户暴露出来的操作接口是文件系统。 它以文件和目录的方式组织在操作系统的 /sys/fs/cgroup 路径下。 执行此命令查看:mount -t cgroup   

   在 /sys/fs/cgroup 下面有很多诸如 cpuset、cpu、 memory 这样的子目录,也叫子系统。 在每个子系统下面,为每个容器创建一个控制组(即创建一个新目录)。 控制组下面的资源文件里填上什么值,就靠用户执行 docker run 时的参数指定。

 

二、 容器资源控制

1、内存限制

  2、cpu限额

Linux 通过 CFS(Completely Fair Scheduler,完全公平调度器)来调度各个进程对 CPU 的使用。CFS 默认的调度周期是 100ms。

3、Block IO限制

三、docker 安全加固

 

在容器内查看内存时显示的是宿主机的内存信息,为了安全起见有时候需要做限制

把lxcfs-2.0.5-3.el7.centos.x86_64.rpm从真机中传到docker1

利用LXCFS增强docker容器隔离性和资源可见性 

 

 

 

举报

相关推荐

0 条评论