理解云计算的实质,Kubernetes就好理解了,它提供的是容器云。在私有数据中心,服务运行在物理主机的Host OS上,云计算场景下运行在虚拟机上,k8s场景下应用运行在容器内,容器替代了虚拟机。
容器是什么?
在Linux上,容器技术的底层实现机制是Linux Kernel的Control Group(CGroup)。它维护各种各样的名字空间(进程ID,IPC,网络等等),并按照Group管理系统资源分配和释放。可以在每个CGroup上施加限制(CPU、内存、IO等等),确保资源的使用配额。所有的容器可以有自己的资源和文件系统镜像。但是共享内核、容器比虚拟机开销小,性能上占优势,虚拟机比容器隔离性(isolation)好,更容易保证不同租客不相互影响。
容器技术有多种选择,Docker和Singularity是两种比较流行的选择。它们的底层机制是共通的,但是在镜像管理上有差别。Docker通过层(Layer)与层的叠加优化镜像空间的利用率,通过Overlay2文件系统实现只读共享和写时拷贝。S