如何列出 Cloud Run 的非活跃版本?

Sum*_*uma 2 gcloud google-cloud-run

这有点类似于如何检查最新的 Cloud Run 版本是否已准备好提供服务

\n

我想列出 Cloud Run 服务的非活动修订版本,以便我可以删除它们。我可以使用以下方式列出它们:

\n
gcloud run revisions list --region europe-west1 --service service-name\n
Run Code Online (Sandbox Code Playgroud)\n

清单如下所示:

\n
   REVISION                ACTIVE  SERVICE       DEPLOYED                 DEPLOYED BY\n\xe2\x9c\x94  xxxxx-server-00083-ban  yes     xxxxx-server  2022-12-22 18:13:50 UTC  xxxxx-server@***.iam.gserviceaccount.com\n\xe2\x9c\x94  xxxxx-server-00082-few          xxxxx-server  2022-12-22 18:09:27 UTC  xxxxx-server@***.iam.gserviceaccount.com\n\xe2\x9c\x94  xxxxx-server-00081-zex          xxxxx-server  2022-12-22 18:03:00 UTC  xxxxx-server@***.iam.gserviceaccount.com\n\xe2\x9c\x94  xxxxx-server-00080-bad          xxxxx-server  2022-12-22 18:02:02 UTC  xxxxx-server@***.iam.gserviceaccount.com\n
Run Code Online (Sandbox Code Playgroud)\n

现在我想只过滤那些没有的ACTIVE:yes。我尝试添加--filter=\'-active:*\',但似乎没有任何效果,并且收到警告:

\n
WARNING: The following filter keys were not present in any resource : active\n
Run Code Online (Sandbox Code Playgroud)\n

--format=JSON当我尝试使用或列出信息时--format=YAML,我对信息不知所措,其中包括列出所有过去的状态转换,例如:

\n
status:\n  conditions:\n  - lastTransitionTime: \'2022-12-22T18:14:04.208603Z\'\n    status: \'True\'\n    type: Ready\n  - lastTransitionTime: \'2022-12-22T18:24:23.335439Z\'\n    reason: Reserve\n    severity: Info\n    status: Unknown\n    type: Active\n
Run Code Online (Sandbox Code Playgroud)\n

我不知道是否/如何可以根据此进行过滤。

\n

如何仅列出我的服务的非活动 Cloud Run 修订版?

\n

小智 5

您可以使用此命令来执行此操作:)

# Get non running revisions

gcloud run revisions list \
   --filter="status.conditions.type:Active AND status.conditions.status:'False'" \
   --format='value(metadata.name)'
Run Code Online (Sandbox Code Playgroud)

在这里你可以一次性删除它们:)

REVS=`gcloud run revisions list --filter="status.conditions.type:Active AND status.conditions.status:'False'" --format='value(metadata.name)'`

for rev in `echo $REVS`; do
    echo $rev
    gcloud run revisions delete $rev --quiet &
done
Run Code Online (Sandbox Code Playgroud)