本文主要介绍通过 Kubernetes CustomResourceDefinition(CRD)的方式创建和管理 VCI 镜像缓存的方法。
前提条件
- 已创建 VCI 业务相关集群。详细操作,请参见 创建托管集群。
- 已准备 VCI 实例所需的容器镜像。支持使用火山引擎镜像仓库(CR)中的镜像,也支持使用第三方镜像仓库中的镜像。上传镜像到 CR 的操作,请参见 推送和拉取镜像。
基于 ImageCache 创建 VCI 镜像缓存
- 创建 VCI 镜像缓存对应的 ImageCache Custom Resource。示例 YAML 文件imagecache-test.yaml代码如下:
使用 ImageCache 关联存量 VCI 镜像缓存实例
- 创建 ImageCache Custom Resource,关联已有的 VCI 镜像缓存实例。示例 YAML 文件imagecache-exist.yaml代码如下:
查询 ImageCache 的状态和最新信息
VCI 镜像缓存创建后,ImageCache Controller 会获取镜像缓存的最新信息,并同步到 ImageCache 的描述中,您可以通过get ImageCache命令来获取镜像缓存的最新状态和信息。
说明
- 镜像缓存创建完成后的状态,可以回写到对应 ImageCache Custom Resource 的status字段中。
- 如果通过 openAPI 的 UpdateImageCache 接口更新镜像缓存信息,则对应 ImageCache Custom Resource 的信息也会被刷新。
- 当镜像缓存被删除或者清理后,更新 Custom Resource 对象的状态,而不是直接删除。
ImageCache Custom Resource 内容如下所示:
通过 ImageCache 删除 VCI 镜像缓存
当您通过delete命令删除 ImageCache Custom Resource 时,ImageCache Controller 将会联动删除对应的 VCI 镜像缓存。
下方命令以删除名为imagecache-test的 ImageCache Custom Resource 为例,执行命令后,imagecache-test对应的 VCI 镜像缓存会被删除。
通过 ImageCache 更新 VCI 镜像缓存
当您更新 ImageCache Custom Resource 时,ImageCache Controller 将会联动更新对应的 VCI 镜像缓存。
说明
- 当镜像缓存的状态为Ready时,必须修改images字段(可以同时修改其他字段),才会触发镜像缓存更新。
- 当镜像缓存的状态为Failed时,修改下方 YAML 中可更新的字段,均可以触发镜像缓存更新。
支持更新的字段说明,请见如下 YAML 文件中的注释(除了提示 不支持更新 的注释以外,其余带有注释的参数,均支持更新)。
基于事件通知自动更新 VCI 镜像缓存
在创建 VCI 镜像缓存对应的 ImageCache Custom Resource 时,支持配置镜像仓库事件通知规则,实现基于事件通知自动更新 VCI 镜像缓存。
- 创建 VCI 镜像缓存对应的 ImageCache Custom Resource,并配置镜像仓库事件通知规则。示例 YAML 文件imagecache-test.yaml代码如下:
- 创建完成包含镜像仓库事件通知规则的 ImageCache Custom Resource 后,查询该 ImageCache 时,YAML 文件中的status字段说明如下所示。查询方法,请参见本文上方 查询 ImageCache 的状态和最新信息。