gpt4 book ai didi

Kubernetes API : add label to pod

转载 作者:行者123 更新时间:2023-12-03 23:54:06 25 4
gpt4 key购买 nike

使用命令,我可以添加如下标签

kubectl label pod POD_NAME KEY1=VALUE1

我怎么能从 kubernetes API 做到这一点?

我想它可以通过 PATCH /api/v1/namespaces/{namespace}/pods/{name} 来完成

这是 pod.json
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"labels": {
"key1": "value1"
}
}
}

我尝试使用以下命令
KUBE_TOKEN=$(</var/run/secrets/kubernetes.io/serviceaccount/token)
curl --request PATCH --insecure \
--header "Authorization: Bearer $KUBE_TOKEN" \
--data "$(cat pod.json)" \
https://$KUBERNETES_SERVICE_HOST:$KUBERNETES_PORT_443_TCP_PORT/api/v1/namespaces/$POD_NAMESPACE/pods/$POD_NAME

它返回
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "the server responded with the status code 415 but did not return more information",
"details": {},
"code": 415
}

最佳答案

将内容类型设置为 application/json-patch+json并在 http://jsonpatch.org 中指定补丁格式。

$ cat > patch.json <<EOF
[
{
"op": "add", "path": "/metadata/labels/hello", "value": "world"
}
]
EOF
$ curl --request PATCH --data "$(cat patch.json)" -H "Content-Type:application/json-patch+json" https://$KUBERNETES_SERVICE_HOST:$KUBERNETES_PORT_443_TCP_PORT/api/v1/namespaces/$POD_NAMESPACE/pods/$POD_NAME

关于Kubernetes API : add label to pod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36147137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com