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