容器基础设施管理 API

API 版本

为了随着时间的推移为用户带来新功能,Magnum API 支持版本控制。Magnum 中有两种类型的版本。

  • ‘’主要版本’’, 它们拥有专用的 URL

  • “微版本”,可以通过使用 OpenStack-API-Version 来请求。

从 Newton 版本开始,所有 API 请求都支持 OpenStack-API-Version 头部。应该在每个请求中提供此头部;如果没有此头部,则将每个请求视为来自较旧的 Newton 之前的客户端。这是为了保留向后兼容性,因为我们引入了新功能。

版本 API 的工作方式与其他 API 不同,因为它们不需要身份验证。

GET
/

列出 API 版本

这将获取有关部署中所有已知主要 API 版本的所有信息。将为每个 API 版本提供指向更具体信息的链接,以及有关支持的最小和最大微版本的信息。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

响应

名称

入参

类型

描述

X-Openstack-Request-Id

标头

UUID

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

versions

body

字符串

版本。

status

body

字符串

此 API 版本的状态。它可以是以下之一:

  • CURRENT:这是要使用的 API 的首选版本

  • SUPPORTED:这是 API 的较旧版本,但仍然受支持

  • DEPRECATED:这是 API 的已弃用版本,计划将其删除

min_version

body

字符串

如果此版本的 API 支持微版本,则支持的最小微版本。如果不支持微版本,则为空字符串。

max_version

body

字符串

如果此版本的 API 支持微版本,则支持的最高微版本。如果不支持微版本,则为空字符串。

id

body

字符串

版本的一个常用名称。仅供参考,不具有实际语义意义。

links

body

数组

指向相关资源的链接。

name

body

字符串

资源的名称。

description

body

字符串

关于 Magnum 服务的描述性文本。

响应示例

{
   "versions":[
      {
         "status":"CURRENT",
         "min_version":"1.1",
         "max_version":"1.4",
         "id":"v1",
         "links":[
            {
               "href":"http://10.164.180.104:9511/v1/",
               "rel":"self"
            }
         ]
      }
   ],
   "name":"OpenStack Magnum API",
   "description":"Magnum is an OpenStack project which aims to provide container management."
}
GET
/v1/

显示 v1 API 版本

显示 Magnum v1 API 中的所有资源。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

响应

名称

入参

类型

描述

X-Openstack-Request-Id

标头

UUID

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

id

body

字符串

版本的一个常用名称。仅供参考,不具有实际语义意义。

links

body

数组

指向相关资源的链接。

注意

响应中的 media-types 参数是遗留的,不提供有用的信息。它们可能会被弃用并在未来删除。

响应示例

{
   "media_types":[
      {
         "base":"application/json",
         "type":"application/vnd.openstack.magnum.v1+json"
      }
   ],
   "links":[
      {
         "href":"http://10.164.180.104:9511/v1/",
         "rel":"self"
      },
      {
         "href":"https://docs.openstack.org/developer/magnum/dev/api-spec-v1.html",
         "type":"text/html",
         "rel":"describedby"
      }
   ],
   "mservices":[
      {
         "href":"http://10.164.180.104:9511/v1/mservices/",
         "rel":"self"
      },
      {
         "href":"http://10.164.180.104:9511/mservices/",
         "rel":"bookmark"
      }
   ],
   "clustertemplates":[
      {
         "href":"http://10.164.180.104:9511/v1/clustertemplates/",
         "rel":"self"
      },
      {
         "href":"http://10.164.180.104:9511/clustertemplates/",
         "rel":"bookmark"
      }
   ],
   "certificates":[
      {
         "href":"http://10.164.180.104:9511/v1/certificates/",
         "rel":"self"
      },
      {
         "href":"http://10.164.180.104:9511/certificates/",
         "rel":"bookmark"
      }
   ],
   "clusters":[
      {
         "href":"http://10.164.180.104:9511/v1/clusters/",
         "rel":"self"
      },
      {
         "href":"http://10.164.180.104:9511/clusters/",
         "rel":"bookmark"
      }
   ],
   "id":"v1"
}

Magnum 基本 URL

本文档其余所有 API 调用都需要使用 OpenStack Identity 服务进行身份验证。它们还需要从类型为 container-infra 的 Identity 令牌中提取的 url。这将是下面每个调用的根 URL,用于构建完整的路径。

请注意,如果使用 OpenStack Identity 服务 API v2,url 可以通过 endpoint catalog 中的 adminURLinternalURLpublicURL 表示。在 Identity 服务 API v3 中,url 使用包含 admininternalpublic 的字段 interface 表示。

例如,如果 urlhttp://my-container-infra.org/magnum/v1,那么对于 /clusters 的完整 API 调用是 http://my-container-infra.org/magnum/v1/clusters

根据部署情况,容器基础设施管理服务的 URL 可能是 http 或 https,自定义端口,自定义路径,并包含您的项目 ID。了解部署的 URL 的唯一方法是使用服务目录。容器基础设施管理 URL 绝不能在应用程序中硬编码,即使预计它们只能在一个站点上工作。它应该始终从 Identity 令牌中发现。

因此,在本文档的其余部分,我们将使用简写,其中 GET /clusters 实际上意味着 GET {your_container_infra_url}/clusters

管理集群

列出、创建、显示详细信息、更新和删除集群。

POST
/v1/clusters

创建新集群

基于集群模板创建新集群。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - Unauthorized

用户必须在发出请求之前进行身份验证。

403 - Forbidden

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

请求

名称

入参

类型

描述

name

body

字符串

资源的名称。

discovery_url

body

字符串

用于节点发现的自定义发现 URL。这由 COE 用于发现创建托管容器的服务器。实际的发现机制因 COE 而异。在某些情况下,Magnum 会将服务器信息填充到发现服务中。在其他情况下,如果未指定 discovery_url,Magnum 将使用公共发现服务,地址为

https://discovery.etcd.io

在这种情况下,Magnum 将为每个 uster 生成一个唯一的 URL,并存储服务器的信息。

master_count

body

整数

将作为集群主服务器的服务器数量。默认值为 1。设置为多个主服务器以启用高可用性。如果集群模板中指定了 master-lb-enabled 选项,则主服务器将被放置在负载均衡器池中。

cluster_template_id

body

UUID

集群模板的 UUID。

node_count

body

整数

将作为集群节点服务器的服务器数量。默认值为 1。

create_timeout

body

整数

集群创建的超时时间,以分钟为单位。期望值为正整数,默认值为 60 分钟。如果在集群创建过程中达到超时时间,则操作将被中止,集群状态将被设置为 CREATE_FAILED

keypair

body

字符串

要在集群服务器上配置的 SSH 密钥对的名称,用于 ssh 访问。用户需要密钥才能 ssh 到集群中的服务器。登录名特定于集群驱动程序,例如对于 fedora-atomic 镜像,默认登录名是 fedora

master_flavor_id (可选)

body

字符串

此集群模板的主节点的风味。

labels (可选)

body

数组

key=value 对形式的任意标签。接受的键和有效值由集群驱动程序定义。它们用作传递特定于集群驱动程序的附加参数的一种方式。

flavor_id

body

字符串

启动节点服务器的 nova 风味 ID 或名称。默认值为 m1.small

fixed_subnet (可选)

body

字符串

用于为集群中的节点分配网络地址的固定子网。

fixed_network (可选)

body

字符串

Neutron 网络的名称或 ID,用于为集群提供内部网络的连接。

floating_ip_enabled (可选)

body

布尔值

是否启用或禁用使用云提供商的浮动 IP。一些云提供商使用浮动 IP,一些使用公共 IP,因此 Magnum 提供了此选项来指定使用浮动 IP 的选择。如果未设置,则模板中的 floating_ip_enabled 的值将被使用。

master_lb_enabled (可选)

body

布尔值

由于集群中可能存在多个主服务器,因此创建 Neutron 负载均衡器以提供集群的 API 端点并将其请求定向到主服务器。在某些情况下,例如当 LBaaS 服务不可用时,可以将此选项设置为 false 以创建没有负载均衡器的集群。在这种情况下,其中一个主服务器将作为 API 端点。默认值为 true,即为集群创建负载均衡器。

注意

从 Newton 开始,创建集群的请求是异步的。

请求示例

{
   "name":"k8s",
   "discovery_url":null,
   "master_count":2,
   "cluster_template_id":"0562d357-8641-4759-8fed-8173f02c9633",
   "node_count":2,
   "create_timeout":60,
   "keypair":"my_keypair",
   "master_flavor_id":null,
   "labels":{
   },
   "flavor_id":null
}

响应

名称

入参

类型

描述

X-Openstack-Request-Id

标头

UUID

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

uuid

body

UUID

集群的 UUID。

响应示例

{
   "uuid":"746e779a-751a-456b-a3e9-c883d734946f"
}
GET
/v1/clusters

列出所有集群

列出 Magnum 中的所有集群。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

401 - Unauthorized

用户必须在发出请求之前进行身份验证。

403 - Forbidden

策略不允许当前用户执行此操作。

响应

名称

入参

类型

描述

X-Openstack-Request-Id

标头

UUID

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

clusters

body

数组

Magnum 中所有集群的列表。

status

body

字符串

集群的当前状态。

uuid

body

UUID

集群的 UUID。

links

body

数组

指向相关资源的链接。

stack_id

body

UUID

来自 Heat 编排服务的编排堆栈的引用 UUID。

keypair

body

字符串

要在集群服务器上配置的 SSH 密钥对的名称,用于 ssh 访问。用户需要密钥才能 ssh 到集群中的服务器。登录名特定于集群驱动程序,例如对于 fedora-atomic 镜像,默认登录名是 fedora

master_count

body

整数

将作为集群主服务器的服务器数量。默认值为 1。设置为多个主服务器以启用高可用性。如果集群模板中指定了 master-lb-enabled 选项,则主服务器将被放置在负载均衡器池中。

cluster_template_id

body

UUID

集群模板的 UUID。

node_count

body

整数

将作为集群节点服务器的服务器数量。默认值为 1。

create_timeout

body

整数

集群创建的超时时间,以分钟为单位。期望值为正整数,默认值为 60 分钟。如果在集群创建过程中达到超时时间,则操作将被中止,集群状态将被设置为 CREATE_FAILED

name

body

字符串

资源的名称。

响应示例

{
   "clusters":[
      {
         "status":"CREATE_IN_PROGRESS",
         "cluster_template_id":"0562d357-8641-4759-8fed-8173f02c9633",
         "uuid":"731387cf-a92b-4c36-981e-3271d63e5597",
         "links":[
            {
               "href":"http://10.164.180.104:9511/v1/clusters/731387cf-a92b-4c36-981e-3271d63e5597",
               "rel":"self"
            },
            {
               "href":"http://10.164.180.104:9511/clusters/731387cf-a92b-4c36-981e-3271d63e5597",
               "rel":"bookmark"
            }
         ],
         "stack_id":"31c1ee6c-081e-4f39-9f0f-f1d87a7defa1",
         "keypair":"my_keypair",
         "master_count":1,
         "create_timeout":60,
         "node_count":1,
         "name":"k8s"
      }
   ]
}
GET
/v1/clusters/{cluster_ident}

显示集群详细信息

获取 Magnum 中集群的所有信息。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

401 - Unauthorized

用户必须在发出请求之前进行身份验证。

403 - Forbidden

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

请求

名称

入参

类型

描述

cluster_ident

路径

字符串

Magnum 中集群的 UUID 或名称。

响应

名称

入参

类型

描述

X-Openstack-Request-Id

标头

UUID

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

status

body

字符串

集群的当前状态。

uuid

body

UUID

集群的 UUID。

links

body

数组

指向相关资源的链接。

stack_id

body

UUID

来自 Heat 编排服务的编排堆栈的引用 UUID。

created_at

body

字符串

创建资源的时间和日期。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

例如,2015-08-27T09:49:58-05:00

如果包含 ±hh:mm 值,则为 UTC 的时区偏移量。

api_address

body

字符串

暴露给最终用户的 COE API 的端点 URL。

discovery_url

body

字符串

用于节点发现的自定义发现 URL。这由 COE 用于发现创建托管容器的服务器。实际的发现机制因 COE 而异。在某些情况下,Magnum 会将服务器信息填充到发现服务中。在其他情况下,如果未指定 discovery_url,Magnum 将使用公共发现服务,地址为

https://discovery.etcd.io

在这种情况下,Magnum 将为每个 uster 生成一个唯一的 URL,并存储服务器的信息。

updated_at

body

字符串

更新资源的时间和日期。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

例如,2015-08-27T09:49:58-05:00

如果包含,±hh:mm 值是 UTC 的时区偏移量。在前面的示例中,偏移量值为 -05:00

如果未设置 updated_at 日期和时间戳,则其值为 null

master_count

body

整数

将作为集群主服务器的服务器数量。默认值为 1。设置为多个主服务器以启用高可用性。如果集群模板中指定了 master-lb-enabled 选项,则主服务器将被放置在负载均衡器池中。

coe_version

body

字符串

集群中选择的 COE 的版本信息,帮助客户端选择正确的客户端版本。

keypair

body

字符串

要在集群服务器上配置的 SSH 密钥对的名称,用于 ssh 访问。用户需要密钥才能 ssh 到集群中的服务器。登录名特定于集群驱动程序,例如对于 fedora-atomic 镜像,默认登录名是 fedora

cluster_template_id

body

UUID

集群模板的 UUID。

master_addresses

body

数组

所有主节点的浮动 IP 列表。

node_count

body

整数

将作为集群节点服务器的服务器数量。默认值为 1。

node_addresses

body

数组

所有充当节点的服务器的浮动 IP 列表。

status_reason

body

字符串

集群当前状态的原因。

create_timeout

body

整数

集群创建的超时时间,以分钟为单位。期望值为正整数,默认值为 60 分钟。如果在集群创建过程中达到超时时间,则操作将被中止,集群状态将被设置为 CREATE_FAILED

floating_ip_enabled (可选)

body

布尔值

是否启用或禁用使用云提供商的浮动 IP。一些云提供商使用浮动 IP,一些使用公共 IP,因此 Magnum 提供了此选项来指定使用浮动 IP 的选择。如果未设置,则模板中的 floating_ip_enabled 的值将被使用。

master_lb_enabled (可选)

body

布尔值

由于集群中可能存在多个主服务器,因此创建 Neutron 负载均衡器以提供集群的 API 端点并将其请求定向到主服务器。在某些情况下,例如当 LBaaS 服务不可用时,可以将此选项设置为 false 以创建没有负载均衡器的集群。在这种情况下,其中一个主服务器将作为 API 端点。默认值为 true,即为集群创建负载均衡器。

name

body

字符串

资源的名称。

响应示例

{
   "status":"CREATE_COMPLETE",
   "uuid":"746e779a-751a-456b-a3e9-c883d734946f",
   "links":[
      {
         "href":"http://10.164.180.104:9511/v1/clusters/746e779a-751a-456b-a3e9-c883d734946f",
         "rel":"self"
      },
      {
         "href":"http://10.164.180.104:9511/clusters/746e779a-751a-456b-a3e9-c883d734946f",
         "rel":"bookmark"
      }
   ],
   "stack_id":"9c6f1169-7300-4d08-a444-d2be38758719",
   "created_at":"2016-08-29T06:51:31+00:00",
   "api_address":"https://172.24.4.6:6443",
   "discovery_url":"https://discovery.etcd.io/cbeb580da58915809d59ee69348a84f3",
   "updated_at":"2016-08-29T06:53:24+00:00",
   "master_count":1,
   "coe_version": "v1.2.0",
   "keypair":"my_keypair",
   "cluster_template_id":"0562d357-8641-4759-8fed-8173f02c9633",
   "master_addresses":[
      "172.24.4.6"
   ],
   "node_count":1,
   "node_addresses":[
      "172.24.4.13"
   ],
   "status_reason":"Stack CREATE completed successfully",
   "create_timeout":60,
   "name":"k8s"
}
DELETE
/v1/clusters/{cluster_ident}

删除集群

删除集群。

响应代码

成功

代码

原因

204 - No Content

服务器已通过删除资源来满足请求。

错误

代码

原因

401 - Unauthorized

用户必须在发出请求之前进行身份验证。

403 - Forbidden

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

409 - Conflict

此操作与此资源的另一个操作冲突。

请求

名称

入参

类型

描述

cluster_ident

路径

字符串

Magnum 中集群的 UUID 或名称。

响应

此请求不在响应主体中返回任何内容。

名称

入参

类型

描述

X-Openstack-Request-Id

标头

UUID

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

PATCH
/v1/clusters/{cluster_ident}

更新集群信息

使用包括 addreplaceremove 的操作更新一个集群属性。以 key=value 形式添加和替换的属性,而 remove 只需要键。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - Unauthorized

用户必须在发出请求之前进行身份验证。

403 - Forbidden

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

请求

名称

入参

类型

描述

cluster_ident

路径

字符串

Magnum 中集群的 UUID 或名称。

路径

body

字符串

资源属性的名称。

value

body

字符串

资源属性的值。

op

body

字符串

用于修改资源属性的操作。支持的操作如下:addreplaceremove。在 remove 的情况下,用户只需要提供用于删除属性的 path

注意

从 Newton 开始,更新集群的请求是异步的。目前,只有属性 node_count 支持 replaceremove 操作。

请求示例

[
   {
      "path":"/node_count",
      "value":2,
      "op":"replace"
   }
]

响应

名称

入参

类型

描述

X-Openstack-Request-Id

标头

UUID

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

uuid

body

UUID

集群的 UUID。

响应示例

{
   "uuid":"746e779a-751a-456b-a3e9-c883d734946f"
}
POST
/v1/clusters/{cluster_ident}/actions/resize

调整集群大小

调整集群大小。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

401 - Unauthorized

用户必须在发出请求之前进行身份验证。

403 - Forbidden

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

409 - Conflict

此操作与此资源的另一个操作冲突。

请求

名称

入参

类型

描述

cluster_ident

路径

字符串

Magnum 中集群的 UUID 或名称。

node_count

body

整数

将作为集群节点服务器的服务器数量。默认值为 1。

nodes_to_remove (可选)

body

数组

将被删除的服务器 ID 列表。

nodegroup (可选)

body

字符串

节点组的 ID。节点组是集群内具有相同配置的节点实例的子集。

注意

节点组只是一个占位符,未来可能会支持。现在 Magnum 尚未支持它。

请求示例

{
    "node_count": 3,
    "nodes_to_remove": ["e74c40e0-d825-11e2-a28f-0800200c9a66"],
    "nodegroup": "production_group"
}

响应

名称

入参

类型

描述

X-Openstack-Request-Id

标头

UUID

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

uuid

body

UUID

集群的 UUID。

响应示例

{
   "uuid":"746e779a-751a-456b-a3e9-c883d734946f"
}
POST
/v1/clusters/{cluster_ident}/actions/upgrade

升级集群

调整集群大小。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

401 - Unauthorized

用户必须在发出请求之前进行身份验证。

403 - Forbidden

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

409 - Conflict

此操作与此资源的另一个操作冲突。

请求

名称

入参

类型

描述

cluster_ident

路径

字符串

Magnum 中集群的 UUID 或名称。

cluster_template

body

UUID

集群模板的 UUID。

max_batch_size (可选)

body

int

每次升级时最大批处理大小,默认值为 1

nodegroup (可选)

body

字符串

节点组的 ID。节点组是集群内具有相同配置的节点实例的子集。

注意

节点组只是一个占位符,未来可能会支持。现在 Magnum 尚未支持它。

请求示例

{
    "cluster_template": "e74c40e0-d825-11e2-a28f-0800200c9a66",
    "max_batch_size": 1,
    "nodegroup": "production_group"
}

响应

名称

入参

类型

描述

X-Openstack-Request-Id

标头

UUID

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

uuid

body

UUID

集群的 UUID。

响应示例

{
   "uuid":"746e779a-751a-456b-a3e9-c883d734946f"
}

管理集群模板

列出、创建、显示详情、更新和删除集群模板。

POST
/v1/clustertemplates

创建新的集群模板

创建新的集群模板。

响应代码

成功

代码

原因

201 - 已创建

资源已创建并准备好使用。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - Unauthorized

用户必须在发出请求之前进行身份验证。

403 - Forbidden

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

请求

名称

入参

类型

描述

labels (可选)

body

数组

key=value 对形式的任意标签。接受的键和有效值由集群驱动程序定义。它们用作传递特定于集群驱动程序的附加参数的一种方式。

fixed_subnet (可选)

body

字符串

用于为集群中的节点分配网络地址的固定子网。

master_flavor_id (可选)

body

字符串

此集群模板的主节点的风味。

no_proxy (可选)

body

字符串

当使用代理服务器时,某些站点不应通过代理,而应正常访问。在这种情况下,用户可以将这些站点指定为以逗号分隔的 IP 列表。默认值为 None

https_proxy (可选)

body

字符串

服务器直接通过 https 访问外部互联网时使用的代理的 IP 地址。在某些国家/企业中,可能会发生这种情况,并且代理允许服务器和容器访问这些站点。格式是包含端口号的 URL。默认值为 None

http_proxy (可选)

body

字符串

服务器直接通过 http 访问外部互联网时使用的代理的 IP 地址。在某些国家/企业中,可能会发生这种情况,并且代理允许服务器和容器访问这些站点。格式是包含端口号的 URL。默认值为 None

tls_disabled

body

布尔值

通常启用传输层安全 (TLS) 以保护集群。在某些情况下,用户可能希望在集群中禁用 TLS,例如在开发期间或排除某些问题的故障。指定此参数将禁用 TLS,以便用户无需证书即可访问 COE 端点。默认情况下启用 TLS。

keypair_id

body

字符串

要在集群服务器上配置的 SSH 密钥对的名称,用于 ssh 访问。用户需要密钥才能 ssh 到集群中的服务器。登录名特定于集群驱动程序,例如对于 fedora-atomic 镜像,默认登录名是 fedora

public

body

布尔值

通常,对集群模板的访问权限仅限于管理员、所有者或与所有者在同一租户中的用户。设置此标志会使集群模板公开,并可供其他用户访问。默认情况下不公开。

docker_volume_size

body

整数

每个服务器上 Docker 守护进程缓存镜像和托管容器的本地存储的大小,以 GB 为单位。Cinder 卷提供存储。默认值为 25 GB。对于 devicemapper 存储驱动程序,最小值为 3GB。对于 overlay 存储驱动程序,最小值为 1GB。

server_type

body

字符串

集群中的服务器可以是 vmbaremetal。此参数选择为集群创建的服务器类型。默认值为 vm

external_network_id

body

字符串

Neutron 网络的名称或网络 ID,用于为集群提供与外部互联网的连接。此网络必须是外部网络,即其属性 router:external 必须为 True。集群中的服务器将连接到私有网络,Magnum 将在此私有网络和外部网络之间创建一个路由器。这将允许服务器下载镜像、访问发现服务等,并且容器可以安装软件包等。反之,将从外部网络分配浮动 IP,以提供从外部互联网到服务器和集群中托管的容器服务的访问权限。

image_id

body

字符串

Glance 中用于启动集群服务器的基础镜像的名称或 UUID。镜像必须定义适当的集群驱动程序的属性 os_distro

volume_driver

body

字符串

用于管理容器持久存储的卷驱动程序的名称。支持的功能特定于驱动程序。

registry_enabled (可选)

body

布尔值

默认情况下,Docker 镜像从公共 Docker 注册表拉取,但在某些情况下,用户可能希望使用私有注册表。此选项提供了一个基于 Registry V2 的替代注册表:Magnum 将在集群中创建一个本地注册表,该注册表由 swift 支持,用于托管镜像。默认情况下使用公共注册表。

insecure_registry

body

字符串

指向用户自己的不安全的 Docker 注册表的 URL,用于部署和运行 Docker 容器。

docker_storage_driver

body

字符串

用于管理镜像和容器可写层的存储的驱动程序的名称。默认值为 devicemapper

name

body

字符串

资源的名称。

network_driver

body

字符串

用于为容器提供网络的网络驱动程序的名称。请注意,这与集群的 Neutron 网络不同且独立。操作和网络模型特定于特定的驱动程序。

fixed_network (可选)

body

字符串

Neutron 网络的名称或 ID,用于为集群提供内部网络的连接。

coe

body

字符串

指定要使用的容器编排引擎。支持的 COE 包括 kubernetes。如果您的环境安装了其他集群驱动程序,请参阅集群驱动程序文档以获取新的 COE 名称。

flavor_id

body

字符串

启动节点服务器的 nova 风味 ID 或名称。默认值为 m1.small

master_lb_enabled

body

布尔值

由于集群中可能存在多个主服务器,因此创建 Neutron 负载均衡器以提供集群的 API 端点并将其请求定向到主服务器。在某些情况下,例如当 LBaaS 服务不可用时,可以将此选项设置为 false 以创建没有负载均衡器的集群。在这种情况下,其中一个主服务器将作为 API 端点。默认值为 true,即为集群创建负载均衡器。

dns_nameserver

body

字符串

集群中的服务器和容器使用的 DNS 域名服务器。这在集群的私有 Neutron 网络中配置。默认值为 8.8.8.8

floating_ip_enabled

body

布尔值

是否启用或禁用使用云提供商的浮动 IP。某些云提供商使用浮动 IP,而另一些云提供商使用公共 IP,因此 Magnum 提供了此选项来指定使用浮动 IP 的选择。

hidden (可选)

body

布尔值

指示 ClusterTemplate 是否隐藏,默认值为 false。

tags (可选)

body

数组

集群模板的管理员标签。

请求示例

{
   "labels":{

   },
   "fixed_subnet":null,
   "master_flavor_id":null,
   "no_proxy":"10.0.0.0/8,172.0.0.0/8,192.0.0.0/8,localhost",
   "https_proxy":"http://10.164.177.169:8080",
   "tls_disabled":false,
   "keypair_id":"kp",
   "public":false,
   "http_proxy":"http://10.164.177.169:8080",
   "docker_volume_size":3,
   "server_type":"vm",
   "external_network_id":"public",
   "image_id":"fedora-atomic-latest",
   "volume_driver":"cinder",
   "registry_enabled":false,
   "insecure_registry":null,
   "docker_storage_driver":"devicemapper",
   "name":"k8s-bm2",
   "network_driver":"flannel",
   "fixed_network":null,
   "coe":"kubernetes",
   "flavor_id":"m1.small",
   "master_lb_enabled":true,
   "dns_nameserver":"8.8.8.8"
}

响应

名称

入参

类型

描述

X-Openstack-Request-Id

标头

UUID

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

insecure_registry

body

字符串

指向用户自己的不安全的 Docker 注册表的 URL,用于部署和运行 Docker 容器。

links

body

数组

指向相关资源的链接。

http_proxy (可选)

body

字符串

服务器直接通过 http 访问外部互联网时使用的代理的 IP 地址。在某些国家/企业中,可能会发生这种情况,并且代理允许服务器和容器访问这些站点。格式是包含端口号的 URL。默认值为 None

updated_at

body

字符串

更新资源的时间和日期。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

例如,2015-08-27T09:49:58-05:00

如果包含,±hh:mm 值是 UTC 的时区偏移量。在前面的示例中,偏移量值为 -05:00

如果未设置 updated_at 日期和时间戳,则其值为 null

floating_ip_enabled

body

布尔值

是否启用或禁用使用云提供商的浮动 IP。某些云提供商使用浮动 IP,而另一些云提供商使用公共 IP,因此 Magnum 提供了此选项来指定使用浮动 IP 的选择。

fixed_subnet (可选)

body

字符串

用于为集群中的节点分配网络地址的固定子网。

master_flavor_id (可选)

body

字符串

此集群模板的主节点的风味。

uuid

body

UUID

集群模板的 UUID。

no_proxy (可选)

body

字符串

当使用代理服务器时,某些站点不应通过代理,而应正常访问。在这种情况下,用户可以将这些站点指定为以逗号分隔的 IP 列表。默认值为 None

https_proxy (可选)

body

字符串

服务器直接通过 https 访问外部互联网时使用的代理的 IP 地址。在某些国家/企业中,可能会发生这种情况,并且代理允许服务器和容器访问这些站点。格式是包含端口号的 URL。默认值为 None

tls_disabled

body

布尔值

通常启用传输层安全 (TLS) 以保护集群。在某些情况下,用户可能希望在集群中禁用 TLS,例如在开发期间或排除某些问题的故障。指定此参数将禁用 TLS,以便用户无需证书即可访问 COE 端点。默认情况下启用 TLS。

keypair_id

body

字符串

要在集群服务器上配置的 SSH 密钥对的名称,用于 ssh 访问。用户需要密钥才能 ssh 到集群中的服务器。登录名特定于集群驱动程序,例如对于 fedora-atomic 镜像,默认登录名是 fedora

public

body

布尔值

通常,对集群模板的访问权限仅限于管理员、所有者或与所有者在同一租户中的用户。设置此标志会使集群模板公开,并可供其他用户访问。默认情况下不公开。

labels (可选)

body

数组

key=value 对形式的任意标签。接受的键和有效值由集群驱动程序定义。它们用作传递特定于集群驱动程序的附加参数的一种方式。

docker_volume_size

body

整数

每个服务器上 Docker 守护进程缓存镜像和托管容器的本地存储的大小,以 GB 为单位。Cinder 卷提供存储。默认值为 25 GB。对于 devicemapper 存储驱动程序,最小值为 3GB。对于 overlay 存储驱动程序,最小值为 1GB。

server_type

body

字符串

集群中的服务器可以是 vmbaremetal。此参数选择为集群创建的服务器类型。默认值为 vm

external_network_id

body

字符串

Neutron 网络的名称或网络 ID,用于为集群提供与外部互联网的连接。此网络必须是外部网络,即其属性 router:external 必须为 True。集群中的服务器将连接到私有网络,Magnum 将在此私有网络和外部网络之间创建一个路由器。这将允许服务器下载镜像、访问发现服务等,并且容器可以安装软件包等。反之,将从外部网络分配浮动 IP,以提供从外部互联网到服务器和集群中托管的容器服务的访问权限。

cluster_distro

body

字符串

显示为集群驱动程序的镜像中定义的适当元数据属性 os_distro

image_id

body

字符串

Glance 中用于启动集群服务器的基础镜像的名称或 UUID。镜像必须定义适当的集群驱动程序的属性 os_distro

volume_driver

body

字符串

用于管理容器持久存储的卷驱动程序的名称。支持的功能特定于驱动程序。

registry_enabled (可选)

body

布尔值

默认情况下,Docker 镜像从公共 Docker 注册表拉取,但在某些情况下,用户可能希望使用私有注册表。此选项提供了一个基于 Registry V2 的替代注册表:Magnum 将在集群中创建一个本地注册表,该注册表由 swift 支持,用于托管镜像。默认情况下使用公共注册表。

docker_storage_driver

body

字符串

用于管理镜像和容器可写层的存储的驱动程序的名称。默认值为 devicemapper

apiserver_port

body

整数

暴露的 COE API 服务器端口。

name

body

字符串

资源的名称。

created_at

body

字符串

创建资源的时间和日期。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

例如,2015-08-27T09:49:58-05:00

如果包含 ±hh:mm 值,则为 UTC 的时区偏移量。

network_driver

body

字符串

用于为容器提供网络的网络驱动程序的名称。请注意,这与集群的 Neutron 网络不同且独立。操作和网络模型特定于特定的驱动程序。

fixed_network (可选)

body

字符串

Neutron 网络的名称或 ID,用于为集群提供内部网络的连接。

coe

body

字符串

指定要使用的容器编排引擎。支持的 COE 包括 kubernetes。如果您的环境安装了其他集群驱动程序,请参阅集群驱动程序文档以获取新的 COE 名称。

flavor_id

body

字符串

启动节点服务器的 nova 风味 ID 或名称。默认值为 m1.small

master_lb_enabled

body

布尔值

由于集群中可能存在多个主服务器,因此创建 Neutron 负载均衡器以提供集群的 API 端点并将其请求定向到主服务器。在某些情况下,例如当 LBaaS 服务不可用时,可以将此选项设置为 false 以创建没有负载均衡器的集群。在这种情况下,其中一个主服务器将作为 API 端点。默认值为 true,即为集群创建负载均衡器。

dns_nameserver

body

字符串

集群中的服务器和容器使用的 DNS 域名服务器。这在集群的私有 Neutron 网络中配置。默认值为 8.8.8.8

hidden (可选)

body

布尔值

指示 ClusterTemplate 是否隐藏,默认值为 false。

tags (可选)

body

数组

集群模板的管理员标签。

响应示例

{
   "insecure_registry":null,
   "links":[
      {
         "href":"http://10.164.180.104:9511/v1/clustertemplates/085e1c4d-4f68-4bfd-8462-74b9e14e4f39",
         "rel":"self"
      },
      {
         "href":"http://10.164.180.104:9511/clustertemplates/085e1c4d-4f68-4bfd-8462-74b9e14e4f39",
         "rel":"bookmark"
      }
   ],
   "http_proxy":"http://10.164.177.169:8080",
   "updated_at":null,
   "floating_ip_enabled":true,
   "fixed_subnet":null,
   "master_flavor_id":null,
   "uuid":"085e1c4d-4f68-4bfd-8462-74b9e14e4f39",
   "no_proxy":"10.0.0.0/8,172.0.0.0/8,192.0.0.0/8,localhost",
   "https_proxy":"http://10.164.177.169:8080",
   "tls_disabled":false,
   "keypair_id":"kp",
   "public":false,
   "labels":{

   },
   "docker_volume_size":3,
   "server_type":"vm",
   "external_network_id":"public",
   "cluster_distro":"fedora-atomic",
   "image_id":"fedora-atomic-latest",
   "volume_driver":"cinder",
   "registry_enabled":false,
   "docker_storage_driver":"devicemapper",
   "apiserver_port":null,
   "name":"k8s-bm2",
   "created_at":"2016-08-29T02:08:08+00:00",
   "network_driver":"flannel",
   "fixed_network":null,
   "coe":"kubernetes",
   "flavor_id":"m1.small",
   "master_lb_enabled":true,
   "dns_nameserver":"8.8.8.8"
}
GET
/v1/clustertemplates

列出所有集群模板

列出 Magnum 中所有可用的集群模板。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

401 - Unauthorized

用户必须在发出请求之前进行身份验证。

403 - Forbidden

策略不允许当前用户执行此操作。

响应

名称

入参

类型

描述

X-Openstack-Request-Id

标头

UUID

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

clustertemplates

body

数组

Magnum 中所有集群模板的列表。

insecure_registry

body

字符串

指向用户自己的不安全的 Docker 注册表的 URL,用于部署和运行 Docker 容器。

links

body

数组

指向相关资源的链接。

http_proxy (可选)

body

字符串

服务器直接通过 http 访问外部互联网时使用的代理的 IP 地址。在某些国家/企业中,可能会发生这种情况,并且代理允许服务器和容器访问这些站点。格式是包含端口号的 URL。默认值为 None

updated_at

body

字符串

更新资源的时间和日期。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

例如,2015-08-27T09:49:58-05:00

如果包含,±hh:mm 值是 UTC 的时区偏移量。在前面的示例中,偏移量值为 -05:00

如果未设置 updated_at 日期和时间戳,则其值为 null

floating_ip_enabled

body

布尔值

是否启用或禁用使用云提供商的浮动 IP。某些云提供商使用浮动 IP,而另一些云提供商使用公共 IP,因此 Magnum 提供了此选项来指定使用浮动 IP 的选择。

fixed_subnet (可选)

body

字符串

用于为集群中的节点分配网络地址的固定子网。

master_flavor_id (可选)

body

字符串

此集群模板的主节点的风味。

uuid

body

UUID

集群模板的 UUID。

no_proxy (可选)

body

字符串

当使用代理服务器时,某些站点不应通过代理,而应正常访问。在这种情况下,用户可以将这些站点指定为以逗号分隔的 IP 列表。默认值为 None

https_proxy (可选)

body

字符串

服务器直接通过 https 访问外部互联网时使用的代理的 IP 地址。在某些国家/企业中,可能会发生这种情况,并且代理允许服务器和容器访问这些站点。格式是包含端口号的 URL。默认值为 None

tls_disabled

body

布尔值

通常启用传输层安全 (TLS) 以保护集群。在某些情况下,用户可能希望在集群中禁用 TLS,例如在开发期间或排除某些问题的故障。指定此参数将禁用 TLS,以便用户无需证书即可访问 COE 端点。默认情况下启用 TLS。

keypair_id

body

字符串

要在集群服务器上配置的 SSH 密钥对的名称,用于 ssh 访问。用户需要密钥才能 ssh 到集群中的服务器。登录名特定于集群驱动程序,例如对于 fedora-atomic 镜像,默认登录名是 fedora

public

body

布尔值

通常,对集群模板的访问权限仅限于管理员、所有者或与所有者在同一租户中的用户。设置此标志会使集群模板公开,并可供其他用户访问。默认情况下不公开。

labels (可选)

body

数组

key=value 对形式的任意标签。接受的键和有效值由集群驱动程序定义。它们用作传递特定于集群驱动程序的附加参数的一种方式。

docker_volume_size

body

整数

每个服务器上 Docker 守护进程缓存镜像和托管容器的本地存储的大小,以 GB 为单位。Cinder 卷提供存储。默认值为 25 GB。对于 devicemapper 存储驱动程序,最小值为 3GB。对于 overlay 存储驱动程序,最小值为 1GB。

server_type

body

字符串

集群中的服务器可以是 vmbaremetal。此参数选择为集群创建的服务器类型。默认值为 vm

external_network_id

body

字符串

Neutron 网络的名称或网络 ID,用于为集群提供与外部互联网的连接。此网络必须是外部网络,即其属性 router:external 必须为 True。集群中的服务器将连接到私有网络,Magnum 将在此私有网络和外部网络之间创建一个路由器。这将允许服务器下载镜像、访问发现服务等,并且容器可以安装软件包等。反之,将从外部网络分配浮动 IP,以提供从外部互联网到服务器和集群中托管的容器服务的访问权限。

cluster_distro

body

字符串

显示为集群驱动程序的镜像中定义的适当元数据属性 os_distro

image_id

body

字符串

Glance 中用于启动集群服务器的基础镜像的名称或 UUID。镜像必须定义适当的集群驱动程序的属性 os_distro

volume_driver

body

字符串

用于管理容器持久存储的卷驱动程序的名称。支持的功能特定于驱动程序。

registry_enabled (可选)

body

布尔值

默认情况下,Docker 镜像从公共 Docker 注册表拉取,但在某些情况下,用户可能希望使用私有注册表。此选项提供了一个基于 Registry V2 的替代注册表:Magnum 将在集群中创建一个本地注册表,该注册表由 swift 支持,用于托管镜像。默认情况下使用公共注册表。

docker_storage_driver

body

字符串

用于管理镜像和容器可写层的存储的驱动程序的名称。默认值为 devicemapper

apiserver_port

body

整数

暴露的 COE API 服务器端口。

name

body

字符串

资源的名称。

created_at

body

字符串

创建资源的时间和日期。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

例如,2015-08-27T09:49:58-05:00

如果包含 ±hh:mm 值,则为 UTC 的时区偏移量。

network_driver

body

字符串

用于为容器提供网络的网络驱动程序的名称。请注意,这与集群的 Neutron 网络不同且独立。操作和网络模型特定于特定的驱动程序。

fixed_network (可选)

body

字符串

Neutron 网络的名称或 ID,用于为集群提供内部网络的连接。

coe

body

字符串

指定要使用的容器编排引擎。支持的 COE 包括 kubernetes。如果您的环境安装了其他集群驱动程序,请参阅集群驱动程序文档以获取新的 COE 名称。

flavor_id

body

字符串

启动节点服务器的 nova 风味 ID 或名称。默认值为 m1.small

master_lb_enabled

body

布尔值

由于集群中可能存在多个主服务器,因此创建 Neutron 负载均衡器以提供集群的 API 端点并将其请求定向到主服务器。在某些情况下,例如当 LBaaS 服务不可用时,可以将此选项设置为 false 以创建没有负载均衡器的集群。在这种情况下,其中一个主服务器将作为 API 端点。默认值为 true,即为集群创建负载均衡器。

dns_nameserver

body

字符串

集群中的服务器和容器使用的 DNS 域名服务器。这在集群的私有 Neutron 网络中配置。默认值为 8.8.8.8

hidden (可选)

body

布尔值

指示 ClusterTemplate 是否隐藏,默认值为 false。

tags (可选)

body

数组

集群模板的管理员标签。

响应示例

{
   "clustertemplates":[
      {
         "insecure_registry":null,
         "links":[
            {
               "href":"http://10.164.180.104:9511/v1/clustertemplates/0562d357-8641-4759-8fed-8173f02c9633",
               "rel":"self"
            },
            {
               "href":"http://10.164.180.104:9511/clustertemplates/0562d357-8641-4759-8fed-8173f02c9633",
               "rel":"bookmark"
            }
         ],
         "http_proxy":"http://10.164.177.169:8080",
         "updated_at":null,
         "floating_ip_enabled":true,
         "fixed_subnet":null,
         "master_flavor_id":null,
         "uuid":"0562d357-8641-4759-8fed-8173f02c9633",
         "no_proxy":"10.0.0.0/8,172.0.0.0/8,192.0.0.0/8,localhost",
         "https_proxy":"http://10.164.177.169:8080",
         "tls_disabled":false,
         "keypair_id":"kp",
         "public":false,
         "labels":{

         },
         "docker_volume_size":3,
         "server_type":"vm",
         "external_network_id":"public",
         "cluster_distro":"fedora-atomic",
         "image_id":"fedora-atomic-latest",
         "volume_driver":"cinder",
         "registry_enabled":false,
         "docker_storage_driver":"devicemapper",
         "apiserver_port":null,
         "name":"k8s-bm",
         "created_at":"2016-08-26T09:34:41+00:00",
         "network_driver":"flannel",
         "fixed_network":null,
         "coe":"kubernetes",
         "flavor_id":"m1.small",
         "master_lb_enabled":false,
         "dns_nameserver":"8.8.8.8"
      }
   ]
}
GET
/v1/clustertemplates/{clustertemplate_ident}

显示集群模板的详细信息

获取 Magnum 中集群模板的所有信息。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

401 - Unauthorized

用户必须在发出请求之前进行身份验证。

403 - Forbidden

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

请求

名称

入参

类型

描述

clustertemplate_ident

路径

字符串

Magnum 中集群模板的 UUID 或名称。

响应

名称

入参

类型

描述

X-Openstack-Request-Id

标头

UUID

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

clustertemplates

body

数组

Magnum 中所有集群模板的列表。

insecure_registry

body

字符串

指向用户自己的不安全的 Docker 注册表的 URL,用于部署和运行 Docker 容器。

links

body

数组

指向相关资源的链接。

http_proxy (可选)

body

字符串

服务器直接通过 http 访问外部互联网时使用的代理的 IP 地址。在某些国家/企业中,可能会发生这种情况,并且代理允许服务器和容器访问这些站点。格式是包含端口号的 URL。默认值为 None

updated_at

body

字符串

更新资源的时间和日期。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

例如,2015-08-27T09:49:58-05:00

如果包含,±hh:mm 值是 UTC 的时区偏移量。在前面的示例中,偏移量值为 -05:00

如果未设置 updated_at 日期和时间戳,则其值为 null

floating_ip_enabled

body

布尔值

是否启用或禁用使用云提供商的浮动 IP。某些云提供商使用浮动 IP,而另一些云提供商使用公共 IP,因此 Magnum 提供了此选项来指定使用浮动 IP 的选择。

fixed_subnet (可选)

body

字符串

用于为集群中的节点分配网络地址的固定子网。

master_flavor_id (可选)

body

字符串

此集群模板的主节点的风味。

uuid

body

UUID

集群模板的 UUID。

no_proxy (可选)

body

字符串

当使用代理服务器时,某些站点不应通过代理,而应正常访问。在这种情况下,用户可以将这些站点指定为以逗号分隔的 IP 列表。默认值为 None

https_proxy (可选)

body

字符串

服务器直接通过 https 访问外部互联网时使用的代理的 IP 地址。在某些国家/企业中,可能会发生这种情况,并且代理允许服务器和容器访问这些站点。格式是包含端口号的 URL。默认值为 None

tls_disabled

body

布尔值

通常启用传输层安全 (TLS) 以保护集群。在某些情况下,用户可能希望在集群中禁用 TLS,例如在开发期间或排除某些问题的故障。指定此参数将禁用 TLS,以便用户无需证书即可访问 COE 端点。默认情况下启用 TLS。

keypair_id

body

字符串

要在集群服务器上配置的 SSH 密钥对的名称,用于 ssh 访问。用户需要密钥才能 ssh 到集群中的服务器。登录名特定于集群驱动程序,例如对于 fedora-atomic 镜像,默认登录名是 fedora

public

body

布尔值

通常,对集群模板的访问权限仅限于管理员、所有者或与所有者在同一租户中的用户。设置此标志会使集群模板公开,并可供其他用户访问。默认情况下不公开。

labels (可选)

body

数组

key=value 对形式的任意标签。接受的键和有效值由集群驱动程序定义。它们用作传递特定于集群驱动程序的附加参数的一种方式。

docker_volume_size

body

整数

每个服务器上 Docker 守护进程缓存镜像和托管容器的本地存储的大小,以 GB 为单位。Cinder 卷提供存储。默认值为 25 GB。对于 devicemapper 存储驱动程序,最小值为 3GB。对于 overlay 存储驱动程序,最小值为 1GB。

server_type

body

字符串

集群中的服务器可以是 vmbaremetal。此参数选择为集群创建的服务器类型。默认值为 vm

external_network_id

body

字符串

Neutron 网络的名称或网络 ID,用于为集群提供与外部互联网的连接。此网络必须是外部网络,即其属性 router:external 必须为 True。集群中的服务器将连接到私有网络,Magnum 将在此私有网络和外部网络之间创建一个路由器。这将允许服务器下载镜像、访问发现服务等,并且容器可以安装软件包等。反之,将从外部网络分配浮动 IP,以提供从外部互联网到服务器和集群中托管的容器服务的访问权限。

cluster_distro

body

字符串

显示为集群驱动程序的镜像中定义的适当元数据属性 os_distro

image_id

body

字符串

Glance 中用于启动集群服务器的基础镜像的名称或 UUID。镜像必须定义适当的集群驱动程序的属性 os_distro

volume_driver

body

字符串

用于管理容器持久存储的卷驱动程序的名称。支持的功能特定于驱动程序。

registry_enabled (可选)

body

布尔值

默认情况下,Docker 镜像从公共 Docker 注册表拉取,但在某些情况下,用户可能希望使用私有注册表。此选项提供了一个基于 Registry V2 的替代注册表:Magnum 将在集群中创建一个本地注册表,该注册表由 swift 支持,用于托管镜像。默认情况下使用公共注册表。

docker_storage_driver

body

字符串

用于管理镜像和容器可写层的存储的驱动程序的名称。默认值为 devicemapper

apiserver_port

body

整数

暴露的 COE API 服务器端口。

name

body

字符串

资源的名称。

created_at

body

字符串

创建资源的时间和日期。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

例如,2015-08-27T09:49:58-05:00

如果包含 ±hh:mm 值,则为 UTC 的时区偏移量。

network_driver

body

字符串

用于为容器提供网络的网络驱动程序的名称。请注意,这与集群的 Neutron 网络不同且独立。操作和网络模型特定于特定的驱动程序。

fixed_network (可选)

body

字符串

Neutron 网络的名称或 ID,用于为集群提供内部网络的连接。

coe

body

字符串

指定要使用的容器编排引擎。支持的 COE 包括 kubernetes。如果您的环境安装了其他集群驱动程序,请参阅集群驱动程序文档以获取新的 COE 名称。

flavor_id

body

字符串

启动节点服务器的 nova 风味 ID 或名称。默认值为 m1.small

master_lb_enabled

body

布尔值

由于集群中可能存在多个主服务器,因此创建 Neutron 负载均衡器以提供集群的 API 端点并将其请求定向到主服务器。在某些情况下,例如当 LBaaS 服务不可用时,可以将此选项设置为 false 以创建没有负载均衡器的集群。在这种情况下,其中一个主服务器将作为 API 端点。默认值为 true,即为集群创建负载均衡器。

dns_nameserver

body

字符串

集群中的服务器和容器使用的 DNS 域名服务器。这在集群的私有 Neutron 网络中配置。默认值为 8.8.8.8

hidden (可选)

body

布尔值

指示 ClusterTemplate 是否隐藏,默认值为 false。

tags (可选)

body

数组

集群模板的管理员标签。

响应示例

{
   "insecure_registry":null,
   "links":[
      {
         "href":"http://10.164.180.104:9511/v1/clustertemplates/085e1c4d-4f68-4bfd-8462-74b9e14e4f39",
         "rel":"self"
      },
      {
         "href":"http://10.164.180.104:9511/clustertemplates/085e1c4d-4f68-4bfd-8462-74b9e14e4f39",
         "rel":"bookmark"
      }
   ],
   "http_proxy":"http://10.164.177.169:8080",
   "updated_at":null,
   "floating_ip_enabled":true,
   "fixed_subnet":null,
   "master_flavor_id":null,
   "uuid":"085e1c4d-4f68-4bfd-8462-74b9e14e4f39",
   "no_proxy":"10.0.0.0/8,172.0.0.0/8,192.0.0.0/8,localhost",
   "https_proxy":"http://10.164.177.169:8080",
   "tls_disabled":false,
   "keypair_id":"kp",
   "public":false,
   "labels":{

   },
   "docker_volume_size":3,
   "server_type":"vm",
   "external_network_id":"public",
   "cluster_distro":"fedora-atomic",
   "image_id":"fedora-atomic-latest",
   "volume_driver":"cinder",
   "registry_enabled":false,
   "docker_storage_driver":"devicemapper",
   "apiserver_port":null,
   "name":"k8s-bm2",
   "created_at":"2016-08-29T02:08:08+00:00",
   "network_driver":"flannel",
   "fixed_network":null,
   "coe":"kubernetes",
   "flavor_id":"m1.small",
   "master_lb_enabled":true,
   "dns_nameserver":"8.8.8.8"
}
DELETE
/v1/clustertemplates/{clustertemplate_ident}

删除集群模板

删除集群模板。

响应代码

成功

代码

原因

204 - No Content

服务器已通过删除资源来满足请求。

错误

代码

原因

401 - Unauthorized

用户必须在发出请求之前进行身份验证。

403 - Forbidden

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

409 - Conflict

此操作与此资源的另一个操作冲突。

请求

名称

入参

类型

描述

clustertemplate_ident

路径

字符串

Magnum 中集群模板的 UUID 或名称。

响应

此请求不在响应主体中返回任何内容。

名称

入参

类型

描述

X-Openstack-Request-Id

标头

UUID

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

PATCH
/v1/clustertemplates/{clustertemplate_ident}

更新集群模板信息

使用包括 addreplaceremove 的操作更新集群模板属性。以 key=value 形式添加和替换属性,而 remove 只需要键。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - Unauthorized

用户必须在发出请求之前进行身份验证。

403 - Forbidden

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

请求

名称

入参

类型

描述

clustertemplate_ident

路径

字符串

Magnum 中集群模板的 UUID 或名称。

路径

body

字符串

资源属性的名称。

value

body

字符串

资源属性的值。

op

body

字符串

用于修改资源属性的操作。支持的操作如下:addreplaceremove。在 remove 的情况下,用户只需要提供用于删除属性的 path

请求示例

[
   {
      "path":"/master_lb_enabled",
      "value":"True",
      "op":"replace"
   },
   {
      "path":"/registry_enabled",
      "value":"True",
      "op":"replace"
   }
]

响应

返回具有更新属性的新集群模板。

名称

入参

类型

描述

X-Openstack-Request-Id

标头

UUID

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

clustertemplates

body

数组

Magnum 中所有集群模板的列表。

insecure_registry

body

字符串

指向用户自己的不安全的 Docker 注册表的 URL,用于部署和运行 Docker 容器。

links

body

数组

指向相关资源的链接。

http_proxy (可选)

body

字符串

服务器直接通过 http 访问外部互联网时使用的代理的 IP 地址。在某些国家/企业中,可能会发生这种情况,并且代理允许服务器和容器访问这些站点。格式是包含端口号的 URL。默认值为 None

updated_at

body

字符串

更新资源的时间和日期。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

例如,2015-08-27T09:49:58-05:00

如果包含,±hh:mm 值是 UTC 的时区偏移量。在前面的示例中,偏移量值为 -05:00

如果未设置 updated_at 日期和时间戳,则其值为 null

floating_ip_enabled

body

布尔值

是否启用或禁用使用云提供商的浮动 IP。某些云提供商使用浮动 IP,而另一些云提供商使用公共 IP,因此 Magnum 提供了此选项来指定使用浮动 IP 的选择。

fixed_subnet (可选)

body

字符串

用于为集群中的节点分配网络地址的固定子网。

master_flavor_id (可选)

body

字符串

此集群模板的主节点的风味。

uuid

body

UUID

集群模板的 UUID。

no_proxy (可选)

body

字符串

当使用代理服务器时,某些站点不应通过代理,而应正常访问。在这种情况下,用户可以将这些站点指定为以逗号分隔的 IP 列表。默认值为 None

https_proxy (可选)

body

字符串

服务器直接通过 https 访问外部互联网时使用的代理的 IP 地址。在某些国家/企业中,可能会发生这种情况,并且代理允许服务器和容器访问这些站点。格式是包含端口号的 URL。默认值为 None

tls_disabled

body

布尔值

通常启用传输层安全 (TLS) 以保护集群。在某些情况下,用户可能希望在集群中禁用 TLS,例如在开发期间或排除某些问题的故障。指定此参数将禁用 TLS,以便用户无需证书即可访问 COE 端点。默认情况下启用 TLS。

keypair_id

body

字符串

要在集群服务器上配置的 SSH 密钥对的名称,用于 ssh 访问。用户需要密钥才能 ssh 到集群中的服务器。登录名特定于集群驱动程序,例如对于 fedora-atomic 镜像,默认登录名是 fedora

public

body

布尔值

通常,对集群模板的访问权限仅限于管理员、所有者或与所有者在同一租户中的用户。设置此标志会使集群模板公开,并可供其他用户访问。默认情况下不公开。

labels (可选)

body

数组

key=value 对形式的任意标签。接受的键和有效值由集群驱动程序定义。它们用作传递特定于集群驱动程序的附加参数的一种方式。

docker_volume_size

body

整数

每个服务器上 Docker 守护进程缓存镜像和托管容器的本地存储的大小,以 GB 为单位。Cinder 卷提供存储。默认值为 25 GB。对于 devicemapper 存储驱动程序,最小值为 3GB。对于 overlay 存储驱动程序,最小值为 1GB。

server_type

body

字符串

集群中的服务器可以是 vmbaremetal。此参数选择为集群创建的服务器类型。默认值为 vm

external_network_id

body

字符串

Neutron 网络的名称或网络 ID,用于为集群提供与外部互联网的连接。此网络必须是外部网络,即其属性 router:external 必须为 True。集群中的服务器将连接到私有网络,Magnum 将在此私有网络和外部网络之间创建一个路由器。这将允许服务器下载镜像、访问发现服务等,并且容器可以安装软件包等。反之,将从外部网络分配浮动 IP,以提供从外部互联网到服务器和集群中托管的容器服务的访问权限。

cluster_distro

body

字符串

显示为集群驱动程序的镜像中定义的适当元数据属性 os_distro

image_id

body

字符串

Glance 中用于启动集群服务器的基础镜像的名称或 UUID。镜像必须定义适当的集群驱动程序的属性 os_distro

volume_driver

body

字符串

用于管理容器持久存储的卷驱动程序的名称。支持的功能特定于驱动程序。

registry_enabled (可选)

body

布尔值

默认情况下,Docker 镜像从公共 Docker 注册表拉取,但在某些情况下,用户可能希望使用私有注册表。此选项提供了一个基于 Registry V2 的替代注册表:Magnum 将在集群中创建一个本地注册表,该注册表由 swift 支持,用于托管镜像。默认情况下使用公共注册表。

docker_storage_driver

body

字符串

用于管理镜像和容器可写层的存储的驱动程序的名称。默认值为 devicemapper

apiserver_port

body

整数

暴露的 COE API 服务器端口。

name

body

字符串

资源的名称。

created_at

body

字符串

创建资源的时间和日期。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

例如,2015-08-27T09:49:58-05:00

如果包含 ±hh:mm 值,则为 UTC 的时区偏移量。

network_driver

body

字符串

用于为容器提供网络的网络驱动程序的名称。请注意,这与集群的 Neutron 网络不同且独立。操作和网络模型特定于特定的驱动程序。

fixed_network (可选)

body

字符串

Neutron 网络的名称或 ID,用于为集群提供内部网络的连接。

coe

body

字符串

指定要使用的容器编排引擎。支持的 COE 包括 kubernetes。如果您的环境安装了其他集群驱动程序,请参阅集群驱动程序文档以获取新的 COE 名称。

flavor_id

body

字符串

启动节点服务器的 nova 风味 ID 或名称。默认值为 m1.small

master_lb_enabled

body

布尔值

由于集群中可能存在多个主服务器,因此创建 Neutron 负载均衡器以提供集群的 API 端点并将其请求定向到主服务器。在某些情况下,例如当 LBaaS 服务不可用时,可以将此选项设置为 false 以创建没有负载均衡器的集群。在这种情况下,其中一个主服务器将作为 API 端点。默认值为 true,即为集群创建负载均衡器。

dns_nameserver

body

字符串

集群中的服务器和容器使用的 DNS 域名服务器。这在集群的私有 Neutron 网络中配置。默认值为 8.8.8.8

hidden (可选)

body

布尔值

指示 ClusterTemplate 是否隐藏,默认值为 false。

tags (可选)

body

数组

集群模板的管理员标签。

响应示例

{
   "insecure_registry":null,
   "links":[
      {
         "href":"http://10.164.180.104:9511/v1/clustertemplates/085e1c4d-4f68-4bfd-8462-74b9e14e4f39",
         "rel":"self"
      },
      {
         "href":"http://10.164.180.104:9511/clustertemplates/085e1c4d-4f68-4bfd-8462-74b9e14e4f39",
         "rel":"bookmark"
      }
   ],
   "http_proxy":"http://10.164.177.169:8080",
   "updated_at":null,
   "floating_ip_enabled":true,
   "fixed_subnet":null,
   "master_flavor_id":null,
   "uuid":"085e1c4d-4f68-4bfd-8462-74b9e14e4f39",
   "no_proxy":"10.0.0.0/8,172.0.0.0/8,192.0.0.0/8,localhost",
   "https_proxy":"http://10.164.177.169:8080",
   "tls_disabled":false,
   "keypair_id":"kp",
   "public":false,
   "labels":{

   },
   "docker_volume_size":3,
   "server_type":"vm",
   "external_network_id":"public",
   "cluster_distro":"fedora-atomic",
   "image_id":"fedora-atomic-latest",
   "volume_driver":"cinder",
   "registry_enabled":false,
   "docker_storage_driver":"devicemapper",
   "apiserver_port":null,
   "name":"k8s-bm2",
   "created_at":"2016-08-29T02:08:08+00:00",
   "network_driver":"flannel",
   "fixed_network":null,
   "coe":"kubernetes",
   "flavor_id":"m1.small",
   "master_lb_enabled":true,
   "dns_nameserver":"8.8.8.8"
}

管理集群证书

生成并显示集群的 CA 证书。

GET
/v1/certificates/{cluster_ident}?ca_cert_type={ca_cert_type}

显示集群的 CA 证书详细信息

显示与创建的集群关联的基于给定 CA 证书类型的 CA 证书详细信息。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

401 - Unauthorized

用户必须在发出请求之前进行身份验证。

403 - Forbidden

策略不允许当前用户执行此操作。

请求

名称

入参

类型

描述

cluster_ident

路径

字符串

Magnum 中集群的 UUID 或名称。

ca_cert_type (可选)

路径

字符串

CA 证书类型。对于 Kubernetes,可以是 kubelet、etcd 或 front-proxy。

响应

名称

入参

类型

描述

X-Openstack-Request-Id

标头

UUID

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

cluster_uuid

body

UUID

集群的 UUID。

pem

body

字符串

集群的 CA 证书。

links

body

数组

指向相关资源的链接。

响应示例

{
   "cluster_uuid":"0b4b766f-1500-44b3-9804-5a6e12fe6df4",
   "pem":"-----BEGIN CERTIFICATE-----\nMIICzDCCAbSgAwIBAgIQOOkVcEN7TNa9E80GoUs4xDANBgkqhkiG9w0BAQsFADAO\n-----END CERTIFICATE-----\n",
   "links":[
      {
         "href":"http://10.164.180.104:9511/v1/certificates/0b4b766f-1500-44b3-9804-5a6e12fe6df4",
         "rel":"self"
      },
      {
         "href":"http://10.164.180.104:9511/certificates/0b4b766f-1500-44b3-9804-5a6e12fe6df4",
         "rel":"bookmark"
      }
   ]
}
POST
/v1/certificates/

生成集群的 CA 证书

签署客户端密钥并生成集群的 CA 证书

响应代码

成功

代码

原因

201 - 已创建

资源已创建并准备好使用。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - Unauthorized

用户必须在发出请求之前进行身份验证。

403 - Forbidden

策略不允许当前用户执行此操作。

请求

名称

入参

类型

描述

cluster_uuid

body

UUID

集群的 UUID。

csr

body

字符串

用于验证客户端密钥的证书签名请求 (CSR)。

Magnum 将使用 CSR 生成客户端用于与 Bay/Cluster 通信的已签名证书。

请求示例

{
   "cluster_uuid":"0b4b766f-1500-44b3-9804-5a6e12fe6df4",
   "csr":"-----BEGIN CERTIFICATE REQUEST-----\nMIIEfzCCAmcCAQAwFDESMBAGA1UEAxMJWW91ciBOYW1lMIICIjANBgkqhkiG9w0B\n-----END CERTIFICATE REQUEST-----\n"
}

响应

名称

入参

类型

描述

X-Openstack-Request-Id

标头

UUID

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

pem

body

字符串

集群的 CA 证书。

cluster_uuid

body

UUID

集群的 UUID。

links

body

数组

指向相关资源的链接。

csr

body

字符串

用于验证客户端密钥的证书签名请求 (CSR)。

Magnum 将使用 CSR 生成客户端用于与 Bay/Cluster 通信的已签名证书。

响应示例

{
   "pem":"-----BEGIN CERTIFICATE-----\nMIIDxDCCAqygAwIBAgIRALgUbIjdKUy8lqErJmCxVfkwDQYJKoZIhvcNAQELBQAw\n-----END CERTIFICATE-----\n",
   "cluster_uuid":"0b4b766f-1500-44b3-9804-5a6e12fe6df4",
   "links":[
      {
         "href":"http://10.164.180.104:9511/v1/certificates/0b4b766f-1500-44b3-9804-5a6e12fe6df4",
         "rel":"self"
      },
      {
         "href":"http://10.164.180.104:9511/certificates/0b4b766f-1500-44b3-9804-5a6e12fe6df4",
         "rel":"bookmark"
      }
   ],
   "csr":"-----BEGIN CERTIFICATE REQUEST-----\nMIIEfzCCAmcCAQAwFDESMBAGA1UEAxMJWW91ciBOYW1lMIICIjANBgkqhkiG9w0B\n-----END CERTIFICATE REQUEST-----\n"
}
PATCH
/v1/certificates/

轮换集群的 CA 证书

轮换集群的 CA 证书并使所有用户证书失效。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

请求

名称

入参

类型

描述

cluster

body

UUID

集群的 UUID。

管理 Magnum 服务

GET
/v1/mservices

列出容器基础设施管理服务

允许管理员用户列出所有 Magnum 服务。

容器基础设施服务信息包括服务 ID、二进制文件、主机、报告数量、创建时间、上次更新时间、健康状态以及禁用服务的原因。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

401 - Unauthorized

用户必须在发出请求之前进行身份验证。

响应参数

名称

入参

类型

描述

X-Openstack-Request-Id

标头

UUID

用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。

mservices

body

数组

Magnum 服务列表。

binary

body

字符串

Magnum 服务的二进制文件名称。

created_at

body

字符串

创建资源的时间和日期。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

例如,2015-08-27T09:49:58-05:00

如果包含 ±hh:mm 值,则为 UTC 的时区偏移量。

state

body

字符串

Magnum 服务的当前状态。

report_count

body

整数

报告的总数。

updated_at

body

字符串

更新资源的时间和日期。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

例如,2015-08-27T09:49:58-05:00

如果包含,±hh:mm 值是 UTC 的时区偏移量。在前面的示例中,偏移量值为 -05:00

如果未设置 updated_at 日期和时间戳,则其值为 null

host

body

字符串

服务的宿主机。

disabled_reason

body

字符串

服务的禁用原因,如果服务已启用或禁用且未提供原因,则为 null

id

body

字符串

Magnum 服务的 ID。

响应示例

{
   "mservices":[
      {
         "binary":"magnum-conductor",
         "created_at":"2016-08-23T10:52:13+00:00",
         "state":"up",
         "report_count":2179,
         "updated_at":"2016-08-25T01:13:16+00:00",
         "host":"magnum-manager",
         "disabled_reason":null,
         "id":1
      }
   ]
}

Magnum 统计 API

管理员用户可以获取给定租户的统计信息以及整个系统的统计信息。非管理员用户可以获取自身统计信息。

GET
/v1/stats?project_id=

显示租户统计信息

根据项目 ID 获取统计信息。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

401 - Unauthorized

用户必须在发出请求之前进行身份验证。

403 - Forbidden

策略不允许当前用户执行此操作。

请求

名称

入参

类型

描述

project_id

路径

字符串

项目 ID。

响应

名称

入参

类型

描述

clusters

body

整数

集群的数量。

nodes

body

整数

包括主节点在内的节点总数。

响应示例

{
   "clusters": 1,
   "nodes": 2
}
GET
/v1/stats

显示整体统计信息

显示整个 Magnum 系统统计信息。如果请求者是非管理员用户,则显示自身统计信息。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

401 - Unauthorized

用户必须在发出请求之前进行身份验证。

403 - Forbidden

策略不允许当前用户执行此操作。

响应

名称

入参

类型

描述

clusters

body

整数

集群的数量。

nodes

body

整数

包括主节点在内的节点总数。

响应示例

{
   "clusters": 1,
   "nodes": 2
}

Magnum 配额 API

列出、创建、显示详细信息和更新配额。

POST
/v1/quotas

设置新配额

为项目创建新配额。

响应代码

成功

代码

原因

201 - 已创建

资源已创建并准备好使用。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - Unauthorized

用户必须在发出请求之前进行身份验证。

403 - Forbidden

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

请求示例

{
   "project_id": "aa5436ab58144c768ca4e9d2e9f5c3b2",
   "resource": "Cluster",
   "hard_limit": 10
}

响应示例

{
   "resource": "Cluster",
   "created_at": "2017-01-17T17:35:48+00:00",
   "updated_at": null,
   "hard_limit": 1,
   "project_id": "aa5436ab58144c768ca4e9d2e9f5c3b2",
   "id": 26
}
GET
/v1/quotas

列出所有配额

列出 Magnum 中的所有配额。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

401 - Unauthorized

用户必须在发出请求之前进行身份验证。

403 - Forbidden

策略不允许当前用户执行此操作。

响应示例

{
   "quotas": [
      {
         "resource": "Cluster",
         "created_at": "2017-01-17T17:35:49+00:00",
         "updated_at": "2017-01-17T17:38:21+00:00",
         "hard_limit": 10,
         "project_id": "aa5436ab58144c768ca4e9d2e9f5c3b2",
         "id": 26
      }
   ]
}
GET
/v1/quotas/{project_id}/{resource}

显示配额详细信息

获取给定 project_id 和 resource 的配额信息。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

401 - Unauthorized

用户必须在发出请求之前进行身份验证。

403 - Forbidden

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

响应示例

{
   "resource": "Cluster",
   "created_at": "2017-01-17T17:35:49+00:00",
   "updated_at": "2017-01-17T17:38:20+00:00",
   "hard_limit": 10,
   "project_id": "aa5436ab58144c768ca4e9d2e9f5c3b2",
   "id": 26
}
PATCH
/v1/quotas/{project_id}/{resource}

更新资源配额

更新给定项目 ID 的资源配额。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - Unauthorized

用户必须在发出请求之前进行身份验证。

403 - Forbidden

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

请求示例

{
   "project_id": "aa5436ab58144c768ca4e9d2e9f5c3b2",
   "resource": "Cluster",
   "hard_limit": 10
}

响应示例

{
   "resource": "Cluster",
   "created_at": "2017-01-17T17:35:49+00:00",
   "updated_at": "2017-01-17T17:38:20+00:00",
   "hard_limit": 10,
   "project_id": "aa5436ab58144c768ca4e9d2e9f5c3b2",
   "id": 26
}
DELETE
/v1/quotas/{project_id}/{resource}

删除资源配额

删除给定项目 ID 的资源配额。

响应代码

成功

代码

原因

204 - No Content

服务器已通过删除资源来满足请求。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - Unauthorized

用户必须在发出请求之前进行身份验证。

403 - Forbidden

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

请求示例

{
   "project_id": "aa5436ab58144c768ca4e9d2e9f5c3b2",
   "resource": "Cluster"
}