![如何通过标签将快照策略附加到我的项目中的所有虚拟机?](https://linux22.com/image/742813/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E6%A0%87%E7%AD%BE%E5%B0%86%E5%BF%AB%E7%85%A7%E7%AD%96%E7%95%A5%E9%99%84%E5%8A%A0%E5%88%B0%E6%88%91%E7%9A%84%E9%A1%B9%E7%9B%AE%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E8%99%9A%E6%8B%9F%E6%9C%BA%EF%BC%9F.png)
我已经创建了带有标签“每日”、“每周”、“每小时”的快照计划策略。但我想要一种自动化的方式,因此每当我创建虚拟机时,都应将基于标签的策略分配给虚拟机。或者
每当我创建新的虚拟机并且快照直接保存到存储桶时,是否自动将我的调度程序附加到虚拟机磁盘?
有人有这个任务的自动化脚本吗?
提前致谢 !
答案1
如果您想将快照计划策略附加到所有虚拟机,您可以运行下面提到的脚本:
#!/bin/bash
# loop through all disks within this project and add snapshot schedule policy to all the VM’s
gcloud compute disks list | tail -n +2 | while read DISK_NAME ZONE c3 c4; do
gcloud compute disks add-resource-policies $DISK_NAME --resource-policies=ss-01 --zone $ZONE
done
但是,如果你想要自动化快照计划和快照创建操作,你可以按照文章这里。目前,如果您想将实例启动盘数据移动到 Google 云存储,您可以将启动盘映像导出到云存储作为 tar.gz 文件,该文件提到这里。
答案2
您可以将快照导出到存储桶,但是您无法将快照直接导出到 gcp 存储桶。请按照以下步骤将快照导出到存储桶:
- 根据快照创建图像
- 创建存储桶并复制存储桶 URL,然后使用以下命令导出图像:
gcloud alpha compute images export --destination-uri gs://test_buk04/testimage.vmdk --image expo-test-image --export-format vmdk --project yourprojectid