首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何获取镜像系列中未使用的镜像列表

如何获取镜像系列中未使用的镜像列表
EN

Stack Overflow用户
提问于 2018-05-02 07:06:53
回答 2查看 1K关注 0票数 0

我遵循google's image management文档来创建应用程序GCE镜像。我正在设置图像系列以从中选取最新的图像。然而,我正在努力获得用于清理的旧图像的排序列表。

gcloud compute images describe-from-family test-packerized-centos7-base

返回最新图像

{
    "archiveSizeBytes": "883668032",
    "creationTimestamp": "2018-04-25T23:25:36.137-07:00",
    "description": "Created by Packer",
    "diskSizeGb": "20",
    "family": "test-packerized-centos7-base",
    "id": "6938962862287932976",
    "kind": "compute#image",
    "labelFingerprint": "42WmSpB8rSM=",
    "licenseCodes": [
    "1000207"
     ],
   "name": "wp-centos7-base-bbaelish-shenanigans-3-1524723518",
   "selfLink": "https://www.googleapis.com/compute/v1/projects/my_project/global/images/wp-centos7-base-bbaelish-shenanigans-3-1524723518",
   "sourceDisk": "https://www.googleapis.com/compute/v1/projects/my_project/zones/us-central1-a/disks/packer-5ae16f3e-13c6-0d93-da79-2f6e81f88fec",
  "sourceDiskId": "5923696438202388910",
  "sourceType": "RAW",
  "status": "READY"
}

但是,当我列出项目和grep中的所有图像时,我可以看到所有较旧的图像仍然处于就绪状态。

gcloud compute images list | grep test-packerized-centos7-base
wp-centos7-base-bbaelish-shenanigans-1-1523048775 test-packerized-centos7-base READY
wp-centos7-base-bbaelish-shenanigans-1-1523050176 test-packerized-centos7-base READY
wp-centos7-base-bbaelish-shenanigans-2-1524258996 test-packerized- centos7-base READY
wp-centos7-base-bbaelish-shenanigans-2-1524259307 test-packerized-centos7-base READY

我知道我必须弃用旧图像,但是我正在努力获得旧图像的排序列表。我想被标记为最后5个图像作为弃用和最后3个图像后,作为过时。

我曾尝试使用Jq筛选器来获取排序列表。

gcloud compute images list --format json | jq '.[] | select(.family == "test-packerized-centos7-base") | sort_by(.creationTimestamp)'

但是,它会返回以下错误

jq: error (at <stdin>:4622): Cannot index string with string "creationTimestamp"

任何人都知道在"Image-families“中获取旧图像列表的简单方法。我假设google在某个地方保持了顺序,因为当我删除家族中的最新图像时,它会自动指向较旧的图像。

EN

回答 2

Stack Overflow用户

发布于 2018-06-21 07:10:58

如果要对图像列表进行排序,则必须运行gcloud images list命令并应用specific filters来按日期对图像进行排序。

您必须运行的command是:

$ gcloud compute images list --format="value(NAME)" --filter="[sorting-filter]" 

其中[sorting-filter]将是一个根据创建日期对图像进行排序的过滤器。

有关如何编写筛选器以及如何使用它们的帮助,您可以参考此Google Cloud documentation。基本上,您只需找到正确的过滤器即可。由于它是一个特定的筛选器,并且问题对于您的用例来说确实是独一无二的,因此您必须通读文档。

票数 0
EN

Stack Overflow用户

发布于 2020-09-01 21:37:42

我希望这能回答你的问题。当您尝试获取基于“创建时间”的图像列表时,可以使用下面的命令。

gcloud compute images list --format="table(name,creationTimestamp.date(tz=LOCAL))"

但是,如果您尝试在名称的基础上对其进行进一步排序,则可以使用grep。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50125017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档