我正在尝试对k8s api服务器进行api调用以更新部署。我可以在下面使用它来更新部署。
yarn.lock
但是当我使用node.js请求模块进行请求时,出现如下错误
消息:“读取ECONNRESET”
这是我的代码
curl -X PATCH --header "Authorization: Bearer $TOKEN" --insecure -H 'Content-Type: application/strategic-merge-patch+json' --data '
{ "spec": { "template": { "spec": { "containers": [ { "name": "nlu","env": [ { "name": "LAST_UPDATE", "value": "123123" } ] } ] } } } }' \
'https://10.1.0.4:6443/apis/apps/v1/namespaces/prod/deployments/nlu?fieldManager=strategic'
如何解决此问题,我们将不胜感激?
答案 0 :(得分:0)
我发现我错过了一些东西,因此k8s服务器拒绝了我的请求。首先,网址应以https而不是http开头。其次,我应该在请求头中添加内容类型“ application / strategic-merge-patch + json”。第三,我还必须在请求中添加rejectUnauthorized:false,以在无法验证服务器身份时忽略错误。
正确的请求应该像
const options = {
url: "https://10.1.0.4:6443",
headers: {
"content-type": "application/strategic-merge-patch+json"
},
rejectUnauthorized: false,
body: JSON.stringify({
"spec": {
"template": {
"spec": {
"containers": [
{
"name": "nlu",
"env": [
{
"name": "LAST_UPDATE",
"value": "20190909"
}
]
}
]
}
}
}
}),
auth: {
'bearer': "mytoken"
}
};