我使用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?
如果有群集名称和不需要的文本之间的空间,那么你可以使用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后删除“豆荚”,任何事情 :
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")