火山引擎云服务器如何使用Tailor创建自定义镜像?

axin 2025-03-31 5人围观 ,发现0个评论 火山引擎云服务器云服务器

👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>


Tailor是火山引擎提供的自定义镜像构建工具,支持在Linux、Mac操作系统中运行。您可以通过本工具在指定的镜像基础上创建自定义镜像。
本文介绍如何通过自定义镜像构建工具Tailor,创建自定义镜像。

前提条件

  • 您已购买云服务器并开通快照服务。

  • 请参考账户说明确认您的火山引擎账号余额(即现金余额)和代金券的总值大于等于100元人民币。若余额不足,您可参考充值操作指引进行充值。

注意事项

  • 暂不支持通过本工具创建Windows自定义镜像。

  • 仅针对您的系统盘创建自定义镜像。创建自定义镜像所需的时间,取决于系统盘的实际大小。

  • 火山引擎将创建按量计费的临时云服务器实例、公网IP等资源用于创建自定义镜像,并在创建镜像后自动删除。创建过程中相关云资源将收取费用,计费方式说明可查看按量计费。

操作步骤

步骤一:安装Tailor

  1. 登录您运行Tailor工具的实例,操作详情可查看登录Linux实例。

  1. 执行如下命令,在/usr/local/bin/目录中安装Tailor。

/usr/local/bin/是环境变量目录,将Tailor安装在该目录可以方便在实例不同目录使用。
    • Linux 版:

wget https://tailor.tos-cn-beijing.volces.com/Tailor.tar.gz && tar zxf Tailor.tar.gz -C /usr/local/bin/
    • Mac 版:

wget https://tailor.tos-cn-beijing.volces.com/Tailor_mac.tar.gz && tar zxf Tailor_mac.tar.gz -C /usr/local/bin/
  1. 您可以执行如下命令查看Tailor使用说明,验证是否安装成功。

Tailor --help

步骤二:创建定制镜像脚本(可选)

您可以将镜像需要定制的内容(例如:安装软件、驱动、修复CVE漏洞等)制作为Shell脚本,并通过Tailor在创建自定义镜像时执行。
注意
  • 定制镜像脚本内支持重启实例操作,且每一个script参数内,均可以重启实例。Tailor将在实例重启后继续执行脚本任务。

  • Tailor支持如下格式的脚本路径,您可以按需创建:

    • 本地目录,例如:/tmp/update/。

    • 本地脚本,例如:/tmp/a.sh。

    • 网络脚本,例如:http://install/a.sh。

    • 压缩格式脚本,目前支持.tar、.gzip、.zip格式。例如:centos_shell.zip。

  • 对于压缩格式脚本集合或本地目录脚本集合,需要遵守如下规则:

    • 需要指定buildx.sh(例如:build1.sh、build3.sh)作为定制脚本的执行入口。Tailor将根据buildx.sh文件x值由小到大自动执行,且每次执行完成buildx.sh,Tailor都会执行重启实例操作。

    • 脚本集合内buildx.sh不支持二级目录(例如:temp/temp_1/build3.sh),其他脚本和文件位置无限制。

标准的脚本集合示例

centos_shell.zip├── 00_extra_pkg.sh├── build1.sh├── build5.sh├── centos_zip.zip├── cleanup.sh└── cve.sh
其中buildx.sh脚本内容示例如下:
  • build1.sh

#!/bin/bashset -xBASE_PATH=$(cd "$(dirname "$0")";pwd)source ${BASE_PATH}/configscripts=("00_extra_pkg.sh""cve.sh")for file in ${scripts[@]}dosource ${BASE_PATH}/${file}done
  • build5.sh

#!/bin/bashset -xBASE_PATH=$(cd "$(dirname "$0")";pwd)source ${BASE_PATH}/configscripts=("cleanup.sh")for file in ${scripts[@]}dosource ${BASE_PATH}/${file}done

步骤三:创建参数配置文件(可选)

使用Tailor创建自定义镜像时,支持通过参数指定创建出的自定义镜像名称、镜像大小、创建过程使用的临时实例规格、等信息,您可以通过yaml文件配置参数。
说明
  • 若您不创建参数配置文件,可以在执行命令时直接传入参数及参数值。

  • 临时实例由火山引擎自动创建,并在完成自定义镜像创建后删除。

  1. 执行如下命令,查看Tailor支持配置的参数。

Tailor build --help
参数说明
参数
是否必填
说明
取值示例
base
基础镜像ID,Tailor将在该镜像基础上创建自定义镜像。
说明
  • 支持使用您账号下的任意公共镜像、自定义镜像、共享镜像作为基础镜像。

  • 您可以在镜像控制台获取基础镜像ID。

image-yc6gg6s0nvl8j17XXXXX
region
创建自定义镜像时,所用的临时实例所在的地域,默认为cn-beijing(华北2(北京)),更多地域信息可查看地域和可用区。
注意
创建成功的自定义镜像也将在该地域下。
cn-beijing
zone
创建自定义镜像时,使用的临时实例所在的可用区,默认为a(可用区A),更多地域信息可查看地域和可用区。
说明
可用区信息无需传入地域前缀,例如:北京可用区A 的ZoneID为cn-beijing-a,仅需传入a即可。
a
spec
创建自定义镜像时,使用的临时实例规格,默认为ecs.g2i.xlarge(通用型g2i),更多实例规格可查看实例规格介绍。
ecs.g2a.xlarge
disksize
指定镜像大小,单位为G,默认为20G
20
script
定制镜像的脚本,支持配置多个脚本。脚本说明可查看创建定制脚本。
-
name
指定创建的自定义镜像名称。默认为:镜像类型-发布版本-架构-启动模式-时间戳,例如:centos-7.8-amd64-legacy-20220511_031740。
CentOS7.9
  1. 创建配置参数的yml文件。

    1. 执行如下命令,创建配置文件。

vim config.yml
说明
文件名config请自行替换为所需名称。
    1. 按i键,按如下结构写入您需要配置的参数信息。

base: image-yclxxxxxxregion: cn-beijingzone: ascript:- /temp/centos_shell.zip- http://install/update.sh- /temp/download.shspec: ecs.g2a.xlargedisksize: 20name: CentOS7.9
    1. 按ecs键退出编辑,输入:wq按回车键,保存并退出文件。

步骤四:创建自定义镜像

  1. Tailor执行创建自定义镜像任务时,将在您执行命令时所处的目录下记录任务信息及缓存文件,详情可查看创建结果。

执行如下命令,进入您期望存储相关内容的目录。
cd /etc/Tailors/
说明
请将/etc/Tailors/替换为您的目录路径。
  1. 执行如下命令,导入访问密钥(Access Key)中包含的Access Key ID(简称AK)和 Secret Access Key(简称SK)。获取详情可查看使用指南。

export VOLC_AK=xxxexport VOLC_SK=xxx
  1. 执行如下命令,创建自定义镜像。

说明
创建自定义镜像时,Tailor默认将在控制台输出包含FATAL、ERROR的日志信息。日志说明及调整展示的日志信息操作,可查看日志说明。
    • 通过参数配置文件指定参数值。

Tailor build config.yml
说明
参数配置文件创建详情,可查看创建参数配置文件。
    • 直接指定参数值。

Tailor build -base=image-ybqi99s7aayq8rx7xxxxx -script=/tmp/update.sh -script=/tmp/centos_shell.tgz
说明
  • 支持配置的参数详情,可查看创建参数配置文件。

  • script参数支持复用,用以传入多个脚本信息。

  1. 执行成功后,Tailor将输出生成的自定义镜像ID、名称,且自定义镜像将自动添加至临时实例所在地域。

步骤五:查看创建结果

查看自定义镜像

  1. 登录镜像控制台。

  1. 在顶部导航栏选择目标自定义镜像所在地域与项目。

说明
镜像地域与您配置的临时实例所在地域一致,详情可查看创建参数配置文件。
  1. 选择“自定义镜像”页签。

  1. 若目标镜像“状态”列为可用,则创建自定义镜像成功。

  1. 您还可以单击镜像名称进入镜像详情页,选择“关联快照”页签,查看镜像包含的云盘关联的快照ID、云盘类型及对应容量信息。更多快照详情可查看快照概述。

查看任务

Tailor将在您执行Tailor build命令时所处的目录下,创建workspace目录,存放创建自定义镜像任务的中间产物,便于您排查创建过程出现的问题。
不同创建自定义镜像任务,将在该目录下以“镜像名称-时间戳”形式创建任务目录,在其中记录对应任务的缓存文件、http文件等信息。
说明
正常执行的创建任务,一般不会在其任务目录下留存信息。
workspace结构示例
workspace└── centos-7.8-amd64-legacy-20220511_031740├── cache├── http├── log└── packer.json
文件名
说明
cache
缓存文件目录。
http
网络拉取的中间文件目录,例如:定制镜像的脚本。
log
日志文件目录。
packer.json
Packer构建器模板文件。

日志说明

Tailor会在创建自定义镜像时,将该任务日志信息输出在控制台中。您可以根据需求在执行创建镜像命令时指定日志等级,以此调整展示日志详略程度。

日志级别

日志级别及对应内容如下:
  • 0:日志展示FATAL内容。

  • 1:默认值,日志展示ERROR及更低级别内容。

  • 2:日志展示WARN及更低级别内容。

  • 3:日志展示DEBUG及更低级别内容。

  • 4:日志展示INFO及更低级别内容。

配置说明

您可以在执行Tailor build命令创建自定义镜像时时,传入TAILOR_LOG_LEVEL参数并指定目标任务的日志级别。示例如下:
TAILOR_LOG_LEVEL=4 Tailor build -base=image-ybqi99sxxxxxx -spec=ecs.g2a.large


请关注微信公众号
微信二维码
不容错过
Powered By TOPYUN 云产品资讯