添加 Machine
请求信息
请求行
POST /apis/platform.tkestack.io/v1/machines
添加一个 Machine。
请求参数
名称 | 类型 | 是否必填项 | 描述 |
---|---|---|---|
dryRun | string | 否 | 当该参数出现时,表示不应该持久化修改。一个无效的或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:All,将处理所有的试运行阶段。 |
fieldManager | string | 否 | fieldManager 是与正在进行这些更改的参与者或实体相关联的名称。值必须少于 128 字符,且仅包含可打印字符,参见 https://golang.org/pkg/unicode/#IsPrint。 |
pretty | string | 否 | 如果为 true,则会将返回结果输出成适合打印的格式。 |
请求体
Content-Type
*/*
请求体示例
在 Kubernetes 集群中的节点实例。
{
"apiVersion": "platform.tkestack.io/v1",
"kind": "Machine",
"metadata": {
"annotations": {
"cpaas.io/display-name": "192.168.0.105"
},
"name": "mc-192-168-0-105"
},
"spec": {
"clusterName": "global",
"displayName": "",
"ip": "192.168.0.105",
"ipv6": "",
"networkDevice": "",
"password": "cGFzc3dvcmQ=",
"port": 22,
"proxy": {},
"publicIP": "",
"role": "",
"type": "Baremetal",
"username": "root"
}
}
请求体说明
名称 | 类型 | 是否必填项 | 描述 |
---|---|---|---|
apiVersion | string | 是 | 查看公共参数 |
kind | string | 是 | 查看公共参数 |
metadata | object | 是 | 查看公共参数 |
spec | object | 是 |
节点的描述信息。
字段路径:spec |
spec.clusterName | string | 是 |
集群的名称。
字段路径:spec.clusterName |
spec.displayName | string | 是 |
节点的显示名称。
字段路径:spec.displayName |
spec.ip | string | 是 |
节点 IP。
字段路径:spec.ip |
spec.ipv6 | string | 是 |
IPV6 地址。
字段路径:spec.ipv6 |
spec.networkDevice | string | 是 |
网络设备(网卡)名称。
字段路径:spec.networkDevice |
spec.password | string (byte) | 是 |
密码。
字段路径:spec.password |
spec.port | integer (int32) | 是 |
端口号。
字段路径:spec.port |
spec.proxy | object | 是 |
通过 SSH 服务访问节点的代理。
字段路径:spec.proxy |
spec.publicIP | string | 是 |
节点的公网 IP。
字段路径:spec.publicIP |
spec.role | string | 是 |
节点的类型,控制节点(master)/计算节点(node)。
字段路径:spec.role |
spec.type | string | 是 |
节点的类型。
字段路径:spec.type |
spec.username | string | 是 |
用户名。
字段路径:spec.username |
返回信息
Content-Type
application/json
,
application/yaml
,
application/vnd.kubernetes.protobuf
状态码: 201
Created
返回体示例
在 Kubernetes 集群中的节点实例。
{
"apiVersion": "platform.tkestack.io/v1",
"kind": "Machine",
"metadata": {
"annotations": {
"cpaas.io/display-name": "192.168.0.105"
},
"creationTimestamp": "2021-06-25T02:25:45Z",
"name": "mc-192-168-0-105",
"resourceVersion": "100232",
"selfLink": "/apis/platform.tkestack.io/v1/machines/mc-192-168-0-105",
"uid": "719f0a5b-a730-41e3-8c15-1572625b3f23"
},
"spec": {
"clusterName": "global",
"displayName": "",
"finalizers": [
"machine"
],
"ip": "192.168.0.105",
"ipv6": "",
"networkDevice": "",
"password": "cGFzc3dvcmQ=",
"port": 22,
"proxy": {},
"publicIP": "",
"role": "",
"type": "Baremetal",
"username": "root"
},
"status": {
"phase": "Initializing"
}
}
返回体说明
名称 | 类型 | 描述 |
---|---|---|
apiVersion | string | 查看公共参数 |
kind | string | 查看公共参数 |
metadata | object | 查看公共参数 |
spec | object |
节点的描述信息。
字段路径:spec |
spec.clusterName | string |
集群的名称。
字段路径:spec.clusterName |
spec.displayName | string |
节点的显示名称。
字段路径:spec.displayName |
spec.finalizers | array |
终结器是一个内部的值列表,必须为空才能从存储中永久删除对象。
字段路径:spec.finalizers |
spec.finalizers[] | string |
字段路径:spec.finalizers[] |
spec.ip | string |
节点 IP。
字段路径:spec.ip |
spec.ipv6 | string |
IPV6 地址。
字段路径:spec.ipv6 |
spec.labels | object |
标签。
字段路径:spec.labels |
spec.networkDevice | string |
网络设备(网卡)名称。
字段路径:spec.networkDevice |
spec.passPhrase | string (byte) |
私钥的保护口令。
字段路径:spec.passPhrase |
spec.password | string (byte) |
密码。
字段路径:spec.password |
spec.port | integer (int32) |
端口号。
字段路径:spec.port |
spec.privateKey | string (byte) |
私钥。
字段路径:spec.privateKey |
spec.proxy | object |
通过 SSH 服务访问节点的代理。
字段路径:spec.proxy |
proxy.address | string |
代理服务器的地址,例如:192.168.1.1:1080。
字段路径:spec.proxy.address |
proxy.password | string (byte) |
访问代理服务器的密码。
字段路径:spec.proxy.password |
proxy.type | string |
代理的类型。
字段路径:spec.proxy.type |
proxy.username | string |
访问代理服务器的用户名。
字段路径:spec.proxy.username |
spec.publicIP | string |
节点的公网 IP。
字段路径:spec.publicIP |
spec.role | string |
节点的类型,控制节点(master)/计算节点(node)。
字段路径:spec.role |
spec.taints | array |
可选,节点的污点。
字段路径:spec.taints |
spec.taints[] | object |
污点是节点的一个属性,如果节点设置了污点后,底层的 Kubernetes 是不会将 Pod 调度到这个节点上的。
字段路径:spec.taints[] |
taints[].effect | string |
必须。Pod 上污点的 effect,可选如下三种:
NoSchedule:表示不允许调度,已调度的资源不受影响。
PreferNoSchedule:表示尽量不调度。
NoExecute:表示不允许调度,已调度的资源将在 tolerationSeconds 后删除。
字段路径:spec.taints[].effect |
taints[].key | string |
必须。应用到节点的污点的键。
字段路径:spec.taints[].key |
taints[].timeAdded | string (date-time) |
Time 是时间的包装。Time 支持正确的封送到 YAML 和 JSON。时间包提供方的许多工厂方法都提供了包装器。
字段路径:spec.taints[].timeAdded |
taints[].value | string |
与污点的键对应的污点的值。
字段路径:spec.taints[].value |
spec.tenantID | string |
租户 ID。
字段路径:spec.tenantID |
spec.type | string |
节点的类型。
字段路径:spec.type |
spec.username | string |
用户名。
字段路径:spec.username |
status | object |
MachineStatus 表示关于节点状态的信息。
字段路径:status |
status.addresses | array |
可到达节点的地址列表。
字段路径:status.addresses |
status.addresses[] | object |
MachineAddress 包含了节点地址的信息。
字段路径:status.addresses[] |
addresses[].address | string |
节点地址。
字段路径:status.addresses[].address |
addresses[].type | string |
节点地址类型,包括 Public、ExternalIP、InternalIP。
字段路径:status.addresses[].type |
status.conditions | array |
节点的执行进度。
字段路径:status.conditions |
status.conditions[] | object |
MachineCondition 包含了该节点当前条件的详细信息。
字段路径:status.conditions[] |
conditions[].lastProbeTime | string (date-time) |
Time 是时间的包装。Time 支持正确的封送到 YAML 和 JSON。时间包提供方的许多工厂方法都提供了包装器。
字段路径:status.conditions[].lastProbeTime |
conditions[].lastTransitionTime | string (date-time) |
Time 是时间的包装。Time 支持正确的封送到 YAML 和 JSON。时间包提供方的许多工厂方法都提供了包装器。
字段路径:status.conditions[].lastTransitionTime |
conditions[].message | string |
状态转换的详细可读信息。
字段路径:status.conditions[].message |
conditions[].reason | string |
最后一次状态转换的原因。
字段路径:status.conditions[].reason |
conditions[].status | string |
条件的状态,可以是 True、False、Unknown。
字段路径:status.conditions[].status |
conditions[].type | string |
条件的类型。
字段路径:status.conditions[].type |
status.locked | boolean |
节点的锁定状态。
字段路径:status.locked |
status.machineInfo | object |
MachineSystemInfo 是唯一标识节点的一组 id 或 uuid。
字段路径:status.machineInfo |
machineInfo.architecture | string |
节点记录的架构。
字段路径:status.machineInfo.architecture |
machineInfo.bootID | string |
节点记录的 Boot id。
字段路径:status.machineInfo.bootID |
machineInfo.containerRuntimeVersion | string |
节点记录的 ContainerRuntime 版本。
字段路径:status.machineInfo.containerRuntimeVersion |
machineInfo.kernelVersion | string |
节点记录的 Kernel 版本。
字段路径:status.machineInfo.kernelVersion |
machineInfo.kubeProxyVersion | string |
节点记录的 KubeProxy 版本。
字段路径:status.machineInfo.kubeProxyVersion |
machineInfo.kubeletVersion | string |
节点记录的 Kubelet 版本。
字段路径:status.machineInfo.kubeletVersion |
machineInfo.machineID | string |
节点记录的 MachineID。作为集群中唯一的节点识别,此字段是首选的。更多信息:http://man7.org/linux/man-pages/man5/machine-id.5.html
字段路径:status.machineInfo.machineID |
machineInfo.operatingSystem | string |
节点记录的操作系统。
字段路径:status.machineInfo.operatingSystem |
machineInfo.osImage | string |
节点记录的 OS 镜像。
字段路径:status.machineInfo.osImage |
machineInfo.systemUUID | string |
节点记录的 SystemUUID。作为唯一的节点识别,此字段是首选的。更多信息:https://access.redhat.com/documentation/en-US/Red_Hat_Subscription_Management/1/html/RHSM/getting-system-uuid.html
字段路径:status.machineInfo.systemUUID |
status.message | string |
指示为什么节点处于当前状态的详细信息的一个可读消息。
字段路径:status.message |
status.phase | string |
节点的执行进度阶段。
字段路径:status.phase |
status.reason | string |
指示为什么节点处于当前状态的详细信息的一个简短的 CamelCase 消息。
字段路径:status.reason |