目录
Pod 的本质是什么?
- 容器的本质是一个进程,是一个视图被隔离,资源被受限的进程。
- 容器镜像的本质是一个包含了容器运行时全部所需文件的集合。
- Kubernetes 的本质是是云时代的操作系统,它管理着这些进程(容器)。
实际上,一个生产应用往往需要多个进程之间(进程组)的协同才能完成工作,所以同一个进程组中的进程应该统一被原子性的进行调度、运行和销毁。
可见,Pod 的本质对应的就是一个进程组,是一个最终生产应用的逻辑集合。
Pod 的实现机制
像 Pod 这样一个东西,本身是一个逻辑概念。那在机器上,它究竟是怎么实现的呢?
核心就在于如何让一个 Pod 里的多个容器之间最高效的共享某些资源和数据。因为,容器之间原本是被 Linux Namespace 和 cgroups 隔开的,所以现在实际要解决的是怎么去打破这个隔离,然后共享某些事情和某些信息。这就是 Pod 的设计要解决的核心问题所在。
共享网络
比如说现在有一个 Pod,其中包含了一个容器 A 和一个容器 B,它们两个就要共享 Network