
理解云计算的实质,Kubernetes就好理解了,它提供的是容器云。在私有数据中心,服务运行在物理主机的Host OS上,云计算场景下运行在虚拟机上,k8s场景下应用运行在容器内,容器替代了虚拟机。
容器是什么?
在Linux上,容器技术的底层实现机制是Linux Kernel的Control Group(CGroup)。它维护各种各样的名字空间(进程ID,IPC,网络等等),并按照Group管理系统资源分配和释放。可以在每个CGroup上施加限制(CPU、内存、IO等等),确保资源的使用配额。所有的容器可以有自己的资源和文件系统镜像。但是共享内核、容器比虚拟机开销小,性能上占优势,虚拟机比容器隔离性(isolation)好,更容易保证不同租客不相互影响。
容器技术有多种选择,Docker和Singularity是两种比较流行的选择。它们的底层机制是共通的,但是在镜像管理上有差别。Docker通过层(Layer)与层的叠加优化镜像空间的利用率,通过Overlay2文件系统实现只读共享和写时拷贝。Singularity采用不同的文件格式(SIF),通过压缩技术优化空间利用率,镜像主体部分只读共享。无论Docker和Singularity都不适合容器内部大量读写,所以容器需要和外部存储结合使用,容器镜像承载只读的二进制程序和软件包,外部存储承载程序的数据读写。
k8s从哪里来?
k8s源于Google的开源项目Kubernetes。尴尬的是Google内部真正使用的系统叫Borg,不是k8s。有一种野史说法是,Google将Borg中的一些边缘技术通过Golang实现,变成了K

Kubernetes(k8s)源自Google的Borg项目,提供容器云服务,核心功能是容器编排和管理。它适合部署有状态服务,但在HPC场景下存在挑战。云原生是k8s倡导的概念,强调为云而设计的应用。随着技术发展,k8s将继续影响云服务和应用架构。

1448

被折叠的 条评论
为什么被折叠?



