传统容器运行需要将全量镜像数据下载后再解包,然而容器启动可能仅使用其中部分的内容,导致容器启动耗时长。通过容器镜像服务企业版的按需加载功能,您可以在业务部署中使用加速镜像版本,实现镜像数据免全量下载和在线解压,大幅提升应用分发效率,享受极致的弹性体验。本文介绍如何按需加载容器镜像。
前置条件
已开通企业版镜像服务
已开通云容器引擎集群
背景信息
通过按需加速功能,您可以在部署业务工作负载时使用加速镜像,实现镜像数据免全量下载和在线解压,大幅度提升应用分发效率,缩短容器启动时间,减少容器镜像所消耗的存储空间。加速效果与镜像大小以及网络等因素有关。
注意
在创建容器实例时,选用Containerd作为容器运行时的集群支持使用镜像加速,而对于选用Docker作为运行时的实例则不支持使用。
转换加速镜像
通过在镜像仓库或者在命名空间级别启用自动转换加速镜像,在上传镜像后会自动转换成加速镜像。镜像转换时间取决于镜像大小,对原始镜像不做任何变更改动。
转换后的加速镜像与原始镜像所在的命名空间及镜像仓库保持一致,仅镜像版本(即镜像的Tag)比原始镜像多增加了“accelerated”后缀。
注意
1.在已有命名空间或镜像仓库中开启镜像加速自动转换,所覆盖的命名空间或镜像仓库下的存量镜像则不会自动转换;
2.加速镜像会增加对象存储Bucket的使用量;
3.因加速镜像转换需要一定耗时,建议提前提前上传镜像,预留足够的转化时长,以免影响业务的发布时间,例如,转换 40GiB 的镜像大约耗时 30 分钟;
4.随着镜像容量增加,除了增加转换时长,同样也会增加转换失败的风险,建议转的镜像容量控制在60GiB以内。
登录容器镜像控制台。
在顶部菜单栏,选择所需资源池。
在实例页面中选择指定的企业版实例。
在命名空间中开启镜像加速:在企业版实例管理页面的左侧菜单上选择 "容器镜像" - "命名空间"。在命名空间创建时,打开开启镜像加速开关,其余信息点填写完成后点击创建按钮。对于现存的命名空间,在命名空间列表中的开启镜像加速开关列中,打开开关。
在镜像仓库中开启镜像加速:在企业版实例管理页面的左侧菜单上选择 "容器镜像" - "镜像仓库"。在未开启镜像加速的命名空间下创建镜像仓库时,打开开启镜像加速开关,其余信息点填写完成后点击创建。对于现存的镜像仓库,在镜像仓库列表中,选择未开启镜像加速的命名空间下的镜像仓库,点击编辑,在编辑页面中打开开启镜像加速开关,然后点击更新按钮。
在启用镜像加速的命名空间或者镜像仓库中上传镜像,稍等片刻后,在镜像仓库的版本列表页中查看到已经转换完成的带“accelerated”后缀的加速镜像,转换时间受镜像自身大小影响。
使用加速镜像
节点打标
在创建云容器引擎集群的worker节点时,您可以给节点打上标签 ctyun.cn/image-accelerate-enabled=true,以标记此节点能运行加速镜像,可在节点上部署镜像加速所需插件。在为容器集群扩容时,您可以给新加节点打上标签 ctyun.cn/image-accelerate-enabled=true
说明
加速容器需运行在加速节点上,加速节点可同时支持普通容器与加速容器的运行。
如果是为存量节点设置该标签,在安装插件时会重启运行时,会对现有容器有所影响,风险请自行评估。
安装插件
登录云容器引擎控制台,进入所需集群。
在菜单上点击 "插件" - "插件市场",在插件列表中查找插件cube-acceleration-suite,点击安装。
在弹出侧栏中点击安装,页面会跳转到插件实例,待状态一列转变成运行中,表示插件安装成功。
运行加速镜像的工作负载
在创建工作负载时,或者给现有的工作负载更替镜像时,在镜像版本选择框选用是否加速镜像一列为“是”的镜像,点击确认,则可使用加速镜像。或者直接给工作负载的Pod标签打上 ctyun.cn/image-accelerate-mode: on-demand,届时会给Pod中的所用的镜像都自动更替成加速镜像。