我在kubernetes doc中使用了api:
写操作
HTTP请求 POST / api / v1 / nodes
查询参数
参数说明
如果'是',那么输出就很漂亮了。
身体参数
参数说明
身体
节点
响应
代码说明
200
节点确定
the detail of this api is here
我测试了这个API。发送此请求正文的帖子:
{"kind": "Node", "apiVersion": "v1", "metadata": { "name": "10.110.17.48" }}
回应是
{
"kind": "Node",
"apiVersion": "v1",
"metadata": {
"name": "10.110.17.48",
"selfLink": "/api/v1/nodes10.110.17.48",
"uid": "61bfa1e6-af14-11e7-8194-005056b6695e",
"resourceVersion": "3684908",
"creationTimestamp": "2017-10-12T06:12:53Z"
},
"spec": {
"externalID": "10.110.17.48"
},
"status": {
"daemonEndpoints": {
"kubeletEndpoint": {
"Port": 0
}
},
"nodeInfo": {
"machineID": "",
"systemUUID": "",
"bootID": "",
"kernelVersion": "",
"osImage": "",
"containerRuntimeVersion": "",
"kubeletVersion": "",
"kubeProxyVersion": "",
"operatingSystem": "",
"architecture": ""
}
}
}
然后我检查kubectl获取节点
[root@master3 yum.repos.d]# kubectl get nodes
NAME STATUS AGE VERSION
10.110.17.48 NotReady 18m
master1 Ready 20d v1.6.4+coreos.0
master2 Ready 20d v1.6.4+coreos.0
master3 Ready 20d v1.6.4+coreos.0
slave1 Ready 20d v1.6.4+coreos.0
slave2 Ready 20d v1.6.4+coreos.0
slave3 Ready 44m v1.6.4+coreos.0
此节点尚未就绪。
这个节点只是一个centos os,没有安装kubelet,kube-proxy,clico-node。
如果我使用这个节点?我应该在这个节点上安装kubelet,kube-proxy,clico-node吗?
然后,这个api的含义是什么?只是通知api服务器将此节点信息存储在etcd中?
答案 0 :(得分:1)
是的,就是这样。发布到API端点不会导致kubernetes尝试在您的计算机上执行任何操作 - 这就是在这样的计算机上运行然后,这个api的含义是什么?只是通知api服务器将此节点信息存储在etcd中?
kubelet
的全部目的:授予kubernetes“权限”以及实施更改的方法在节点上
在kubelet启动之前对该API进行POST的假设用法可能是 - 并且我强调可能 - 宣布您打算在不久的将来启动Node,所以如果(假设)您只需要群集中的10个节点,那么POST到API可以通知您的同事您正在启动节点,而且他们不需要。