Google-Compute-Engine
使用已棄用的映像查找 Google 虛擬機
在Google云中,我們將自定義圖像標記為在特定時間後棄用。我們如何獲取使用已棄用映像的 VM 實例的報告?
謝謝
為了查看 GCE 中所有已棄用的圖像,如Debian 的文件中所見,請使用以下命令:
gcloud compute images list --project=name-of-your-project --no-standard-images --show-deprecated
然後查看源圖像
gcloud compute disk list
使用帶有 –format 標誌的磁碟描述命令來過濾輸出。
gcloud compute disks describe disk_name --zone zone_1 --format='get(sourceImage)'
創建一個腳本來檢查所有已棄用的映像以及 VM 使用的所有磁碟可以解決問題
for project in $(gcloud projects list --format "value(project_id)"); do if [ $(gcloud services list --filter 'config.name="compute.googleapis.com"' --project $project --format 'value(name)' ) ]; then for instance in $(gcloud compute instances list --format "value(selfLink)" --project $project); do for sources in $(gcloud compute instances describe $instance --project $project --format "value(disks.source)" ); do for source in $(echo $sources | tr \; \\n); do sourceimage=$(gcloud compute disks describe $source --project $project --format='get(sourceImage)' ); if [ ! -z $sourceimage ]; then state=$(gcloud compute images describe $sourceimage --project $project --format "value(deprecated.state)" 2>/dev/null); if [ ! -z $state ]; then if [ $state == DEPRECATED ]; then echo $instance; fi; fi; fi; done; done; done; fi; done | sort | uniq
請記住,這將需要一些時間,因為循環必須逐個項目進行。