Kubernetes Kubectl修补程序和curl修补程序无法修补资源

Kubernetes Kubectl修补程序和curl修补程序无法修补资源,kubernetes,Kubernetes,我试图向群集中的一个节点添加扩展资源。我根据官方文件完成了这项任务 我已经一步一步地遵循了说明,但是补丁似乎没有效果 运行后: curl--header“Content-Type:application/json-patch+json”--请求补丁--data'[{“op”:“add”,“path”:“/status/capacity/example.com~1dongle”,“value”:“4”}”http://localhost:8001/api/v1/nodes/kubernetes-3

我试图向群集中的一个节点添加扩展资源。我根据官方文件完成了这项任务

我已经一步一步地遵循了说明,但是
补丁
似乎没有效果

运行后:

curl--header“Content-Type:application/json-patch+json”--请求补丁--data'[{“op”:“add”,“path”:“/status/capacity/example.com~1dongle”,“value”:“4”}”http://localhost:8001/api/v1/nodes/kubernetes-3/状态

我得到了一个响应,添加了扩展资源

"capacity": {
  "cpu": "8",
  "example.com/dongle": "4",
  "memory": "8218052Ki",
  "pods": "110"
},
但是,如果我运行
kubectl description node kubernetes-3
,则容量具有旧值:

容量:
中央处理器:8
内存:8218052Ki
吊舱:110

我检查了apiserver日志,一切看起来都很好:

PATCH /api/v1/nodes/kubernetes-3/status: (39.112896ms) 200 [[curl/7.59.0] 127.0.0.1:49234]
但是,如果使用
kubectl patch
命令,该命令将返回
node“kubernetes-3”not patched

我运行的命令:
kubectl补丁节点kubernetes-3--type='json'-p'[{“op”:“add”,“path”:“/status/capacity/example.com~1dongle”,“value”:“4”}]

同样,apiserver日志显示响应成功(状态
200
):

kubectl版本输出:

Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.0+coreos.0", GitCommit:"a65654ef5b593ac19fbfaf33b1a1873c0320353b", GitTreeState:"clean", BuildDate:"2017-09-29T21:51:03Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.0+coreos.0", GitCommit:"a65654ef5b593ac19fbfaf33b1a1873c0320353b", GitTreeState:"clean", BuildDate:"2017-09-29T21:51:03Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

我已经在Kubernetes集群v1.11.1上试用过了

Curl版本工作正常,但在“get”输出上显示它需要一些时间(5-10秒):

kubectl版本仍然不起作用,但我猜这是因为它请求了错误的地址
/api/v1/nodes/node name
,而不是
/api/v1/nodes/node name/status

命令

kubectl -v=9 patch node/node-name --type='json' -p='[{"op": "add", "path": "/status/capacity/example.com-dongle", "value": "6"}]'
给我日志:

I0803 13:08:38.552155694往返者。开始:386]curl-k-v -XPATCH-H“Accept:application/json“-H”内容类型:application/json补丁+json“-H”用户代理:kubectl/v1.11.1 (linux/amd64)kubernetes/b1b2997“ ''

如果我们检查kubeclt代理连接上的类似请求:

它不起作用:

curl -XPATCH  -H "Accept: application/json" -H "Content-Type: application/json-patch+json" -H "User-Agent: kubectl/v1.11.1 (linux/amd64) kubernetes/b1b2997" --data '[{"op": "add", "path": "/status/capacity/example4.com~1dongle", "value": "4"}]' \
'http://127.0.0.1:8001/api/v1/nodes/node-name' 
但使用“/status”最终效果良好:

curl -XPATCH  -H "Accept: application/json" -H "Content-Type: application/json-patch+json" -H "User-Agent: kubectl/v1.11.1 (linux/amd64) kubernetes/b1b2997" --data '[{"op": "add", "path": "/status/capacity/example4.com~1dongle", "value": "4"}]' \
'http://127.0.0.1:8001/api/v1/nodes/node-name/status'
curl -XPATCH  -H "Accept: application/json" -H "Content-Type: application/json-patch+json" -H "User-Agent: kubectl/v1.11.1 (linux/amd64) kubernetes/b1b2997" --data '[{"op": "add", "path": "/status/capacity/example4.com~1dongle", "value": "4"}]' \
'http://127.0.0.1:8001/api/v1/nodes/node-name' 
curl -XPATCH  -H "Accept: application/json" -H "Content-Type: application/json-patch+json" -H "User-Agent: kubectl/v1.11.1 (linux/amd64) kubernetes/b1b2997" --data '[{"op": "add", "path": "/status/capacity/example4.com~1dongle", "value": "4"}]' \
'http://127.0.0.1:8001/api/v1/nodes/node-name/status'