Kubernetes API:如何从Node添加/删除标签

时间:2017-12-15 17:17:24

标签: kubernetes

通过REST API,我可以通过以下方式获取Node的详细信息:

http://127.0.0.1:8001/api/v1/nodes/{Node Name}

但是,我想添加一个新标签并删除一个旧标签。说添加标签app=service,并删除backend=database,我应该调用什么类型的请求以及我需要发送什么样的JSON格式?

2 个答案:

答案 0 :(得分:1)

您可以使用唯一的一个请求设置新标签。

JSON是:

==

您应该将{ "metadata": { "labels": { "app": "service" } } } 请求发送到:

PATCH

所以,最后我们有:

http://127.0.0.1:8001/api/v1/nodes/<node_name>

答案 1 :(得分:0)

curl -X PATCH \   <cluster end point>/api/v1/nodes/<node name> \   -H 'Authorization: Bearer <your token>' \   -H 'Content-Type: application/merge-patch+json' \   -H 'cache-control: no-cache' \   -d '{
    "metadata": {
        "labels": {
            "name": "vaibhav"
            }
        }
        }
      '

这在eks上对我有用,如果您的最终群集端点不安全,只需在curl命令中添加“ --insecure”。

bearer令牌是您的kube系统名称空间中的eks-admin-token(k8s秘密),或者您可以创建一个具有受限访问权限的令牌。

要注意的重要事项:内容类型:application / merge-patch + json