容器基础设施管理 API¶
API 版本¶
为了随着时间的推移为用户带来新功能,Magnum API 支持版本控制。Magnum 中有两种类型的版本。
‘’主要版本’’, 它们拥有专用的 URL
“微版本”,可以通过使用
OpenStack-API-Version来请求。
从 Newton 版本开始,所有 API 请求都支持 OpenStack-API-Version 头部。应该在每个请求中提供此头部;如果没有此头部,则将每个请求视为来自较旧的 Newton 之前的客户端。这是为了保留向后兼容性,因为我们引入了新功能。
版本 API 的工作方式与其他 API 不同,因为它们不需要身份验证。
这将获取有关部署中所有已知主要 API 版本的所有信息。将为每个 API 版本提供指向更具体信息的链接,以及有关支持的最小和最大微版本的信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
503 - 服务不可用 |
服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
X-Openstack-Request-Id |
标头 |
UUID |
用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。 |
versions |
body |
字符串 |
版本。 |
status |
body |
字符串 |
此 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."
}
显示 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 中的 adminURL、internalURL 或 publicURL 表示。在 Identity 服务 API v3 中,url 使用包含 admin、internal 和 public 的字段 interface 表示。
例如,如果 url 是 http://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。
管理集群¶
列出、创建、显示详细信息、更新和删除集群。
基于集群模板创建新集群。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - Unauthorized |
用户必须在发出请求之前进行身份验证。 |
403 - Forbidden |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
name |
body |
字符串 |
资源的名称。 |
discovery_url |
body |
字符串 |
用于节点发现的自定义发现 URL。这由 COE 用于发现创建托管容器的服务器。实际的发现机制因 COE 而异。在某些情况下,Magnum 会将服务器信息填充到发现服务中。在其他情况下,如果未指定 https://discovery.etcd.io
在这种情况下,Magnum 将为每个 uster 生成一个唯一的 URL,并存储服务器的信息。 |
master_count |
body |
整数 |
将作为集群主服务器的服务器数量。默认值为 1。设置为多个主服务器以启用高可用性。如果集群模板中指定了 |
cluster_template_id |
body |
UUID |
集群模板的 UUID。 |
node_count |
body |
整数 |
将作为集群节点服务器的服务器数量。默认值为 1。 |
create_timeout |
body |
整数 |
集群创建的超时时间,以分钟为单位。期望值为正整数,默认值为 60 分钟。如果在集群创建过程中达到超时时间,则操作将被中止,集群状态将被设置为 |
keypair |
body |
字符串 |
要在集群服务器上配置的 SSH 密钥对的名称,用于 ssh 访问。用户需要密钥才能 ssh 到集群中的服务器。登录名特定于集群驱动程序,例如对于 fedora-atomic 镜像,默认登录名是 |
master_flavor_id (可选) |
body |
字符串 |
此集群模板的主节点的风味。 |
labels (可选) |
body |
数组 |
以 |
flavor_id |
body |
字符串 |
启动节点服务器的 nova 风味 ID 或名称。默认值为 |
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 服务不可用时,可以将此选项设置为 |
注意
从 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"
}
列出 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 镜像,默认登录名是 |
master_count |
body |
整数 |
将作为集群主服务器的服务器数量。默认值为 1。设置为多个主服务器以启用高可用性。如果集群模板中指定了 |
cluster_template_id |
body |
UUID |
集群模板的 UUID。 |
node_count |
body |
整数 |
将作为集群节点服务器的服务器数量。默认值为 1。 |
create_timeout |
body |
整数 |
集群创建的超时时间,以分钟为单位。期望值为正整数,默认值为 60 分钟。如果在集群创建过程中达到超时时间,则操作将被中止,集群状态将被设置为 |
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"
}
]
}
获取 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
例如, 如果包含 |
api_address |
body |
字符串 |
暴露给最终用户的 COE API 的端点 URL。 |
discovery_url |
body |
字符串 |
用于节点发现的自定义发现 URL。这由 COE 用于发现创建托管容器的服务器。实际的发现机制因 COE 而异。在某些情况下,Magnum 会将服务器信息填充到发现服务中。在其他情况下,如果未指定 https://discovery.etcd.io
在这种情况下,Magnum 将为每个 uster 生成一个唯一的 URL,并存储服务器的信息。 |
updated_at |
body |
字符串 |
更新资源的时间和日期。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
例如, 如果包含, 如果未设置 |
master_count |
body |
整数 |
将作为集群主服务器的服务器数量。默认值为 1。设置为多个主服务器以启用高可用性。如果集群模板中指定了 |
coe_version |
body |
字符串 |
集群中选择的 COE 的版本信息,帮助客户端选择正确的客户端版本。 |
keypair |
body |
字符串 |
要在集群服务器上配置的 SSH 密钥对的名称,用于 ssh 访问。用户需要密钥才能 ssh 到集群中的服务器。登录名特定于集群驱动程序,例如对于 fedora-atomic 镜像,默认登录名是 |
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 分钟。如果在集群创建过程中达到超时时间,则操作将被中止,集群状态将被设置为 |
floating_ip_enabled (可选) |
body |
布尔值 |
是否启用或禁用使用云提供商的浮动 IP。一些云提供商使用浮动 IP,一些使用公共 IP,因此 Magnum 提供了此选项来指定使用浮动 IP 的选择。如果未设置,则模板中的 floating_ip_enabled 的值将被使用。 |
master_lb_enabled (可选) |
body |
布尔值 |
由于集群中可能存在多个主服务器,因此创建 Neutron 负载均衡器以提供集群的 API 端点并将其请求定向到主服务器。在某些情况下,例如当 LBaaS 服务不可用时,可以将此选项设置为 |
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"
}
删除集群。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
204 - No Content |
服务器已通过删除资源来满足请求。 |
错误¶
代码 |
原因 |
|---|---|
401 - Unauthorized |
用户必须在发出请求之前进行身份验证。 |
403 - Forbidden |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此操作与此资源的另一个操作冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
cluster_ident |
路径 |
字符串 |
Magnum 中集群的 UUID 或名称。 |
响应¶
此请求不在响应主体中返回任何内容。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
X-Openstack-Request-Id |
标头 |
UUID |
用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。 |
使用包括 add、replace 或 remove 的操作更新一个集群属性。以 key=value 形式添加和替换的属性,而 remove 只需要键。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - Unauthorized |
用户必须在发出请求之前进行身份验证。 |
403 - Forbidden |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
cluster_ident |
路径 |
字符串 |
Magnum 中集群的 UUID 或名称。 |
路径 |
body |
字符串 |
资源属性的名称。 |
value |
body |
字符串 |
资源属性的值。 |
op |
body |
字符串 |
用于修改资源属性的操作。支持的操作如下: |
注意
从 Newton 开始,更新集群的请求是异步的。目前,只有属性 node_count 支持 replace 和 remove 操作。
请求示例¶
[
{
"path":"/node_count",
"value":2,
"op":"replace"
}
]
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
X-Openstack-Request-Id |
标头 |
UUID |
用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。 |
uuid |
body |
UUID |
集群的 UUID。 |
响应示例¶
{
"uuid":"746e779a-751a-456b-a3e9-c883d734946f"
}
调整集群大小。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
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"
}
调整集群大小。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
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"
}
管理集群模板¶
列出、创建、显示详情、更新和删除集群模板。
创建新的集群模板。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
201 - 已创建 |
资源已创建并准备好使用。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - Unauthorized |
用户必须在发出请求之前进行身份验证。 |
403 - Forbidden |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
labels (可选) |
body |
数组 |
以 |
fixed_subnet (可选) |
body |
字符串 |
用于为集群中的节点分配网络地址的固定子网。 |
master_flavor_id (可选) |
body |
字符串 |
此集群模板的主节点的风味。 |
no_proxy (可选) |
body |
字符串 |
当使用代理服务器时,某些站点不应通过代理,而应正常访问。在这种情况下,用户可以将这些站点指定为以逗号分隔的 IP 列表。默认值为 |
https_proxy (可选) |
body |
字符串 |
服务器直接通过 https 访问外部互联网时使用的代理的 IP 地址。在某些国家/企业中,可能会发生这种情况,并且代理允许服务器和容器访问这些站点。格式是包含端口号的 URL。默认值为 |
http_proxy (可选) |
body |
字符串 |
服务器直接通过 http 访问外部互联网时使用的代理的 IP 地址。在某些国家/企业中,可能会发生这种情况,并且代理允许服务器和容器访问这些站点。格式是包含端口号的 URL。默认值为 |
tls_disabled |
body |
布尔值 |
通常启用传输层安全 (TLS) 以保护集群。在某些情况下,用户可能希望在集群中禁用 TLS,例如在开发期间或排除某些问题的故障。指定此参数将禁用 TLS,以便用户无需证书即可访问 COE 端点。默认情况下启用 TLS。 |
keypair_id |
body |
字符串 |
要在集群服务器上配置的 SSH 密钥对的名称,用于 ssh 访问。用户需要密钥才能 ssh 到集群中的服务器。登录名特定于集群驱动程序,例如对于 fedora-atomic 镜像,默认登录名是 |
public |
body |
布尔值 |
通常,对集群模板的访问权限仅限于管理员、所有者或与所有者在同一租户中的用户。设置此标志会使集群模板公开,并可供其他用户访问。默认情况下不公开。 |
docker_volume_size |
body |
整数 |
每个服务器上 Docker 守护进程缓存镜像和托管容器的本地存储的大小,以 GB 为单位。Cinder 卷提供存储。默认值为 25 GB。对于 |
server_type |
body |
字符串 |
集群中的服务器可以是 |
external_network_id |
body |
字符串 |
Neutron 网络的名称或网络 ID,用于为集群提供与外部互联网的连接。此网络必须是外部网络,即其属性 |
image_id |
body |
字符串 |
Glance 中用于启动集群服务器的基础镜像的名称或 UUID。镜像必须定义适当的集群驱动程序的属性 |
volume_driver |
body |
字符串 |
用于管理容器持久存储的卷驱动程序的名称。支持的功能特定于驱动程序。 |
registry_enabled (可选) |
body |
布尔值 |
默认情况下,Docker 镜像从公共 Docker 注册表拉取,但在某些情况下,用户可能希望使用私有注册表。此选项提供了一个基于 Registry V2 的替代注册表:Magnum 将在集群中创建一个本地注册表,该注册表由 swift 支持,用于托管镜像。默认情况下使用公共注册表。 |
insecure_registry |
body |
字符串 |
指向用户自己的不安全的 Docker 注册表的 URL,用于部署和运行 Docker 容器。 |
docker_storage_driver |
body |
字符串 |
用于管理镜像和容器可写层的存储的驱动程序的名称。默认值为 |
name |
body |
字符串 |
资源的名称。 |
network_driver |
body |
字符串 |
用于为容器提供网络的网络驱动程序的名称。请注意,这与集群的 Neutron 网络不同且独立。操作和网络模型特定于特定的驱动程序。 |
fixed_network (可选) |
body |
字符串 |
Neutron 网络的名称或 ID,用于为集群提供内部网络的连接。 |
coe |
body |
字符串 |
指定要使用的容器编排引擎。支持的 COE 包括 |
flavor_id |
body |
字符串 |
启动节点服务器的 nova 风味 ID 或名称。默认值为 |
master_lb_enabled |
body |
布尔值 |
由于集群中可能存在多个主服务器,因此创建 Neutron 负载均衡器以提供集群的 API 端点并将其请求定向到主服务器。在某些情况下,例如当 LBaaS 服务不可用时,可以将此选项设置为 |
dns_nameserver |
body |
字符串 |
集群中的服务器和容器使用的 DNS 域名服务器。这在集群的私有 Neutron 网络中配置。默认值为 |
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。默认值为 |
updated_at |
body |
字符串 |
更新资源的时间和日期。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
例如, 如果包含, 如果未设置 |
floating_ip_enabled |
body |
布尔值 |
是否启用或禁用使用云提供商的浮动 IP。某些云提供商使用浮动 IP,而另一些云提供商使用公共 IP,因此 Magnum 提供了此选项来指定使用浮动 IP 的选择。 |
fixed_subnet (可选) |
body |
字符串 |
用于为集群中的节点分配网络地址的固定子网。 |
master_flavor_id (可选) |
body |
字符串 |
此集群模板的主节点的风味。 |
uuid |
body |
UUID |
集群模板的 UUID。 |
no_proxy (可选) |
body |
字符串 |
当使用代理服务器时,某些站点不应通过代理,而应正常访问。在这种情况下,用户可以将这些站点指定为以逗号分隔的 IP 列表。默认值为 |
https_proxy (可选) |
body |
字符串 |
服务器直接通过 https 访问外部互联网时使用的代理的 IP 地址。在某些国家/企业中,可能会发生这种情况,并且代理允许服务器和容器访问这些站点。格式是包含端口号的 URL。默认值为 |
tls_disabled |
body |
布尔值 |
通常启用传输层安全 (TLS) 以保护集群。在某些情况下,用户可能希望在集群中禁用 TLS,例如在开发期间或排除某些问题的故障。指定此参数将禁用 TLS,以便用户无需证书即可访问 COE 端点。默认情况下启用 TLS。 |
keypair_id |
body |
字符串 |
要在集群服务器上配置的 SSH 密钥对的名称,用于 ssh 访问。用户需要密钥才能 ssh 到集群中的服务器。登录名特定于集群驱动程序,例如对于 fedora-atomic 镜像,默认登录名是 |
public |
body |
布尔值 |
通常,对集群模板的访问权限仅限于管理员、所有者或与所有者在同一租户中的用户。设置此标志会使集群模板公开,并可供其他用户访问。默认情况下不公开。 |
labels (可选) |
body |
数组 |
以 |
docker_volume_size |
body |
整数 |
每个服务器上 Docker 守护进程缓存镜像和托管容器的本地存储的大小,以 GB 为单位。Cinder 卷提供存储。默认值为 25 GB。对于 |
server_type |
body |
字符串 |
集群中的服务器可以是 |
external_network_id |
body |
字符串 |
Neutron 网络的名称或网络 ID,用于为集群提供与外部互联网的连接。此网络必须是外部网络,即其属性 |
cluster_distro |
body |
字符串 |
显示为集群驱动程序的镜像中定义的适当元数据属性 |
image_id |
body |
字符串 |
Glance 中用于启动集群服务器的基础镜像的名称或 UUID。镜像必须定义适当的集群驱动程序的属性 |
volume_driver |
body |
字符串 |
用于管理容器持久存储的卷驱动程序的名称。支持的功能特定于驱动程序。 |
registry_enabled (可选) |
body |
布尔值 |
默认情况下,Docker 镜像从公共 Docker 注册表拉取,但在某些情况下,用户可能希望使用私有注册表。此选项提供了一个基于 Registry V2 的替代注册表:Magnum 将在集群中创建一个本地注册表,该注册表由 swift 支持,用于托管镜像。默认情况下使用公共注册表。 |
docker_storage_driver |
body |
字符串 |
用于管理镜像和容器可写层的存储的驱动程序的名称。默认值为 |
apiserver_port |
body |
整数 |
暴露的 COE API 服务器端口。 |
name |
body |
字符串 |
资源的名称。 |
created_at |
body |
字符串 |
创建资源的时间和日期。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
例如, 如果包含 |
network_driver |
body |
字符串 |
用于为容器提供网络的网络驱动程序的名称。请注意,这与集群的 Neutron 网络不同且独立。操作和网络模型特定于特定的驱动程序。 |
fixed_network (可选) |
body |
字符串 |
Neutron 网络的名称或 ID,用于为集群提供内部网络的连接。 |
coe |
body |
字符串 |
指定要使用的容器编排引擎。支持的 COE 包括 |
flavor_id |
body |
字符串 |
启动节点服务器的 nova 风味 ID 或名称。默认值为 |
master_lb_enabled |
body |
布尔值 |
由于集群中可能存在多个主服务器,因此创建 Neutron 负载均衡器以提供集群的 API 端点并将其请求定向到主服务器。在某些情况下,例如当 LBaaS 服务不可用时,可以将此选项设置为 |
dns_nameserver |
body |
字符串 |
集群中的服务器和容器使用的 DNS 域名服务器。这在集群的私有 Neutron 网络中配置。默认值为 |
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"
}
列出 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。默认值为 |
updated_at |
body |
字符串 |
更新资源的时间和日期。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
例如, 如果包含, 如果未设置 |
floating_ip_enabled |
body |
布尔值 |
是否启用或禁用使用云提供商的浮动 IP。某些云提供商使用浮动 IP,而另一些云提供商使用公共 IP,因此 Magnum 提供了此选项来指定使用浮动 IP 的选择。 |
fixed_subnet (可选) |
body |
字符串 |
用于为集群中的节点分配网络地址的固定子网。 |
master_flavor_id (可选) |
body |
字符串 |
此集群模板的主节点的风味。 |
uuid |
body |
UUID |
集群模板的 UUID。 |
no_proxy (可选) |
body |
字符串 |
当使用代理服务器时,某些站点不应通过代理,而应正常访问。在这种情况下,用户可以将这些站点指定为以逗号分隔的 IP 列表。默认值为 |
https_proxy (可选) |
body |
字符串 |
服务器直接通过 https 访问外部互联网时使用的代理的 IP 地址。在某些国家/企业中,可能会发生这种情况,并且代理允许服务器和容器访问这些站点。格式是包含端口号的 URL。默认值为 |
tls_disabled |
body |
布尔值 |
通常启用传输层安全 (TLS) 以保护集群。在某些情况下,用户可能希望在集群中禁用 TLS,例如在开发期间或排除某些问题的故障。指定此参数将禁用 TLS,以便用户无需证书即可访问 COE 端点。默认情况下启用 TLS。 |
keypair_id |
body |
字符串 |
要在集群服务器上配置的 SSH 密钥对的名称,用于 ssh 访问。用户需要密钥才能 ssh 到集群中的服务器。登录名特定于集群驱动程序,例如对于 fedora-atomic 镜像,默认登录名是 |
public |
body |
布尔值 |
通常,对集群模板的访问权限仅限于管理员、所有者或与所有者在同一租户中的用户。设置此标志会使集群模板公开,并可供其他用户访问。默认情况下不公开。 |
labels (可选) |
body |
数组 |
以 |
docker_volume_size |
body |
整数 |
每个服务器上 Docker 守护进程缓存镜像和托管容器的本地存储的大小,以 GB 为单位。Cinder 卷提供存储。默认值为 25 GB。对于 |
server_type |
body |
字符串 |
集群中的服务器可以是 |
external_network_id |
body |
字符串 |
Neutron 网络的名称或网络 ID,用于为集群提供与外部互联网的连接。此网络必须是外部网络,即其属性 |
cluster_distro |
body |
字符串 |
显示为集群驱动程序的镜像中定义的适当元数据属性 |
image_id |
body |
字符串 |
Glance 中用于启动集群服务器的基础镜像的名称或 UUID。镜像必须定义适当的集群驱动程序的属性 |
volume_driver |
body |
字符串 |
用于管理容器持久存储的卷驱动程序的名称。支持的功能特定于驱动程序。 |
registry_enabled (可选) |
body |
布尔值 |
默认情况下,Docker 镜像从公共 Docker 注册表拉取,但在某些情况下,用户可能希望使用私有注册表。此选项提供了一个基于 Registry V2 的替代注册表:Magnum 将在集群中创建一个本地注册表,该注册表由 swift 支持,用于托管镜像。默认情况下使用公共注册表。 |
docker_storage_driver |
body |
字符串 |
用于管理镜像和容器可写层的存储的驱动程序的名称。默认值为 |
apiserver_port |
body |
整数 |
暴露的 COE API 服务器端口。 |
name |
body |
字符串 |
资源的名称。 |
created_at |
body |
字符串 |
创建资源的时间和日期。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
例如, 如果包含 |
network_driver |
body |
字符串 |
用于为容器提供网络的网络驱动程序的名称。请注意,这与集群的 Neutron 网络不同且独立。操作和网络模型特定于特定的驱动程序。 |
fixed_network (可选) |
body |
字符串 |
Neutron 网络的名称或 ID,用于为集群提供内部网络的连接。 |
coe |
body |
字符串 |
指定要使用的容器编排引擎。支持的 COE 包括 |
flavor_id |
body |
字符串 |
启动节点服务器的 nova 风味 ID 或名称。默认值为 |
master_lb_enabled |
body |
布尔值 |
由于集群中可能存在多个主服务器,因此创建 Neutron 负载均衡器以提供集群的 API 端点并将其请求定向到主服务器。在某些情况下,例如当 LBaaS 服务不可用时,可以将此选项设置为 |
dns_nameserver |
body |
字符串 |
集群中的服务器和容器使用的 DNS 域名服务器。这在集群的私有 Neutron 网络中配置。默认值为 |
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"
}
]
}
获取 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。默认值为 |
updated_at |
body |
字符串 |
更新资源的时间和日期。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
例如, 如果包含, 如果未设置 |
floating_ip_enabled |
body |
布尔值 |
是否启用或禁用使用云提供商的浮动 IP。某些云提供商使用浮动 IP,而另一些云提供商使用公共 IP,因此 Magnum 提供了此选项来指定使用浮动 IP 的选择。 |
fixed_subnet (可选) |
body |
字符串 |
用于为集群中的节点分配网络地址的固定子网。 |
master_flavor_id (可选) |
body |
字符串 |
此集群模板的主节点的风味。 |
uuid |
body |
UUID |
集群模板的 UUID。 |
no_proxy (可选) |
body |
字符串 |
当使用代理服务器时,某些站点不应通过代理,而应正常访问。在这种情况下,用户可以将这些站点指定为以逗号分隔的 IP 列表。默认值为 |
https_proxy (可选) |
body |
字符串 |
服务器直接通过 https 访问外部互联网时使用的代理的 IP 地址。在某些国家/企业中,可能会发生这种情况,并且代理允许服务器和容器访问这些站点。格式是包含端口号的 URL。默认值为 |
tls_disabled |
body |
布尔值 |
通常启用传输层安全 (TLS) 以保护集群。在某些情况下,用户可能希望在集群中禁用 TLS,例如在开发期间或排除某些问题的故障。指定此参数将禁用 TLS,以便用户无需证书即可访问 COE 端点。默认情况下启用 TLS。 |
keypair_id |
body |
字符串 |
要在集群服务器上配置的 SSH 密钥对的名称,用于 ssh 访问。用户需要密钥才能 ssh 到集群中的服务器。登录名特定于集群驱动程序,例如对于 fedora-atomic 镜像,默认登录名是 |
public |
body |
布尔值 |
通常,对集群模板的访问权限仅限于管理员、所有者或与所有者在同一租户中的用户。设置此标志会使集群模板公开,并可供其他用户访问。默认情况下不公开。 |
labels (可选) |
body |
数组 |
以 |
docker_volume_size |
body |
整数 |
每个服务器上 Docker 守护进程缓存镜像和托管容器的本地存储的大小,以 GB 为单位。Cinder 卷提供存储。默认值为 25 GB。对于 |
server_type |
body |
字符串 |
集群中的服务器可以是 |
external_network_id |
body |
字符串 |
Neutron 网络的名称或网络 ID,用于为集群提供与外部互联网的连接。此网络必须是外部网络,即其属性 |
cluster_distro |
body |
字符串 |
显示为集群驱动程序的镜像中定义的适当元数据属性 |
image_id |
body |
字符串 |
Glance 中用于启动集群服务器的基础镜像的名称或 UUID。镜像必须定义适当的集群驱动程序的属性 |
volume_driver |
body |
字符串 |
用于管理容器持久存储的卷驱动程序的名称。支持的功能特定于驱动程序。 |
registry_enabled (可选) |
body |
布尔值 |
默认情况下,Docker 镜像从公共 Docker 注册表拉取,但在某些情况下,用户可能希望使用私有注册表。此选项提供了一个基于 Registry V2 的替代注册表:Magnum 将在集群中创建一个本地注册表,该注册表由 swift 支持,用于托管镜像。默认情况下使用公共注册表。 |
docker_storage_driver |
body |
字符串 |
用于管理镜像和容器可写层的存储的驱动程序的名称。默认值为 |
apiserver_port |
body |
整数 |
暴露的 COE API 服务器端口。 |
name |
body |
字符串 |
资源的名称。 |
created_at |
body |
字符串 |
创建资源的时间和日期。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
例如, 如果包含 |
network_driver |
body |
字符串 |
用于为容器提供网络的网络驱动程序的名称。请注意,这与集群的 Neutron 网络不同且独立。操作和网络模型特定于特定的驱动程序。 |
fixed_network (可选) |
body |
字符串 |
Neutron 网络的名称或 ID,用于为集群提供内部网络的连接。 |
coe |
body |
字符串 |
指定要使用的容器编排引擎。支持的 COE 包括 |
flavor_id |
body |
字符串 |
启动节点服务器的 nova 风味 ID 或名称。默认值为 |
master_lb_enabled |
body |
布尔值 |
由于集群中可能存在多个主服务器,因此创建 Neutron 负载均衡器以提供集群的 API 端点并将其请求定向到主服务器。在某些情况下,例如当 LBaaS 服务不可用时,可以将此选项设置为 |
dns_nameserver |
body |
字符串 |
集群中的服务器和容器使用的 DNS 域名服务器。这在集群的私有 Neutron 网络中配置。默认值为 |
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"
}
删除集群模板。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
204 - No Content |
服务器已通过删除资源来满足请求。 |
错误¶
代码 |
原因 |
|---|---|
401 - Unauthorized |
用户必须在发出请求之前进行身份验证。 |
403 - Forbidden |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此操作与此资源的另一个操作冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
clustertemplate_ident |
路径 |
字符串 |
Magnum 中集群模板的 UUID 或名称。 |
响应¶
此请求不在响应主体中返回任何内容。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
X-Openstack-Request-Id |
标头 |
UUID |
用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。 |
使用包括 add、replace 或 remove 的操作更新集群模板属性。以 key=value 形式添加和替换属性,而 remove 只需要键。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - Unauthorized |
用户必须在发出请求之前进行身份验证。 |
403 - Forbidden |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
clustertemplate_ident |
路径 |
字符串 |
Magnum 中集群模板的 UUID 或名称。 |
路径 |
body |
字符串 |
资源属性的名称。 |
value |
body |
字符串 |
资源属性的值。 |
op |
body |
字符串 |
用于修改资源属性的操作。支持的操作如下: |
请求示例¶
[
{
"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。默认值为 |
updated_at |
body |
字符串 |
更新资源的时间和日期。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
例如, 如果包含, 如果未设置 |
floating_ip_enabled |
body |
布尔值 |
是否启用或禁用使用云提供商的浮动 IP。某些云提供商使用浮动 IP,而另一些云提供商使用公共 IP,因此 Magnum 提供了此选项来指定使用浮动 IP 的选择。 |
fixed_subnet (可选) |
body |
字符串 |
用于为集群中的节点分配网络地址的固定子网。 |
master_flavor_id (可选) |
body |
字符串 |
此集群模板的主节点的风味。 |
uuid |
body |
UUID |
集群模板的 UUID。 |
no_proxy (可选) |
body |
字符串 |
当使用代理服务器时,某些站点不应通过代理,而应正常访问。在这种情况下,用户可以将这些站点指定为以逗号分隔的 IP 列表。默认值为 |
https_proxy (可选) |
body |
字符串 |
服务器直接通过 https 访问外部互联网时使用的代理的 IP 地址。在某些国家/企业中,可能会发生这种情况,并且代理允许服务器和容器访问这些站点。格式是包含端口号的 URL。默认值为 |
tls_disabled |
body |
布尔值 |
通常启用传输层安全 (TLS) 以保护集群。在某些情况下,用户可能希望在集群中禁用 TLS,例如在开发期间或排除某些问题的故障。指定此参数将禁用 TLS,以便用户无需证书即可访问 COE 端点。默认情况下启用 TLS。 |
keypair_id |
body |
字符串 |
要在集群服务器上配置的 SSH 密钥对的名称,用于 ssh 访问。用户需要密钥才能 ssh 到集群中的服务器。登录名特定于集群驱动程序,例如对于 fedora-atomic 镜像,默认登录名是 |
public |
body |
布尔值 |
通常,对集群模板的访问权限仅限于管理员、所有者或与所有者在同一租户中的用户。设置此标志会使集群模板公开,并可供其他用户访问。默认情况下不公开。 |
labels (可选) |
body |
数组 |
以 |
docker_volume_size |
body |
整数 |
每个服务器上 Docker 守护进程缓存镜像和托管容器的本地存储的大小,以 GB 为单位。Cinder 卷提供存储。默认值为 25 GB。对于 |
server_type |
body |
字符串 |
集群中的服务器可以是 |
external_network_id |
body |
字符串 |
Neutron 网络的名称或网络 ID,用于为集群提供与外部互联网的连接。此网络必须是外部网络,即其属性 |
cluster_distro |
body |
字符串 |
显示为集群驱动程序的镜像中定义的适当元数据属性 |
image_id |
body |
字符串 |
Glance 中用于启动集群服务器的基础镜像的名称或 UUID。镜像必须定义适当的集群驱动程序的属性 |
volume_driver |
body |
字符串 |
用于管理容器持久存储的卷驱动程序的名称。支持的功能特定于驱动程序。 |
registry_enabled (可选) |
body |
布尔值 |
默认情况下,Docker 镜像从公共 Docker 注册表拉取,但在某些情况下,用户可能希望使用私有注册表。此选项提供了一个基于 Registry V2 的替代注册表:Magnum 将在集群中创建一个本地注册表,该注册表由 swift 支持,用于托管镜像。默认情况下使用公共注册表。 |
docker_storage_driver |
body |
字符串 |
用于管理镜像和容器可写层的存储的驱动程序的名称。默认值为 |
apiserver_port |
body |
整数 |
暴露的 COE API 服务器端口。 |
name |
body |
字符串 |
资源的名称。 |
created_at |
body |
字符串 |
创建资源的时间和日期。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
例如, 如果包含 |
network_driver |
body |
字符串 |
用于为容器提供网络的网络驱动程序的名称。请注意,这与集群的 Neutron 网络不同且独立。操作和网络模型特定于特定的驱动程序。 |
fixed_network (可选) |
body |
字符串 |
Neutron 网络的名称或 ID,用于为集群提供内部网络的连接。 |
coe |
body |
字符串 |
指定要使用的容器编排引擎。支持的 COE 包括 |
flavor_id |
body |
字符串 |
启动节点服务器的 nova 风味 ID 或名称。默认值为 |
master_lb_enabled |
body |
布尔值 |
由于集群中可能存在多个主服务器,因此创建 Neutron 负载均衡器以提供集群的 API 端点并将其请求定向到主服务器。在某些情况下,例如当 LBaaS 服务不可用时,可以将此选项设置为 |
dns_nameserver |
body |
字符串 |
集群中的服务器和容器使用的 DNS 域名服务器。这在集群的私有 Neutron 网络中配置。默认值为 |
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 证书。
显示与创建的集群关联的基于给定 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"
}
]
}
签署客户端密钥并生成集群的 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"
}
轮换集群的 CA 证书并使所有用户证书失效。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
cluster |
body |
UUID |
集群的 UUID。 |
管理 Magnum 服务¶
允许管理员用户列出所有 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
例如, 如果包含 |
state |
body |
字符串 |
Magnum 服务的当前状态。 |
report_count |
body |
整数 |
报告的总数。 |
updated_at |
body |
字符串 |
更新资源的时间和日期。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
例如, 如果包含, 如果未设置 |
host |
body |
字符串 |
服务的宿主机。 |
disabled_reason |
body |
字符串 |
服务的禁用原因,如果服务已启用或禁用且未提供原因,则为 |
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¶
管理员用户可以获取给定租户的统计信息以及整个系统的统计信息。非管理员用户可以获取自身统计信息。
根据项目 ID 获取统计信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - Unauthorized |
用户必须在发出请求之前进行身份验证。 |
403 - Forbidden |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
路径 |
字符串 |
项目 ID。 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
clusters |
body |
整数 |
集群的数量。 |
nodes |
body |
整数 |
包括主节点在内的节点总数。 |
响应示例¶
{
"clusters": 1,
"nodes": 2
}
显示整个 Magnum 系统统计信息。如果请求者是非管理员用户,则显示自身统计信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - Unauthorized |
用户必须在发出请求之前进行身份验证。 |
403 - Forbidden |
策略不允许当前用户执行此操作。 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
clusters |
body |
整数 |
集群的数量。 |
nodes |
body |
整数 |
包括主节点在内的节点总数。 |
响应示例¶
{
"clusters": 1,
"nodes": 2
}
Magnum 配额 API¶
列出、创建、显示详细信息和更新配额。
为项目创建新配额。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
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
}
列出 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
}
]
}
获取给定 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
}
更新给定项目 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
}
删除给定项目 ID 的资源配额。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
204 - No Content |
服务器已通过删除资源来满足请求。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - Unauthorized |
用户必须在发出请求之前进行身份验证。 |
403 - Forbidden |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求示例¶
{
"project_id": "aa5436ab58144c768ca4e9d2e9f5c3b2",
"resource": "Cluster"
}