Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 在GCP中,如何在容器k8s集群中添加标签,而不是更新?_Google Cloud Platform_Gcloud - Fatal编程技术网

Google cloud platform 在GCP中,如何在容器k8s集群中添加标签,而不是更新?

Google cloud platform 在GCP中,如何在容器k8s集群中添加标签,而不是更新?,google-cloud-platform,gcloud,Google Cloud Platform,Gcloud,我试图在k8s集群中添加标签,但不幸的是,它删除了所有添加新标签 gcloud container clusters update example-cluster --zone us-west1-a --update-labels env=dev 我想在现有集群中添加标签(保留以前的标签)。有办法吗 谢谢你,你可以在这里看到: 标签更新将覆盖所有预先存在的标签。如果群集具有要保留的现有标签,则必须包括这些标签以及要添加的任何新标签 因此,如果要保留标签,需要将其复制到gcloud命令中,并用逗

我试图在
k8s集群中添加标签,但不幸的是,它删除了所有添加新标签

gcloud container clusters update example-cluster --zone us-west1-a --update-labels env=dev
我想在现有集群中添加标签(保留以前的标签)。有办法吗

谢谢你,你可以在这里看到:

标签更新将覆盖所有预先存在的标签。如果群集具有要保留的现有标签,则必须包括这些标签以及要添加的任何新标签

因此,如果要保留标签,需要将其复制到gcloud命令中,并用逗号分隔所有标签,如同一文档中的示例所示,如您在下面所示:

标签更新将覆盖所有预先存在的标签。如果群集具有要保留的现有标签,则必须包括这些标签以及要添加的任何新标签


因此,如果要保留标签,需要将它们复制到gcloud命令中,并用逗号分隔所有标签,如同一文档中的示例所示。因此,我在automation create中添加了几行python代码来解决上述问题

cmd = "gcloud container clusters list --format='json(name,status,zone,resourceLabels)'"
a = { "container" :  json.loads(subprocess.check_output(shlex.split(cmd)))}
labels = a['container'][0]['resourceLabels']
labels["name"]= a['container'][0]['name']  #Adding new label
new_labels = (str(labels).replace("{","").replace("}", "").replace(" ", "").replace(":", "=").replace("'", ""))
CMD = "gcloud container clusters update {0} --zone {1} --project {2} --update-labels {3} ".format(rname, zone, PROJECTID, labels)
subprocess.call(CMD, shell=True) 

所以,我在自动化创建中添加了几行python代码来解决上述问题

cmd = "gcloud container clusters list --format='json(name,status,zone,resourceLabels)'"
a = { "container" :  json.loads(subprocess.check_output(shlex.split(cmd)))}
labels = a['container'][0]['resourceLabels']
labels["name"]= a['container'][0]['name']  #Adding new label
new_labels = (str(labels).replace("{","").replace("}", "").replace(" ", "").replace(":", "=").replace("'", ""))
CMD = "gcloud container clusters update {0} --zone {1} --project {2} --update-labels {3} ".format(rname, zone, PROJECTID, labels)
subprocess.call(CMD, shell=True) 

另一种添加标签的简单方法是通过restAPI

检查此链接

另一种添加标签的简单方法是重新启动API

检查此链接

我必须将其自动化。因此,我不想在运行CMD时手动放置现有标签,我必须将其自动化。因此,我不想在运行cmd时手动放置现有标签