停止 kubectl 在末尾打印“podcurldeleted”

问题描述 投票:0回答:2

我在脚本中使用 kubectl 来获取当前的 GKE 集群名称,如下所示:

CURRENT_CLUSTER=$(kubectl run curl --rm --restart=Never -it --image=appropriate/curl -- -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/cluster-name)

不幸的是,kubect 将

pod "curl" deleted
打印到标准输出,所以结果是这样的:

my-cluster-us-west1pod "curl" deleted

如何阻止 kubectl 打印此字符串?

kubectl
2个回答
0
投票

如果集群名称和不需要的文本之间有空格,那么您可以 使用 awk 获取输出的第一个单词:

CURRENT_CLUSTER=$(kubectl run curl --rm --restart=Never -it --image=appropriate/curl -- -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/cluster-name | awk '{print $1;}')

但是没有空格,所以必须以不同的方式删除它,例如使用 sed 删除 'pod ' 及其后面的任何内容

CURRENT_CLUSTER=$(kubectl run curl --rm --restart=Never -it --image=appropriate/curl -- -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/cluster-name | sed "s/pod .*//g")


0
投票

在现代你可以使用

kubectl run --quiet

© www.soinside.com 2019 - 2024. All rights reserved.