|
因为客户非实时需求进行Transcoding服务
所以希望基于cloud,降低成本, 开机就用,用完就删
使用场景 , 跳过针对性的IP封锁, 执行一些分布式的临时任务
比如这个客户就是用于图像处理方面的, 需要使用Linode的GPU实例来做
用完就删,因为不是一直需要,比包月成本低很多
测了下整个逻辑 没什么问题 分享下
这个就是解决临时需要一些资源处理一些task的
利用linode 提供的 stackscript , vultr 的boot scripts (不太推荐,他们那个系统旧,会cloud-init升级很久10-20分钟浪费了)
写好Task脚本, 就是需要处理任务的逻辑
装个linode-cli (测试逻辑用这个,可以基于SDK整合实现自动化)
# 建立VPS, 绑定stackscripts的ID
- # 生成20个VPS , 20是数量
- for line in `seq 1 20`; do
- ID=${line};
- linode-cli linodes create \
- --root_pass Pass@word$#@! \ #密码
- --region us-east \ # 区域
- --image linode/centos8 \ # 系统
- --stackscript_id 933918 \ # StackScripts ID
- --swap_size 2048 \
- --label API_${ID} \
- --tags cluster \
- --group cluster \
- --format 'id' \
- --text
- done
复制代码
生成完成 , 得到 20个VPS
等待任务完成后
因为我BASH测试的 所以都是手工脚本
然后生成Linode ID , 就是需要删除哪些VPS
- # 注意那个 +87 这个是不删除已有数量的Linode, 因为是1递增,如果你有10个VPS,这个数字就是11
- # Make IDS Files
- linode-cli linodes list --format 'id' --text > ids.txt
- FILE=ids.txt
- echo "$(tail -n +87 "$FILE")" > "$FILE.tmp"
- cat ids.txt.tmp
复制代码
然后执行删除
- # Delete
- while read line; do
- echo -e "Delete Linode ${line}";
- linode-cli linodes delete ${line};
- done <<<$(cat ids.txt.tmp)
- rm -rf ids.txt ids.txt.tmp
复制代码
这样所有VPS就都删了
差不多就是按这个逻辑来做自动化
|
|