如何通过 Kubernetes api 将节点设置为不可调度状态?
How can I set a node to unschedulable status via the Kubernetes api?
我正在尝试模仿 kubectl patch
的行为。我正在发送一个 HTTP PATCH,其 json 负载如下:
{
"apiVersion": "v1",
"kind": "Node",
"metadata": {
"name": "my-node-hostname"
},
"spec": {
"unschedulable": true
}
}
然而,无论我如何调整这个 JSON,我总是收到 415 和以下 JSON 状态:
{
"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
}
即使将 kube-apiserver 上的调试设置为 1000,我也没有收到有关负载错误原因的反馈!
在通过 PATCH 发送的 JSON 有效负载中是否应该使用一种特定的格式才能使其正常工作?
在 Kubernetes Slack 频道的一位乐于助人的成员提到我可以通过 --verbose 标志从 kubectl patch
获取有效负载后,事实证明 Kubernetes 期望在您发送时获取 "Content-Type: application/strategic-merge-patch+json"
PATCH 负载。
我正在尝试模仿 kubectl patch
的行为。我正在发送一个 HTTP PATCH,其 json 负载如下:
{
"apiVersion": "v1",
"kind": "Node",
"metadata": {
"name": "my-node-hostname"
},
"spec": {
"unschedulable": true
}
}
然而,无论我如何调整这个 JSON,我总是收到 415 和以下 JSON 状态:
{
"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
}
即使将 kube-apiserver 上的调试设置为 1000,我也没有收到有关负载错误原因的反馈!
在通过 PATCH 发送的 JSON 有效负载中是否应该使用一种特定的格式才能使其正常工作?
在 Kubernetes Slack 频道的一位乐于助人的成员提到我可以通过 --verbose 标志从 kubectl patch
获取有效负载后,事实证明 Kubernetes 期望在您发送时获取 "Content-Type: application/strategic-merge-patch+json"
PATCH 负载。