我遵循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在某个地方保持了顺序,因为当我删除家族中的最新图像时,它会自动指向较旧的图像。
https://stackoverflow.com/questions/50125017
复制相似问题