zl程序教程

您现在的位置是:首页 >  系统

当前栏目

《Kubernetes网络权威指南》读书笔记 | 主角登场:Linux容器

LinuxKubernetes网络容器 指南 读书笔记 权威 登场
2023-09-14 09:09:06 时间

书籍来源:《Kubernetes网络权威指南:基础、原理与实践》

一边学习一边整理读书笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:《Kubernetes网络权威指南》读书笔记 | 汇总_COCOgsta的博客-CSDN博客


2.1.1 容器是什么

容器不是模拟一个完整的操作系统,而是对进程进行隔离。容器是进程级别的隔离技术,因此相比虚拟机有启动快、占用资源少、体积小等优点。

目前最流行的Linux容器非Docker莫属,它将应用程序与该程序的依赖打包在同一个文件里(即Docker image)。运行Docker image就会生成一个Docker容器。程序在这个虚拟容器里运行就像是在物理机上或虚拟机上运行一样。

2.1.2 容器与虚拟机对比

传统的虚拟机需要模拟整台机器,包括硬件(因此,虚拟机方案需要硬件的支持,例如VT-X),每台虚拟机都需要有自己的操作系统。每台虚拟机包括应用程序、必要的依赖库,以及一个完整的用户操作系统。

容器和宿主机共享操作系统,而且可以实现资源的动态分配。容器包含应用程序和所依赖的软件包,并且不同容器之间共享内核。在宿主机操作系统中,不同容器在用户空间以隔离的方式运行着各自的进程。容器与虚拟机对比如图2-1所示。

图2-1 容器与虚拟机对比

从图2-1可以看出,虚拟机和容器最大的区别在于没有Guest OS(客户虚拟机)这一层。

容器没有Hypervisor这一层,有Docker Engine这一层。Docker Engine远远比Hypervisor轻量,它只负责对Linux内核namespace API的封装和调用,真正的内核虚拟化技术是由Linux提供的。