操作场景
容器镜像服务可搭配云容器引擎CCE一起使用,实现镜像版本更新时自动更新使用该镜像的应用。您只需要为镜像添加一个触发器,通过触发器,可以在每次生成新的镜像版本时,自动执行更新动作,如:自动更新使用该镜像的应用。
前提条件
更新应用镜像版本之前,请确保已创建容器应用,将镜像部署到云容器引擎CCE或云容器实例CCI。
如未创建,请登录云容器引擎工作负载页面进行创建,具体创建方法请参见云容器引擎用户指南。
操作步骤
步骤 1 登录容器镜像服务控制台。
步骤 2 在左侧导航栏选择“我的镜像”,单击右侧镜像名称,进入镜像详情页。
步骤 3 选择“触发器”页签,单击“添加触发器”,填写相关参数,然后单击“确定”。
图 添加触发器
表 触发器
参数 | 说明 |
---|---|
触发器名称 | 自定义触发器的名称。字母开头,由字母、数字、下划线_、中划线-组成,下划线、中划线不能连续且不能作为结尾,1-64个字符。 |
触发条件 | 支持如下三种触发条件,当镜像有新版本时,触发部署应用。 全部触发:有新的镜像版本生成或镜像版本发生更新时,触发部署。 指定版本号触发:有指定镜像版本生成或更新时,触发部署。 正则触发:有符合正则表达式的镜像版本生成或更新时,触发部署。正则表达式规则如下: − ***** :匹配不包含路径分隔符“/”的任何字段。 − ****** :匹配包含路径分隔符“/”的任何字段。 −?:匹配任何单个非“/”的字符。 −{选项1, 选项2, ...}:同时匹配多个选项。 |
触发动作 | 当前仅支持更新容器的镜像,需指定更新的应用,以及该应用下的容器。 |
触发器状态 | 选择“启用”。 |
触发器类型 | 选择“云容器引擎CCE”。 |
选择应用 | 选择要更新镜像的容器。 |
示例1:触发条件为“全部触发”
假设有一个欢迎页面为“Hello, SWR!”的Nginx镜像(版本号为v1),使用该镜像创建了名称为“nginx”的无状态负载,该负载提供对外访问。
- 为Nginx镜像添加触发器。
触发器名称填写“All_tags”,触发条件选择“全部触发”,选择使用了Nginx镜像的无状态负载及容器。
- 为Nginx镜像新增一个v2版本,该版本的欢迎页面为“Hello, SoftWare Repository for Container!”。
- 确认是否触发成功。
在“触发器”页签,单击图标,查看触发结果为“成功”。
图 触发结果
工作负载的访问页面已变更为“Hello, SoftWare Repository for Container!”。
示例2:触发条件为“正则触发”
假设有一个欢迎页面为“Hello, SWR!”的Nginx镜像(版本号为v1),使用该镜像创建了名称为“nginx”的无状态负载,该负载提供对外访问。
- 为Nginx镜像添加触发器。
触发器名称填写“Tags_regular_expression”,触发条件选择“正则触发”,输入正则表达式:^v2.*(匹配以v2开头的版本号),选择使用了Nginx镜像的无状态负载及容器。
-
为Nginx镜像新增一个v1.0.0版本,该版本的欢迎页面为“Hello, SWR! (v1.0.0)”。
-
为Nginx镜像再新增一个v2.0.0版本,该版本的欢迎页面为“Hello, SWR! (v2.0.0)”。
-
确认是否触发成功。
在“触发器”页签,单击图标,查看触发结果。可以看出,只有v2.0.0版本被触发了应用的自动更新,符合设置的正则表达式规则。
图 触发结果示例
工作负载的访问页面已变更为“Hello, SWR! (v2.0.0)”。