使用OOS定时清理指定Tag下的镜像

简介: 使用OOS定时清理指定标签下的镜像

背景简介

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
    Default: false  expiredDays:    Label:      en: ExpiredDays
      zh-cn: 镜像过期天数
    Type: Number
    Default: 1  tags:    Label:      en: Tags
      zh-cn: 镜像标签
    Type: Json
    AssociationProperty: Tags
    AssociationPropertyMetadata:      ShowSystem: false    Default: []  rateControl:    Label:      en: RateControl
      zh-cn: 任务执行的并发比率
    Type: Json
    AssociationProperty: RateControl
    Default:      Mode: Concurrency
      MaxErrors: 100%
      Concurrency: 10Tasks:  - Name: describeImages
    Action: ACS::ExecuteAPI
    Description: ''    Properties:      Service: ECS
      API: DescribeImages
      Parameters:        RegionId: '{{ regionId }}'        ImageOwnerAlias: self
        Tags: '{{ tags }}'        Filter:          - Key: CreationEndTime
            Value:              Fn::FormatUTCTime:                - Fn::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.查看详情:点击执行详情。在定时类执行列表中查看即将执行的详情。执行会在指定时间删除目标镜像。

目录
相关文章
|
11天前
|
存储 运维 NoSQL
通过OOS实现定时备份Redis实例转储到OSS
基于阿里云 Redis 备份功能,现结合 OOS 推出自动转储至 OSS 的新方案,解决了数据安全风险、运维繁琐、成本增加和效率低下等问题。新方案亮点包括: 1. 数据安全性提高:备份文件自动上传至OSS,利用OSS的数据冗余存储,保证数据在硬件故障时的持久性和可用性。 2. 完全自动化:设置好定时规则后,备份和转储过程无需人工干预。 3. 多实例多地域集中管理:支持一次选择多个实例和跨区域备份,简化管理。 4. 灵活的备份策略和成本控制:自定义备份频率,并通过OSS生命周期管理策略控制成本。 5. 监控和告警:集成OSS和云监控,实时掌握备份状态,及时处理异常。
137 0
|
弹性计算
使用OOS定时给特定名称开头的ECS实例打标签
使用OOS定时给名称中包含特定字符开头的ECS实例打标签。
129 1
使用OOS定时给特定名称开头的ECS实例打标签
|
弹性计算 JSON 运维
基于OOS实现定时清理磁盘
当磁盘使用率超过指定阀值时,自动清理指定ECS实例的文件。
|
弹性计算 JSON 运维
使用OOS实现自动删除创建于7天前的镜像
基于OOS实现自动删除创建于7天前的镜像
使用OOS实现自动删除创建于7天前的镜像
|
弹性计算 JSON 运维
基于OOS实现定时清理磁盘
当磁盘使用率超过指定阀值时,自动清理指定ECS实例的文件。
|
运维
使用OOS自动删除7天前创建的镜像
使用OOS自动删除7天前创建的镜像
2194 0
使用OOS自动删除7天前创建的镜像
|
弹性计算 运维 监控
运维编排系列场景--使用定时运维进行状态逼近
### 面向终态的运维 阿里云运维编排服务(Operation Orchestration Service,简称OOS),是阿里云提供的云上自动化运维服务,能够自动化管理和执行任务。OOS支持定时运维功能,可以周期性重复执行指定的运维任务。基于定时运维,OOS能够对云资源的状态进行管理,实现面向终态的运维。 本文以[ilogtail](https://help.aliyun.com/d
3531 0
运维编排系列场景--使用定时运维进行状态逼近
|
弹性计算 jenkins 关系型数据库
基于Jenkins+OOS+OSS的镜像自动更新
本文展示如何基于Jenkins+OOS+OSS构建自动镜像更新流程。
507 0
基于Jenkins+OOS+OSS的镜像自动更新
|
11月前
|
弹性计算 运维 安全
《企业运维之弹性计算原理与实践》——第六章 OOS 与总结——第六章(上):OOS 与总结(1)
《企业运维之弹性计算原理与实践》——第六章 OOS 与总结——第六章(上):OOS 与总结(1)
59 0