调用 DescribeEdgeClusterAttachScripts 添加已有节点到边缘 Kubernetes 托管集群。该 API 返回唯一的可执行脚本,用户获取脚本后,在已有节点上执行即可完成该节点的接入。

请求信息

请求行 RequestLine

POST /clusters/{cluster_id}/attachscript HTTP/1.1
表 1. 请求行参数 URI Param
名称 类型 是否必须 描述
cluster_id string 集群 ID。

特有请求头 RequestHead

无,请参考公共请求头部

请求体 RequestBody

{
  "options": "{
    \"flannelIface\": "flannel 绑定网卡",
    \"enableIptables\": "是否启用 iptables",
    \"manageRuntime\": "是否使用接入工具管理 runtime",
    \"nodeNameStrategy\": "节点的命名机制",
    \"nodeName\": "节点名称",
    \"nodeNamePrefix\": "节点名称前缀",
    \"enabledAddons\": [
            \"kube-proxy\",
            \"flannel\",
            \"coredns\"
    ]
     }"
}
表 2. 请求体解析
名称 类型 是否必须 描述
options json 节点的接入配置。
enabledAddons array 需要安装的组件列表,默认为空,不安装。普通节点需要配置为["kube-proxy","flannel", "coredns"]
enableIptables bool 是否开启 iptables,默认值 true。
flannelIface String flannel 使用的网卡名。默认值是 eth0。
gpuVersion String 表示要接入的节点是否为 GPU 节点,默认为空,当前支持的 GPU 版本是 Nvidia_Tesla_T4
manageRuntime bool 是否由 edgeadm 安装并检测Runtime。
nodeName string 设置节点名。

只有在 --nodename-strategy=customized 时生效。

nodeNamePrefix string 节点名称前缀。
  • 如果前缀为空,则默认使用hostname。
  • 如果不为空,则取值为prefix+UUID。
nodeNameStrategy bool
节点生成策略。目前支持四种策略:
  • hostname:主机名。
  • random:随机字符串。
  • randomWithPrefix:指定前缀+随机字符串。
  • customized:自定义。
默认值为 hostname。

返回信息

返回行 ResponseLine

HTTP/1.1 202 OK

特有返回头 ResponseHead

无,请参考公共返回头部

返回体 ResponseBody

 "wget http://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/public/pkg/run/attach/1.12.6-aliyunedge.1/edgeadm -O edgeadm; chmod u+x edgeadm; ./edgeadm join --openapi-token=XXX --node-spec="{\"flannelIface\":\"eth0\",\"enableIptables\":true,\"assumeYes\":true,\"manageRuntime\":true,\"nodeNameStrategy\":\"hostname\",\"enabledAddons\":[\"kube-proxy\",\"flannel\",\"coredns\"]}""

示例

请求示例

POST /clusters/Cccfd68c47445466XXXX/attachscript HTTP/1.1
<公共请求头>
{
     "options": "{
      \"flannelIface\": \"eth0\",
      \"enableIptables\": true,
      \"manageRuntime\": true,
      \"nodeNameStrategy\": \"hostname\",
      \"enabledAddons\": [
            \"kube-proxy\",
            \"flannel\",
            \"coredns\"
      ]
     }"
}

返回示例

HTTP/1.1 202 Accepted
<公共响应头>
 "wget http://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/public/pkg/run/attach/1.12.6-aliyunedge.1/edgeadm -O edgeadm; chmod u+x edgeadm; ./edgeadm join --openapi-token=XXX --node-spec="{\"flannelIface\":\"eth0\",\"enableIptables\":true,\"assumeYes\":true,\"manageRuntime\":true,\"nodeNameStrategy\":\"hostname\",\"enabledAddons\":[\"kube-proxy\",\"flannel\",\"coredns\"]}""