背景简介
Operation Orchestration Service,简称OOS,是全面、免费的云上自动化运维平台,提供运维任务的管理和执行。典型使用场景包括:事件驱动运维,批量操作运维,定时运维任务,跨地域运维等,OOS为重要运维场景提供审批,通知等功能。OOS帮您实现标准化运维任务,从而实践运维即代码(Operations as Code)的先进理念。关于OOS更详细的介绍请参见什么是运维编排服务。本文详细介绍如何使用OOS定时清理指定标签下的镜像。
操作步骤
创建模板
1.登录OOS控制台,在我的模板页面点击创建模板。
2.复制下文提供的模板内容到YAML栏中,输入模板名称(Delete-ExpiredImage),点击创建模板。
模板(Delete-ExpiredImage)内容:
FormatVersion OOS-2019-06-01 Description en Delete expired images by tags zh-cn 通过标签删除指定过期镜像 name-en Delete-ExpiredImage name-zh-cn 删除过期镜像 Parameters regionId Type String Label en RegionId zh-cn 地域ID AssociationProperty RegionId Default'{{ ACS::RegionId }}' force Label en Force zh-cn 是否强制删除镜像 Description zh-cn - <td class="entry colsep-1 rowsep-1"> <p class="p">取值范围: </p> <ul class="ul"> <li class="li">true:强制删除自定义镜像,忽略当前镜像是否被其他实例使用。</li> <li class="li">false:正常删除自定义镜像,删除前检查当前镜像是否被其他实例使用。</li> </ul> <p class="p">默认值:false</p> </td> Type Boolean Defaultfalse expiredDays Label en ExpiredDays zh-cn 镜像过期天数 Type Number Default1 tags Label en Tags zh-cn 镜像标签 Type Json AssociationProperty Tags AssociationPropertyMetadata ShowSystemfalse Default rateControl Label en RateControl zh-cn 任务执行的并发比率 Type Json AssociationProperty RateControl Default Mode Concurrency MaxErrors 100% Concurrency10TasksName describeImages Action ACS ExecuteAPI Description'' Properties Service ECS API DescribeImages Parameters RegionId'{{ regionId }}' ImageOwnerAlias self Tags'{{ tags }}' FilterKey CreationEndTime Value Fn::FormatUTCTimeFn::AddHour'{{ ACS::CurrentUTCTime }}'Fn::Eval'-{{ expiredDays }}*24''%Y-%m-%dT00:00Z' Outputs imageIds Type List ValueSelector .Images.Image .ImageId Name deleteImages Action ACS ECS DeleteImage Description en Delete the expired images. zh-cn 删除过期镜像。 Properties regionId'{{ regionId }}' imageId'{{ ACS::TaskLoopItem }}' Loop Items'{{ describeImages.imageIds }}' RateControl'{{ rateControl }}'Outputs deletedImageIds Type List Value'{{ describeImages.imageIds }}'
定时执行模版
1.找到定时运维,点击创建。
2.定时设置:选择周期性重复执行,配置执行Cron表达式,截图所示为每天0点0分定时执行
3.模板选择:在我的模板选择步骤一创建的模板(Delete-ExpiredImage)。
4.设置参数:选择镜像所在地域,输入过期天数(定时执行时镜像过期的天数,1表示一天前创建的镜像),选择指定镜像标签。点击立即执行。
5.查看详情:点击执行详情。在定时类执行列表中查看即将执行的详情。执行会在指定时间删除目标镜像。