使用OOS自动删除7天前创建的镜像

本文涉及的产品
轻量应用服务器 2vCPU 4GiB,适用于搭建Web应用/小程序
轻量应用服务器 2vCPU 4GiB,适用于网站搭建
轻量应用服务器 2vCPU 4GiB,适用于搭建容器环境
简介: 使用OOS自动删除7天前创建的镜像

OOS简介
Operation Orchestration Service,简称OOS,是全面、免费的云上自动化运维平台,提供运维任务的管理和执行。典型使用场景包括:事件驱动运维,批量操作运维,定时运维任务,跨地域运维等,OOS为重要运维场景提供审批,通知等功能。OOS帮您实现标准化运维任务,从而实践运维即代码(Operations as Code)的先进理念。关于OOS更详细的介绍请参见什么是运维编排服务

场景介绍
基于OOS实现自动删除创建于7天前的镜像。

操作步骤
1.登陆OOS控制台,找到我的模板,点击创建模板
image.png
2.选择空白模版
image.png

3.复制下文提供的模板到YAML栏中,输入模板名称(Delete-ExpiredImage),点击创建模板
image.png

模板(Delete-ExpiredImage)内容:

FormatVersion: OOS-2019-06-01
Description: ''
Parameters:
  regionId:
    Type: String
    Description:
      en: The id of region.
      zh-cn: 地域ID。
    AssociationProperty: RegionId
    Default: '{
  { ACS::RegionId }}'
  force:
    Description:
      en: Specifies whether to forcibly delete the image.
      zh-cn: 是否强制删除镜像。
    Type: Boolean
    Default: false
  expiredDays:
    Description:
      en: The expired days of image.
      zh-cn: 镜像过期天数。
    Type: Number
    Default: 7
  imageName:
    Description:
      en: The name of image
      zh-cn: 用于过滤镜像的名称字段
    Type: String
    Default: " "
  rateControl:
    Description:
      en: Concurrency ratio of task execution.
      zh-cn: 任务执行的并发比率。
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 100%
      Concurrency: 10
Tasks:
  - Name: describeImages
    Action: 'ACS::ExecuteAPI'
    Description: ''
    Properties:
      Service: ECS
      API: DescribeImages
      Parameters:
        RegionId: '{
  { regionId }}'
        ImageOwnerAlias: self
        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[] | select( .ImageName | test("{
  {imageName}}")) | .ImageId'
  - Name: deleteImages
    Action: 'ACS::ExecuteAPI'
    Description:
      en: Delete the expired images.
      zh-cn: 删除过期镜像。
    Properties:
      Service: ECS
      API: DeleteImage
      Parameters:
        RegionId: '{
  { regionId }}'
        ImageId: '{
  { ACS::TaskLoopItem }}'
        Force: '{
  { force }}'
    Loop:
      Items: '{
  { describeImages.imageIds }}'
      RateControl: '{
  { rateControl }}'
Outputs:
  deletedImageIds:
    Type: List
    Value: '{
  { describeImages.imageIds }}'

定时执行模版
1.找到定时运维,点击创建,选择周期性重复执行,设置定时执行的规则。
截图所示规则:截止规则结束时间,每天0点0分定时执行制指定模板
image.png

2.模板选择,选择上文创建的模板。参数设置,选择目标地域,点击确认风险并执行。
image.png

3.在执行详情页中可以查看定时执行列表和所操作的资源。
image.png

相关文章
使用OOS自动删除7天前创建的快照
基于OOS实现自动删除创建于7天前的快照。
使用OOS自动删除7天前创建的快照
使用OOS定时清理指定Tag下的镜像
使用OOS定时清理指定标签下的镜像
|
运维 弹性计算 JSON
使用OOS实现自动删除创建于7天前的镜像
基于OOS实现自动删除创建于7天前的镜像
使用OOS实现自动删除创建于7天前的镜像
|
弹性计算 jenkins 关系型数据库
基于Jenkins+OOS+OSS的镜像自动更新
本文展示如何基于Jenkins+OOS+OSS构建自动镜像更新流程。
620 0
基于Jenkins+OOS+OSS的镜像自动更新
|
弹性计算 运维
运维编排场景系列--- 批量复制镜像到其他地域
背景和痛点 应用分布在多地域部署时,如需把一个镜像复制到多个地域(Region),当前您极可能是在控制台手动选择源镜像,然后逐个选择目的地域并进行复制镜像操作,再等待和查看所有地域的镜像复制完成。如此操作费时费力,而且容易出错。
1138 0
|
弹性计算 运维
运维编排场景系列---一键更新伸缩配置镜像并替换伸缩组实例的系统盘
场景介绍 把新代码部署到ECS实例后,需要创建一个新的ECS镜像并且修改指定伸缩组伸缩配置的镜像,之后还需要把伸缩组中已存在的实例的镜像一并修改。本文介绍如何通过OOS一键自动化实现以上流程。 解决方案 如下图所示,伸缩配置中的源镜像和伸缩组中实例的镜像都为:aliyun_2_1903_64_20G_alibase_20190829.vhd登录OOS控制台。
2780 0
|
弹性计算 运维 API
运维编排场景系列---更新镜像后自动更新伸缩配置镜像
每次通过运维编排生成新的镜像后,直接替换掉弹性伸缩里面的镜像。
2826 0
|
运维
运维编排场景系列----更新ECS镜像
运维编排场景系列----更新ECS镜像 场景介绍       为了保证ECS实例的运行环境始终是安全的,包括安装最新补丁,或者更新所依赖的组件等。我们需要从一个源镜像开始逐步更新,最终生成一个新镜像,然后用于测试和生产。
19240 0
|
弹性计算 运维 安全
《企业运维之弹性计算原理与实践》——第六章 OOS 与总结——第六章(上):OOS 与总结(1)
《企业运维之弹性计算原理与实践》——第六章 OOS 与总结——第六章(上):OOS 与总结(1)
175 0
|
弹性计算 运维 监控
《企业运维之弹性计算原理与实践》——第六章 OOS 与总结——第六章(上):OOS 与总结(2)
《企业运维之弹性计算原理与实践》——第六章 OOS 与总结——第六章(上):OOS 与总结(2)
214 0

热门文章

最新文章