APP下载

Google平行化容器启动与资料下载,大幅加快GKE应用程序启动速度

消息来源:baojiabao.com 作者: 发布时间:2024-11-25

报价宝综合消息Google平行化容器启动与资料下载,大幅加快GKE应用程序启动速度

Google在其Kubernetes服务GKE中,添加映像档串流新功能,官方提到,这是一个革命性的功能,能够明显缩短应用程序扩展的时间,让企业有能力更快地回应突然增加的用户需求,并且也能配置更少的备用容量来节省支出。

映像档串流能够将映像档的拉取时间降到数秒钟,即便是大型映像档,也能忽略容器大小,使得用户的应用程序,能够在GKE串流容器资料的同时快速启动。

Google解释,传统Kubernetes扩展应用程序的工作方式,必须要等到容器映像档完全下载到节点上,才能开始启动应用程序。因此当容器映像档越大,启动需要的时间就越长,尽管大多数应用程序,其实不需要等到容器中每字节资料都到齐,就可以开始启动,Google举例,像是应用程序可能会花费大量时间连接到外部数据库,就几乎不需要用到来自映像档的任何资料。

因此Google想让应用程序在需要的时候,再将资料交付给应用程序,以节省额外下载资料的时间,因此开发出了映像档串流技术,其运作的原理是使用网络挂载的方式,在containerd中挂载容器资料层。

一旦用户的映像档挂载完成,容器就能在数秒钟内,从ImagePulling状态转换成为Running,这能有效平行化应用程序启动和需要的容器资料传输,因此用户也就能获得更快的容器启动和自动缩放速度。Google提到,映像档串流的效能根据配置而有所不同,但一般而言,映像档越大,使用映像档串流所获得的好处就越大。

除了平行资料传输之外,GKE映像档串流还采用多层级快取系统,从节点上的内存和磁盘快取开始,向上到地区层级的Artifact Registry,官方提到,该快取是专为映像档串流设计,使用与Cloud Spanner相同的技术。

不过,由于映像档串流容器读取的资料来自网络串流传输,与从磁盘读取的速度相比还是稍慢,但是Google提到,这个影响会在容器启动的时候被抵消,因为容器可以跳过整个映像档拉取过程,而在应用程序开始执行之后,就能够获得相同的读取效能。GKE还是会像过去一样,平行下载完整的容器映像档,只要下载完成,容器就能获得相同的磁盘读取效能。

用户要使用GKE映像档串流功能,就必须要使用Google的构件注册表Artifact Registry,Container Registry或是外部的容器注册表均不支援映像档串流。无论是新的或是现有GKE丛集,都可以使用这个新功能,Google提醒用户,映像档串流会在节点上预留部分内存供快取使用,这样会减少节点上可用于工作负载的内存。

2021-11-08 09:46:00

相关文章