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