容器 | Cgroup 整体介绍 发表于 2021-07-15 | 分类于 容器 | 0 | 阅读次数 278 Cgroups 是 Control Groups(控制组)的缩写,是 Linux 内核(从 Linux 2.6.24 开始)提供的一种可以用来将任务分组,并对一个进程组所能使用的多种物理资源(包括 CPU、内存、磁盘、网络带宽)进行限制、监控和隔离的功能。此外,Cgroups 还能够对进程进行优先级 阅读全文 »
容器 | Cgroup-Memory Cgroup 发表于 2021-07-15 | 分类于 容器 | 0 | 阅读次数 435 1. Memory GgroupMemory Cgroup 也是 Linux Cgroups 子系统之一,它的作用是对一组进程的 Memory 使用做限制。Memory Cgroup 的虚拟文件系统的挂载点一般在 "/sys/fs/cgroup/memory" 这个目录下。我们可 阅读全文 »
容器 | Cgroup-PID Cgroup 发表于 2021-07-15 | 分类于 容器 | 0 | 阅读次数 152 如果容器中的应用创建过多的进程或者出现 bug,就会产生类似 fork bomb 的行为。fork bomb 就是指在计算机中,通过不断建立新进程来消耗系统中的进程资源,它是一种黑客攻击方式。这样,容器中的进程数就会把整个节点的可用进程总数给消耗完。这样,不但会使同一个节点上的其他容器无法工作,还会 阅读全文 »
容器 | 容器实现原理-安全容器的实现 发表于 2021-07-14 | 分类于 容器 | 0 | 阅读次数 194 1. Kata ContainersDocker 项目发布之后,Google 公司就开源了一个实验性的项目,叫作 novm。这可以算是试图使用常规的虚拟化技术来运行 Docker 镜像的第一次尝试。不过,novm 在开源后不久,就被放弃了,这对于 Google 公司来说或许不算是什么新鲜事,但是 n 阅读全文 »
容器 | 容器实现原理-Docker、Containerd 使用的 runc 的实现 发表于 2021-07-14 | 分类于 容器 | 0 | 阅读次数 194 什么是容器?容器其实是一种特殊的进程而已,只是这个进程运行在自己的 “运行环境” 中,比如有自己的文件系统而不是使用主机的文件系统(文件系统这个对我来说印象是最深刻的,也是让人对容器很更好理解的一个切入点)。有一个计算数值总和的小程序,这个程序的输入来自一个文件,计算完成后的结果则输出到另一个文件中 阅读全文 »
容器 | 如何解决容器相关的问题 发表于 2021-07-13 | 分类于 容器 | 0 | 阅读次数 168 容器问题虽然有很多类型,既有基本功能问题,也有性能问题,还有不少稳定性问题。但大部分问题,最终都会归结到 Linux 操作系统上。Linux 操作系统不外乎是进程管理、内存管理、文件系统、网络协议栈,再加上一些安全管理。容器的问题就都可以投射到 Linux 操作系统这些模块上了。当然了,容器还有自己 阅读全文 »
容器 | 容器安全 发表于 2021-07-12 | 分类于 容器 | 0 | 阅读次数 185 1. 容器安全对于使用容器的用户,在运行容器的时候,在安全方面可以从这两个方面来考虑:第一是赋予容器合理的 capabilities;第二是在容器中以非 root 用户来运行程序。1.1. 容器中的 privileged 权限设置用缺省 docker run的方式启动容器后,在容器里很多操作都是不允 阅读全文 »
容器 | 容器网络 发表于 2021-07-12 | 分类于 容器 | 0 | 阅读次数 208 1. 容器网络容器有自己的 Network Namespace,eth0 是这个 Network Namespace 里的网络接口。而宿主机上也有自己的 eth0,宿主机上的 eth0 对应着真正的物理网卡,可以和外面通讯。要让容器 Network Namespace 中的数据包最终发送到物理网卡上 阅读全文 »
容器 | 容器文件的 Quota 发表于 2021-07-11 | 分类于 容器 | 0 | 阅读次数 291 1. 容器文件的 Quota容器虽然有自己的文件系统,但是容器在容器文件系统(overlayfs)中写入的数据,最终还是存到宿主机的磁盘上,因为容器文件系统其实只是宿主机上的一个目录而已。那么,这不仅影响容器本身,还会影响宿主机。一种方式是通过给容器挂载一个 volume,这个 volume 可以是 阅读全文 »