添加 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 |