容器服务 API¶
Zun 基本 URL¶
本文档其余所有 API 调用都需要使用 OpenStack Identity 服务进行身份验证。它们还需要一个从 Identity token 中提取的类型为 container 的 url。这将是构建完整路径时,所有以下调用将附加到的根 URL。
请注意,如果使用 OpenStack Identity 服务 API v2,url 可以通过 endpoint catalog 中的 adminURL、internalURL 或 publicURL 表示。在 Identity 服务 API v3 中,url 使用包含 admin、internal 和 public 的字段 interface 表示。
例如,如果 url 是 http://my-zun-url.org/zun/v1,那么对于 /containers 的完整 API 调用是 http://my-zun-url.org/zun/v1/containers。
根据部署情况,容器服务 URL 可能是 http 或 https,自定义端口,自定义路径,并包含您的项目 ID。了解部署 URL 的唯一方法是使用服务目录。容器服务 URL 绝不能在应用程序中硬编码,即使预计它们仅在单个站点上工作。它应始终从 Identity token 中发现。
因此,在本文档的其余部分,我们将使用简写,其中 GET /containers 实际上意味着 GET {your_zun_url}/containers。
管理胶囊 (Pods)¶
列出、创建、显示详细信息和删除胶囊。
胶囊是在主机上可以运行的容器集合。基本上是 Zun 实现的 Kubernetes Pod。胶囊内的容器共享 Neutron 网络和 Cinder 卷。
创建新的胶囊。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
胶囊模板¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
template |
body |
对象 |
胶囊的模板。 |
kind |
body |
字符串 |
表示此对象类型的字符串值。其值为 |
metadata (可选) |
body |
对象 |
胶囊元数据,采用键值格式。键可以是
|
metadata.labels (可选) |
body |
对象 |
添加到胶囊的标签。 |
metadata.name (可选) |
body |
字符串 |
胶囊的名称。 |
metadata.annotations (可选) |
body |
对象 |
添加到胶囊的注释。Annotations 是存储在资源中的非结构化键值映射,可以由外部工具设置和检索任意元数据。 |
spec |
body |
对象 |
胶囊期望行为的规范。请参阅 胶囊规范。 |
胶囊规范¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
containers |
body |
数组 |
一个 容器 对象列表。 |
initContainers (可选) |
body |
数组 |
一个 init 容器 对象列表。 |
restartPolicy (可选) |
body |
字符串 |
胶囊内所有容器的重启策略。其值可以是 |
volumes (可选) |
body |
数组 |
一个 卷 列表,可以被此胶囊中的容器挂载。 |
胶囊容器¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
image |
body |
字符串 |
镜像的名称或 ID。 |
command (可选) |
body |
数组 |
容器的命令。 |
args (可选) |
body |
数组 |
命令的参数。 |
env (可选) |
body |
对象 |
要在容器中设置的环境变量。 |
name (可选) |
body |
字符串 |
容器的名称。 |
ports (可选) |
body |
数组 |
从容器暴露的端口列表。每个条目都是一个字典,必须包含一个
|
ports.containerPort (可选) |
body |
整数 |
容器中要打开的端口。其值必须是 |
ports.protocol (可选) |
body |
字符串 |
协议。其值可以是 |
resources (可选) |
body |
对象 |
此容器所需的计算资源。支持的计算资源是
|
resources.cpu (可选) |
body |
float |
虚拟 CPU 的数量。 |
resources.memory (可选) |
body |
整数 |
以 MiB 为单位的内存量。 |
volumeMounts (可选) |
body |
数组 |
要挂载到容器文件系统中的卷列表。每个条目必须包含一个
|
volumeMounts.name (可选) |
body |
字符串 |
卷的名称 |
volumeMounts.mountPath (可选) |
body |
字符串 |
应在容器中挂载卷的路径。 |
workDir (可选) |
body |
字符串 |
要在其中运行命令的工作目录。 |
胶囊卷¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
name |
body |
字符串 |
卷的名称。 |
cinder |
body |
对象 |
Cinder 卷配置。有两种选项可以配置卷:使用现有卷或动态创建卷。要指定现有卷,请将
要创建卷,请将
对于决定删除卷时是否清理, |
cinder.volumeID (可选) |
body |
字符串 |
Cinder 卷的 UUID。 |
cinder.size (可选) |
body |
字符串 |
Cinder 卷的大小。 |
cinder.autoRemove (可选) |
body |
字符串 |
在删除胶囊时是否删除卷。 |
请求示例¶
{
"template": {
"kind": "capsule",
"spec": {
"restartPolicy": "Always",
"initContainers": [
{
"workDir": "/",
"command": [
"wget",
"-O",
"/work-dir/index.html",
"https://openstack.org/"
],
"env": {
"ENV1": "env1-value1"
},
"image": "busybox",
"volumeMounts": [
{
"mountPath": "/work-dir",
"name": "workdir"
}
],
"resources": {
"requests": {
"cpu": 0.1,
"memory": 128
}
}
}
],
"containers": [
{
"workDir": "/",
"env": {
"ENV2": "env2-value"
},
"image": "nginx",
"volumeMounts": [
{
"mountPath": "/usr/share/nginx/html",
"name": "workdir"
}
],
"ports": [
{
"protocol": "TCP",
"containerPort": 80
}
],
"resources": {
"requests": {
"cpu": 0.5,
"memory": 512
}
}
}
],
"volumes": [
{
"cinder": {
"size": 1
},
"name": "workdir"
}
]
},
"metadata": {
"labels": {
"app": "web"
},
"name": "demo",
"annotations": {
"key1": "value1"
},
}
}
}
响应¶
胶囊¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
addresses |
body |
字符串 |
胶囊的 IP 地址。这包括 ipv4 和/或 ipv6 地址。 |
containers |
body |
对象 |
属于胶囊的 容器 列表。胶囊中必须至少有一个容器。 |
cpu |
body |
float |
胶囊的虚拟 CPU 数量。 |
memory |
body |
字符串 |
胶囊的内存大小,以 MiB 为单位。 |
uuid |
body |
字符串 |
胶囊的 UUID。 |
name |
body |
字符串 |
胶囊的名称。 |
labels |
body |
对象 |
胶囊的标签。 |
annotations |
body |
对象 |
胶囊的注释。Annotations 是存储在资源中的非结构化键值映射,可以由外部工具设置和检索任意元数据。 |
restart_policy |
body |
对象 |
胶囊内所有容器的重启策略。 |
created_at |
body |
字符串 |
创建资源的时间和日期。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
例如, 如果包含 |
updated_at |
body |
字符串 |
更新资源的时间和日期。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
例如, 如果包含, 如果未设置 |
user_id |
body |
字符串 |
拥有胶囊的用户的用户 ID。 |
project_id |
body |
字符串 |
此胶囊所属项目的 UUID。 |
status |
body |
字符串 |
胶囊的当前状态。 |
status_reason |
body |
字符串 |
胶囊当前状态的原因。 |
links |
body |
字符串 |
相对链接列表。 |
胶囊容器¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
addresses |
body |
字符串 |
容器的 IP 地址。这包括 ipv4 和/或 ipv6 地址。 |
image |
body |
字符串 |
镜像的名称或 ID。 |
labels |
body |
对象 |
容器标签的映射。 |
disk |
body |
整数 |
容器的磁盘大小,以 GiB 为单位。 |
security_groups |
body |
字符串 |
要添加到容器的安全组。 |
task_state |
body |
字符串 |
容器的当前任务。 |
user_id |
body |
字符串 |
拥有容器的用户的用户 ID。 |
uuid |
body |
字符串 |
容器的 UUID。 |
hostname |
body |
字符串 |
容器的主机名。 |
environment |
body |
对象 |
要在容器中设置的环境变量。 |
memory |
body |
整数 |
容器的内存大小,以 MiB 为单位。 |
project_id |
body |
数组 |
此容器所属项目的 UUID。 |
status |
body |
字符串 |
容器的当前状态。 |
environment |
body |
对象 |
要在容器中设置的环境变量。 |
workdir |
body |
字符串 |
要在其中运行命令的工作目录。 |
healthcheck |
body |
对象 |
用于检查容器是否正常的测试命令。支持四个参数
|
auto_remove |
body |
布尔值 |
在容器进程退出时启用守护程序侧的自动删除。 |
auto_heal |
body |
布尔值 |
Docker 中不存在容器的自动修复标志。 |
cpu_policy |
body |
字符串 |
容器的 CPU 策略。其值可以是 |
image_driver |
body |
字符串 |
用于拉取容器镜像的镜像驱动程序。 |
status_detail |
body |
字符串 |
容器的当前状态详细信息。 |
status_reason |
body |
字符串 |
容器当前状态的原因。 |
name |
body |
字符串 |
容器的名称。 |
restart_policy |
body |
对象 |
重启策略,用于在容器退出时应用。它必须包含一个 |
cpu |
body |
float |
容器的虚拟 CPU 数量。 |
command |
body |
数组 |
向容器发送命令。 |
registry_id |
body |
字符串 |
容器使用的镜像注册表的 ID。 |
ports |
body |
字符串 |
容器上暴露的端口。 |
interactive |
body |
布尔值 |
即使未附加,也要保持 STDIN 打开。 |
tty |
body |
布尔值 |
是否为容器分配一个 TTY。 |
响应示例¶
{
"status": "Creating",
"user_id": "c863491f37984815bf740836c86e9310",
"uuid": "a4bad62a-f3ba-4b14-b2ab-2af470a2f32c",
"links": [
{
"href": "http://openstack.example.com/v1/capsules/a4bad62a-f3ba-4b14-b2ab-2af470a2f32c",
"rel": "self"
},
{
"href": "http://openstack.example.com/capsules/a4bad62a-f3ba-4b14-b2ab-2af470a2f32c",
"rel": "bookmark"
}
],
"created_at": "2019-05-18 21:02:12.304734",
"labels": {
"app": "web"
},
"annotations": {
"key1": "value1"
},
"restart_policy": {
"MaximumRetryCount": "0",
"Name": "always"
},
"updated_at": null,
"name": "demo",
"memory": "512",
"project_id": "493378c3aa3e4315a39fe8b125f9eaaa",
"status_reason": null,
"cpu": 0.5,
"containers": [
{
"addresses": {},
"image": "nginx",
"labels": {},
"disk": 0,
"security_groups": [],
"task_state": null,
"user_id": "c863491f37984815bf740836c86e9310",
"uuid": "6df062d2-293c-4c35-af81-22d27ce47887",
"hostname": null,
"environment": {
"ENV2": "env2-value"
},
"memory": "512",
"project_id": "493378c3aa3e4315a39fe8b125f9eaaa",
"status": "Creating",
"workdir": "/",
"healthcheck": {},
"auto_remove": false,
"auto_heal": false,
"cpu_policy": "shared",
"image_driver": null,
"status_detail": null,
"status_reason": null,
"name": "capsule-demo-pi-9",
"restart_policy": {
"MaximumRetryCount": "10",
"Name": "on-failure"
},
"cpu": 0.5,
"command": [],
"registry_id": null,
"ports": [],
"interactive": true
}
],
"addresses": null
}
列出 Zun 中的所有可用胶囊。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
此请求在请求主体中不包含任何内容。
响应¶
胶囊¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
addresses |
body |
字符串 |
胶囊的 IP 地址。这包括 ipv4 和/或 ipv6 地址。 |
containers |
body |
对象 |
属于胶囊的 容器 列表。胶囊中必须至少有一个容器。 |
cpu |
body |
float |
胶囊的虚拟 CPU 数量。 |
memory |
body |
字符串 |
胶囊的内存大小,以 MiB 为单位。 |
uuid |
body |
字符串 |
胶囊的 UUID。 |
name |
body |
字符串 |
胶囊的名称。 |
labels |
body |
对象 |
胶囊的标签。 |
annotations |
body |
对象 |
胶囊的注释。Annotations 是存储在资源中的非结构化键值映射,可以由外部工具设置和检索任意元数据。 |
restart_policy |
body |
对象 |
胶囊内所有容器的重启策略。 |
created_at |
body |
字符串 |
创建资源的时间和日期。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
例如, 如果包含 |
updated_at |
body |
字符串 |
更新资源的时间和日期。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
例如, 如果包含, 如果未设置 |
user_id |
body |
字符串 |
拥有胶囊的用户的用户 ID。 |
project_id |
body |
字符串 |
此胶囊所属项目的 UUID。 |
status |
body |
字符串 |
胶囊的当前状态。 |
status_reason |
body |
字符串 |
胶囊当前状态的原因。 |
links |
body |
字符串 |
相对链接列表。 |
胶囊容器¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
addresses |
body |
字符串 |
容器的 IP 地址。这包括 ipv4 和/或 ipv6 地址。 |
image |
body |
字符串 |
镜像的名称或 ID。 |
labels |
body |
对象 |
容器标签的映射。 |
disk |
body |
整数 |
容器的磁盘大小,以 GiB 为单位。 |
security_groups |
body |
字符串 |
要添加到容器的安全组。 |
task_state |
body |
字符串 |
容器的当前任务。 |
user_id |
body |
字符串 |
拥有容器的用户的用户 ID。 |
uuid |
body |
字符串 |
容器的 UUID。 |
hostname |
body |
字符串 |
容器的主机名。 |
environment |
body |
对象 |
要在容器中设置的环境变量。 |
memory |
body |
整数 |
容器的内存大小,以 MiB 为单位。 |
project_id |
body |
数组 |
此容器所属项目的 UUID。 |
status |
body |
字符串 |
容器的当前状态。 |
environment |
body |
对象 |
要在容器中设置的环境变量。 |
workdir |
body |
字符串 |
要在其中运行命令的工作目录。 |
healthcheck |
body |
对象 |
用于检查容器是否正常的测试命令。支持四个参数
|
auto_remove |
body |
布尔值 |
在容器进程退出时启用守护程序侧的自动删除。 |
auto_heal |
body |
布尔值 |
Docker 中不存在容器的自动修复标志。 |
cpu_policy |
body |
字符串 |
容器的 CPU 策略。其值可以是 |
image_driver |
body |
字符串 |
用于拉取容器镜像的镜像驱动程序。 |
status_detail |
body |
字符串 |
容器的当前状态详细信息。 |
status_reason |
body |
字符串 |
容器当前状态的原因。 |
name |
body |
字符串 |
容器的名称。 |
restart_policy |
body |
对象 |
重启策略,用于在容器退出时应用。它必须包含一个 |
cpu |
body |
float |
容器的虚拟 CPU 数量。 |
command |
body |
数组 |
向容器发送命令。 |
registry_id |
body |
字符串 |
容器使用的镜像注册表的 ID。 |
ports |
body |
字符串 |
容器上暴露的端口。 |
interactive |
body |
布尔值 |
即使未附加,也要保持 STDIN 打开。 |
tty |
body |
布尔值 |
是否为容器分配一个 TTY。 |
响应示例¶
{
"capsules": [
{
"status": "Running",
"user_id": "c863491f37984815bf740836c86e9310",
"uuid": "a4bad62a-f3ba-4b14-b2ab-2af470a2f32c",
"links": [
{
"href": "http://openstack.example.com/v1/capsules/a4bad62a-f3ba-4b14-b2ab-2af470a2f32c",
"rel": "self"
},
{
"href": "http://openstack.example.com/capsules/a4bad62a-f3ba-4b14-b2ab-2af470a2f32c",
"rel": "bookmark"
}
],
"created_at": "2019-05-18 21:02:12",
"labels": {
"app": "web"
},
"annotations": {
"key1": "value1"
},
"restart_policy": {
"MaximumRetryCount": "0",
"Name": "always"
},
"updated_at": "2019-05-18 21:02:30",
"name": "demo",
"memory": "512",
"project_id": "493378c3aa3e4315a39fe8b125f9eaaa",
"status_reason": null,
"cpu": 0.5,
"containers": [
{
"addresses": {},
"image": "nginx",
"labels": {},
"disk": 0,
"security_groups": [],
"task_state": null,
"user_id": "c863491f37984815bf740836c86e9310",
"uuid": "6df062d2-293c-4c35-af81-22d27ce47887",
"hostname": "dce8bbff358a",
"environment": {
"ENV2": "env2-value"
},
"memory": "512",
"project_id": "493378c3aa3e4315a39fe8b125f9eaaa",
"status": "Running",
"workdir": "/",
"healthcheck": {},
"auto_remove": false,
"auto_heal": false,
"cpu_policy": "shared",
"image_driver": null,
"status_detail": null,
"status_reason": null,
"name": "capsule-demo-pi-9",
"restart_policy": {
"MaximumRetryCount": "10",
"Name": "on-failure"
},
"cpu": 0.5,
"command": [
"nginx",
"-g",
"daemon off;"
],
"registry_id": null,
"ports": [
80
],
"interactive": true,
"tty": true
}
],
"addresses": {
"86f0b398-414f-4e6a-b569-21d3452eb769": [
{
"subnet_id": "48bdf0e5-49d0-4668-9dcf-c47ea69fb4c3",
"version": 4,
"preserve_on_delete": false,
"addr": "10.0.0.21",
"port": "d19617f2-6984-4c00-a914-da02b39fdc52"
},
{
"subnet_id": "54f53848-66fc-4697-ab31-a97579691312",
"version": 6,
"preserve_on_delete": false,
"addr": "fddf:ec1e:34b4:0:f816:3eff:feb3:6c0e",
"port": "d19617f2-6984-4c00-a914-da02b39fdc52"
}
]
}
}
],
"next": null
}
获取 Zun 中胶囊的所有信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
capsule_ident |
路径 |
字符串 |
Zun 中胶囊的 UUID 或名称。 |
响应¶
胶囊¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
addresses |
body |
字符串 |
胶囊的 IP 地址。这包括 ipv4 和/或 ipv6 地址。 |
containers |
body |
对象 |
属于胶囊的 容器 列表。胶囊中必须至少有一个容器。 |
cpu |
body |
float |
胶囊的虚拟 CPU 数量。 |
memory |
body |
字符串 |
胶囊的内存大小,以 MiB 为单位。 |
uuid |
body |
字符串 |
胶囊的 UUID。 |
name |
body |
字符串 |
胶囊的名称。 |
labels |
body |
对象 |
胶囊的标签。 |
annotations |
body |
对象 |
胶囊的注释。Annotations 是存储在资源中的非结构化键值映射,可以由外部工具设置和检索任意元数据。 |
restart_policy |
body |
对象 |
胶囊内所有容器的重启策略。 |
created_at |
body |
字符串 |
创建资源的时间和日期。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
例如, 如果包含 |
updated_at |
body |
字符串 |
更新资源的时间和日期。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
例如, 如果包含, 如果未设置 |
user_id |
body |
字符串 |
拥有胶囊的用户的用户 ID。 |
project_id |
body |
字符串 |
此胶囊所属项目的 UUID。 |
status |
body |
字符串 |
胶囊的当前状态。 |
status_reason |
body |
字符串 |
胶囊当前状态的原因。 |
links |
body |
字符串 |
相对链接列表。 |
胶囊容器¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
addresses |
body |
字符串 |
容器的 IP 地址。这包括 ipv4 和/或 ipv6 地址。 |
image |
body |
字符串 |
镜像的名称或 ID。 |
labels |
body |
对象 |
容器标签的映射。 |
disk |
body |
整数 |
容器的磁盘大小,以 GiB 为单位。 |
security_groups |
body |
字符串 |
要添加到容器的安全组。 |
task_state |
body |
字符串 |
容器的当前任务。 |
user_id |
body |
字符串 |
拥有容器的用户的用户 ID。 |
uuid |
body |
字符串 |
容器的 UUID。 |
hostname |
body |
字符串 |
容器的主机名。 |
environment |
body |
对象 |
要在容器中设置的环境变量。 |
memory |
body |
整数 |
容器的内存大小,以 MiB 为单位。 |
project_id |
body |
数组 |
此容器所属项目的 UUID。 |
status |
body |
字符串 |
容器的当前状态。 |
environment |
body |
对象 |
要在容器中设置的环境变量。 |
workdir |
body |
字符串 |
要在其中运行命令的工作目录。 |
healthcheck |
body |
对象 |
用于检查容器是否正常的测试命令。支持四个参数
|
auto_remove |
body |
布尔值 |
在容器进程退出时启用守护程序侧的自动删除。 |
auto_heal |
body |
布尔值 |
Docker 中不存在容器的自动修复标志。 |
cpu_policy |
body |
字符串 |
容器的 CPU 策略。其值可以是 |
image_driver |
body |
字符串 |
用于拉取容器镜像的镜像驱动程序。 |
status_detail |
body |
字符串 |
容器的当前状态详细信息。 |
status_reason |
body |
字符串 |
容器当前状态的原因。 |
name |
body |
字符串 |
容器的名称。 |
restart_policy |
body |
对象 |
重启策略,用于在容器退出时应用。它必须包含一个 |
cpu |
body |
float |
容器的虚拟 CPU 数量。 |
command |
body |
数组 |
向容器发送命令。 |
registry_id |
body |
字符串 |
容器使用的镜像注册表的 ID。 |
ports |
body |
字符串 |
容器上暴露的端口。 |
interactive |
body |
布尔值 |
即使未附加,也要保持 STDIN 打开。 |
tty |
body |
布尔值 |
是否为容器分配一个 TTY。 |
响应示例¶
{
"status": "Running",
"user_id": "c863491f37984815bf740836c86e9310",
"uuid": "a4bad62a-f3ba-4b14-b2ab-2af470a2f32c",
"links": [
{
"href": "http://openstack.example.com/v1/capsules/a4bad62a-f3ba-4b14-b2ab-2af470a2f32c",
"rel": "self"
},
{
"href": "http://openstack.example.com/capsules/a4bad62a-f3ba-4b14-b2ab-2af470a2f32c",
"rel": "bookmark"
}
],
"created_at": "2019-05-18 21:02:12",
"labels": {
"app": "web"
},
"annotations": {
"key1": "value1"
},
"restart_policy": {
"MaximumRetryCount": "0",
"Name": "always"
},
"updated_at": "2019-05-18 21:02:30",
"name": "demo",
"memory": "512",
"project_id": "493378c3aa3e4315a39fe8b125f9eaaa",
"status_reason": null,
"cpu": 0.5,
"containers": [
{
"addresses": {},
"image": "nginx",
"labels": {},
"disk": 0,
"security_groups": [],
"task_state": null,
"user_id": "c863491f37984815bf740836c86e9310",
"uuid": "6df062d2-293c-4c35-af81-22d27ce47887",
"hostname": "dce8bbff358a",
"environment": {
"ENV2": "env2-value"
},
"memory": "512",
"project_id": "493378c3aa3e4315a39fe8b125f9eaaa",
"status": "Running",
"workdir": "/",
"healthcheck": {},
"auto_remove": false,
"auto_heal": false,
"cpu_policy": "shared",
"image_driver": null,
"status_detail": null,
"status_reason": null,
"name": "capsule-demo-pi-9",
"restart_policy": {
"MaximumRetryCount": "10",
"Name": "on-failure"
},
"cpu": 0.5,
"command": [
"nginx",
"-g",
"daemon off;"
],
"registry_id": null,
"ports": [80],
"interactive": true,
"tty": true
}
],
"addresses": {
"86f0b398-414f-4e6a-b569-21d3452eb769": [
{
"subnet_id": "48bdf0e5-49d0-4668-9dcf-c47ea69fb4c3",
"version": 4,
"preserve_on_delete": false,
"addr": "10.0.0.21",
"port": "d19617f2-6984-4c00-a914-da02b39fdc52"
},
{
"subnet_id": "54f53848-66fc-4697-ab31-a97579691312",
"version": 6,
"preserve_on_delete": false,
"addr": "fddf:ec1e:34b4:0:f816:3eff:feb3:6c0e",
"port": "d19617f2-6984-4c00-a914-da02b39fdc52"
}
]
}
}
删除一个胶囊。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
204 - No Content |
服务器已通过删除资源来满足请求。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此操作与此资源的另一个操作冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
capsule_ident |
路径 |
字符串 |
Zun 中胶囊的 UUID 或名称。 |
响应¶
此请求不在响应主体中返回任何内容。
管理容器¶
列出、创建、显示详细信息、统计信息、更新、删除、启动、调整大小、停止、暂停、取消暂停、重启、重命名、提交、杀死、附加到容器、获取容器的存档、将存档放入容器,以及为指定的容器添加安全组,执行正在运行的容器中的命令,获取容器的日志,显示容器中正在运行的进程,调整 exec 使用的 tty 会话的大小,列出容器的操作和操作详细信息。
创建新的容器。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
Request¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
name (可选) |
body |
字符串 |
容器的名称。 |
image |
body |
字符串 |
镜像的名称或 ID。 |
command (可选) |
body |
字符串 |
向容器发送命令。 |
cpu (可选) |
body |
float |
虚拟 CPU 的数量。 |
memory (可选) |
body |
整数 |
容器的内存大小,以 MiB 为单位。 |
workdir (可选) |
body |
字符串 |
要在其中运行命令的工作目录。 |
labels (可选) |
body |
对象 |
向容器添加标签映射。 |
environment (可选) |
body |
对象 |
要在容器中设置的环境变量。 |
restart_policy (可选) |
body |
对象 |
重启策略,用于在容器退出时应用。它必须包含一个 |
interactive (可选) |
body |
布尔值 |
即使未附加,也要保持 STDIN 打开。 |
tty (可选) |
body |
布尔值 |
是否为容器分配一个 TTY。 |
image_driver (可选) |
body |
字符串 |
用于拉取容器镜像的镜像驱动程序。允许的值为 |
security_groups (可选) |
body |
字符串 |
要添加到容器的安全组。 |
nets (可选) |
body |
对象 |
容器的网络列表。如果您没有指定 nets 参数,容器将附加到当前租户创建的唯一网络。要使用 NIC 为网络配置容器,请在 如果定义了多个网络,容器中网络的出现顺序不一定反映请求中给定的顺序。用户不应依赖设备顺序来推断有关其网络设备的信息。 |
runtime (可选) |
body |
字符串 |
用于创建容器的容器运行时工具。您可以使用默认运行时 runc 或任何其他配置为与 Docker 一起使用的运行时。 |
hostname (可选) |
body |
字符串 |
容器的主机名。 |
auto_remove (可选) |
body |
布尔值 |
在容器进程退出时,启用容器在守护进程侧的自动删除。 |
auto_heal (可选) |
body |
布尔值 |
Docker 中不存在容器的自动修复标志。 |
availability_zone (可选) |
body |
字符串 |
运行容器的可用区。通常,管理员用户将使用可用区将容器主机组织成逻辑组。可用区提供了一种物理隔离和冗余形式,与其他可用区隔离。例如,如果您的数据中心中的某些机架使用独立的电源,您可以将这些机架中的容器放在自己的可用区中。通过将资源隔离到可用区,您可以确保您的应用程序资源分布在不同的机器上,以在发生硬件或其他故障时实现高可用性。您可以通过调用 |
hints (可选) |
body |
字符串 |
发送到调度器的字典数据。 |
mounts (可选) |
body |
对象 |
一个字典数据列表,用于指定如何将卷挂载到容器中。容器将在创建时挂载这些卷。每个条目可以有一个 |
privileged (可选) |
body |
布尔值 |
为容器提供扩展权限。 |
healthcheck (可选) |
body |
对象 |
用于检查容器是否正常的测试命令。支持四个参数
|
exposed_ports (可选) |
body |
对象 |
一个字典数据列表,用于指定如何暴露容器的端口。如果指定此参数,Zun 将创建一个安全组,其中包含一组打开应暴露的端口的规则,并将安全组与容器关联。该值采用 |
host (可选) |
body |
字符串 |
创建容器的主机名称。如果未找到具有给定主机名的主机,API 将返回 400。默认情况下,只有管理员才能指定它。 |
entrypoint (可选) |
body |
数组 |
覆盖镜像的默认 ENTRYPOINT 的入口点。 |
请求示例¶
{
"environment":{
"foo": "bar"
},
"labels":{
"app": "hello"
},
"image": "ubuntu",
"command": [
"/bin/sh",
"-c",
"'echo hello'"
],
"name": "test",
"cpu": 2,
"memory": 500,
"workdir": "/home/ubuntu",
"restart_policy":{
"Name": "no",
"MaximumRetryCount": 0
},
"interactive": false,
"tty": false,
"image_driver": "docker",
"security_groups": [
"default"
],
"nets": [
{
"v4-fixed-ip": "",
"network": "",
"v6-fixed-ip": "",
"port": "890699a9-4690-4bd6-8b70-3a9c1be77ecb"
}
],
"runtime": "runc",
"hostname": "testhost",
"auto_remove": false,
"auto_heal": false,
"availability_zone": "nova",
"hints": {
"foo": "bar"
},
"mounts": [
{
"source": "myvol",
"destination": "/data"
}
],
"privileged": false,
"healthcheck": {
"cmd": "stat /etc/passwd || exit 1",
"interval": 3,
"retries": 2,
"timeout": 5
}
}
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
links |
body |
数组 |
一个相对链接列表。包括 self 和 bookmark 链接。 |
addresses |
body |
字符串 |
容器的 IP 地址。这包括 ipv4 和/或 ipv6 地址。 |
name |
body |
字符串 |
容器的名称。 |
image |
body |
字符串 |
镜像的名称或 ID。 |
labels |
body |
对象 |
容器标签的映射。 |
image_driver |
body |
字符串 |
用于拉取容器镜像的镜像驱动程序。 |
security_groups |
body |
字符串 |
要添加到容器的安全组。 |
command |
body |
数组 |
向容器发送命令。 |
cpu |
body |
float |
容器的虚拟 CPU 数量。 |
memory |
body |
整数 |
容器的内存大小,以 MiB 为单位。 |
workdir |
body |
字符串 |
要在其中运行命令的工作目录。 |
environment |
body |
对象 |
要在容器中设置的环境变量。 |
restart_policy |
body |
对象 |
重启策略,用于在容器退出时应用。它必须包含一个 |
interactive |
body |
布尔值 |
即使未附加,也要保持 STDIN 打开。 |
tty |
body |
布尔值 |
是否为容器分配一个 TTY。 |
uuid |
body |
UUID |
资源的 UUID。 |
hostname |
body |
字符串 |
容器的主机名。 |
status |
body |
字符串 |
容器的当前状态。 |
status_detail |
body |
字符串 |
容器的当前状态详细信息。 |
host |
body |
字符串 |
服务的宿主机。 |
task_state |
body |
字符串 |
容器的当前任务。 |
status_reason |
body |
字符串 |
容器当前状态的原因。 |
ports |
body |
字符串 |
容器上暴露的端口。 |
auto_remove |
body |
布尔值 |
在容器进程退出时启用守护程序侧的自动删除。 |
auto_heal |
body |
布尔值 |
Docker 中不存在容器的自动修复标志。 |
privileged |
body |
布尔值 |
为容器提供扩展权限。 |
healthcheck |
body |
对象 |
用于检查容器是否正常的测试命令。支持四个参数
|
user_id |
body |
字符串 |
拥有容器的用户的用户 ID。 |
project_id |
路径 |
字符串 |
多项目云中项目的 UUID。 |
disk |
body |
整数 |
容器的磁盘大小,以 GiB 为单位。 |
registry_id |
body |
字符串 |
容器使用的镜像注册表的 ID。 |
cpu_policy |
body |
字符串 |
容器的 CPU 策略。其值可以是 |
entrypoint |
body |
数组 |
覆盖镜像的默认 ENTRYPOINT 的入口点。 |
响应示例¶
{
"addresses": null,
"links": [
{
"href": "http://openstack.example.com/v1/containers/b0694d40-70af-4488-b104-10f66b593347",
"rel": "self"
},
{
"href": "http://openstack.example.com/containers/b0694d40-70af-4488-b104-10f66b593347",
"rel": "bookmark"
}
],
"image": "ubuntu",
"labels": {
"app": "hello"
},
"security_groups": [
"7e4eae5d-8b7b-4673-91b3-70dfb577e620"
],
"uuid": "b0694d40-70af-4488-b104-10f66b593347",
"environment": {
"foo": "bar"
},
"memory": "500",
"status": "Creating",
"workdir": "/home/ubuntu",
"status_detail": null,
"host": null,
"image_driver": "docker",
"task_state": null,
"status_reason": null,
"name": "test",
"restart_policy": {
"MaximumRetryCount": "0",
"Name": "no"
},
"ports": null,
"command": [
"/bin/sh",
"-c",
"'echo hello'"
],
"cpu": 2.0,
"interactive": false,
"tty": false,
"runtime": "runc",
"hostname": "testhost",
"auto_remove": false,
"auto_heal": false,
"privileged": false,
"disk": 0,
"user_id": "0a9cdb65757b4216935e27f333d1c48b",
"project_id": "77a89a275765486d86144caad70825e4",
"cpu_policy": "shared",
"registry_id": null,
"healthcheck": {
"test": "stat /etc/passwd || exit 1",
"interval": 3,
"retries": 2,
"timeout": 5
}
}
列出 Zun 中的所有可用容器。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
name (可选) |
查询 |
字符串 |
按名称过滤响应。 |
image (可选) |
查询 |
字符串 |
按镜像过滤响应。 |
project_id (可选) |
查询 |
字符串 |
按项目的 ID 过滤响应。 |
user_id (可选) |
查询 |
字符串 |
按用户 ID 过滤响应。 |
memory (可选) |
查询 |
整数 |
按 Mib 为单位的内存大小过滤响应。 |
host (可选) |
查询 |
字符串 |
按主机名(字符串)过滤响应。 |
task_state (可选) |
查询 |
字符串 |
按任务状态过滤响应。 |
status (可选) |
查询 |
字符串 |
按容器的当前状态过滤响应。 |
auto_remove (可选) |
查询 |
布尔值 |
根据它们是否在退出时自动删除进行过滤响应。 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
containers |
body |
数组 |
Zun 中的所有容器列表。 |
links |
body |
数组 |
一个相对链接列表。包括 self 和 bookmark 链接。 |
addresses |
body |
字符串 |
容器的 IP 地址。这包括 ipv4 和/或 ipv6 地址。 |
name |
body |
字符串 |
容器的名称。 |
image |
body |
字符串 |
镜像的名称或 ID。 |
labels |
body |
对象 |
容器标签的映射。 |
image_driver |
body |
字符串 |
用于拉取容器镜像的镜像驱动程序。 |
security_groups |
body |
字符串 |
要添加到容器的安全组。 |
command |
body |
数组 |
向容器发送命令。 |
cpu |
body |
float |
容器的虚拟 CPU 数量。 |
memory |
body |
整数 |
容器的内存大小,以 MiB 为单位。 |
workdir |
body |
字符串 |
要在其中运行命令的工作目录。 |
environment |
body |
对象 |
要在容器中设置的环境变量。 |
restart_policy |
body |
对象 |
重启策略,用于在容器退出时应用。它必须包含一个 |
interactive |
body |
布尔值 |
即使未附加,也要保持 STDIN 打开。 |
tty |
body |
布尔值 |
是否为容器分配一个 TTY。 |
uuid |
body |
UUID |
资源的 UUID。 |
hostname |
body |
字符串 |
容器的主机名。 |
status |
body |
字符串 |
容器的当前状态。 |
status_detail |
body |
字符串 |
容器的当前状态详细信息。 |
host |
body |
字符串 |
服务的宿主机。 |
task_state |
body |
字符串 |
容器的当前任务。 |
status_reason |
body |
字符串 |
容器当前状态的原因。 |
ports |
body |
字符串 |
容器上暴露的端口。 |
privileged |
body |
布尔值 |
为容器提供扩展权限。 |
healthcheck |
body |
对象 |
用于检查容器是否正常的测试命令。支持四个参数
|
user_id |
body |
字符串 |
拥有容器的用户的用户 ID。 |
project_id |
路径 |
字符串 |
多项目云中项目的 UUID。 |
disk |
body |
整数 |
容器的磁盘大小,以 GiB 为单位。 |
registry_id |
body |
字符串 |
容器使用的镜像注册表的 ID。 |
cpu_policy |
body |
字符串 |
容器的 CPU 策略。其值可以是 |
entrypoint |
body |
数组 |
覆盖镜像的默认 ENTRYPOINT 的入口点。 |
响应示例¶
{
"containers": [
{
"addresses": {
"2ede1821-1334-4e8b-b731-d3a82b41f42f": [{
"subnet_id": "a3162b3e-2f02-432e-a18c-78fe2774d026",
"version": 4,
"preserve_on_delete": false,
"addr": "172.24.4.3",
"port": "4b077255-9b4d-4068-b24f-b89594f870c2"
}, {
"subnet_id": "7ca0d3d5-eeef-489f-8a40-ccb00456628c",
"version": 6,
"preserve_on_delete": false,
"addr": "2001:db8::9",
"port": "4b077255-9b4d-4068-b24f-b89594f870c2"
}]
},
"links": [{
"href": "http://openstack.example.com/v1/containers/b0694d40-70af-4488-b104-10f66b593347",
"rel": "self"
},
{"href": "http://openstack.example.com/containers/b0694d40-70af-4488-b104-10f66b593347", "rel": "bookmark"}
],
"image": "ubuntu",
"labels": {
"app": "hello"
},
"disk": 0,
"security_groups": [],
"user_id": "06c7fda2e74d4f5084bb8298bf8e313b",
"uuid": "b0694d40-70af-4488-b104-10f66b593347",
"hostname": "zun-sandbox-5812822d-6794-4839-85c0-1c01665c0d48",
"environment": {
"foo": "bar"
},
"memory": "500",
"project_id": "2cc8ed7104ca427c873cad82411bcebb",
"status": "Stopped",
"workdir": "/home/ubuntu",
"status_detail": "Exited(0) 10 mins ago ",
"auto_remove": false,
"auto_heal": false,
"privileged": false,
"host": "ubuntu",
"image_driver": "docker",
"task_state": null,
"status_reason": null,
"name": "test",
"restart_policy": {
"MaximumRetryCount": "0",
"Name": "no"
},
"runtime": "runc",
"ports": [],
"command": [
"/bin/sh",
"-c",
"'echo hello'"
],
"cpu": 2.0,
"interactive": false,
"tty": false,
"cpu_policy": "shared",
"registry_id": null,
"healthcheck": {
"test": "stat /etc/passwd || exit 1",
"interval": 3,
"retries": 2,
"timeout": 5
}
}
],
"next": null
}
获取 Zun 中容器的所有信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
links |
body |
数组 |
一个相对链接列表。包括 self 和 bookmark 链接。 |
addresses |
body |
字符串 |
容器的 IP 地址。这包括 ipv4 和/或 ipv6 地址。 |
name |
body |
字符串 |
容器的名称。 |
image |
body |
字符串 |
镜像的名称或 ID。 |
labels |
body |
对象 |
容器标签的映射。 |
image_driver |
body |
字符串 |
用于拉取容器镜像的镜像驱动程序。 |
security_groups |
body |
字符串 |
要添加到容器的安全组。 |
command |
body |
数组 |
向容器发送命令。 |
cpu |
body |
float |
容器的虚拟 CPU 数量。 |
memory |
body |
整数 |
容器的内存大小,以 MiB 为单位。 |
workdir |
body |
字符串 |
要在其中运行命令的工作目录。 |
environment |
body |
对象 |
要在容器中设置的环境变量。 |
restart_policy |
body |
对象 |
重启策略,用于在容器退出时应用。它必须包含一个 |
interactive |
body |
布尔值 |
即使未附加,也要保持 STDIN 打开。 |
tty |
body |
布尔值 |
是否为容器分配一个 TTY。 |
uuid |
body |
UUID |
资源的 UUID。 |
hostname |
body |
字符串 |
容器的主机名。 |
status |
body |
字符串 |
容器的当前状态。 |
status_detail |
body |
字符串 |
容器的当前状态详细信息。 |
host |
body |
字符串 |
服务的宿主机。 |
task_state |
body |
字符串 |
容器的当前任务。 |
status_reason |
body |
字符串 |
容器当前状态的原因。 |
ports |
body |
字符串 |
容器上暴露的端口。 |
privileged |
body |
布尔值 |
为容器提供扩展权限。 |
healthcheck |
body |
对象 |
用于检查容器是否正常的测试命令。支持四个参数
|
user_id |
body |
字符串 |
拥有容器的用户的用户 ID。 |
project_id |
路径 |
字符串 |
多项目云中项目的 UUID。 |
disk |
body |
整数 |
容器的磁盘大小,以 GiB 为单位。 |
registry_id |
body |
字符串 |
容器使用的镜像注册表的 ID。 |
cpu_policy |
body |
字符串 |
容器的 CPU 策略。其值可以是 |
entrypoint |
body |
数组 |
覆盖镜像的默认 ENTRYPOINT 的入口点。 |
响应示例¶
{
"addresses": {
"c0c5f8ed-6654-4d25-b0de-c858b9f620be": [{
"subnet_id": "a3162b3e-2f02-432e-a18c-78fe2774d026",
"version": 4,
"preserve_on_delete": false,
"addr": "172.24.4.3",
"port": "4b077255-9b4d-4068-b24f-b89594f870c2"
}, {
"subnet_id": "7ca0d3d5-eeef-489f-8a40-ccb00456628c",
"version": 6,
"preserve_on_delete": false,
"addr": "2001:db8::9",
"port": "4b077255-9b4d-4068-b24f-b89594f870c2"
}]
},
"links": [{
"href": "http://openstack.example.com/v1/containers/b0694d40-70af-4488-b104-10f66b593347",
"rel": "self"
},
{"href": "http://openstack.example.com/containers/b0694d40-70af-4488-b104-10f66b593347", "rel": "bookmark"}
],
"image": "ubuntu",
"labels": {
"app": "hello"
},
"disk": 0,
"security_groups": [],
"user_id": "06c7fda2e74d4f5084bb8298bf8e313b",
"uuid": "b0694d40-70af-4488-b104-10f66b593347",
"hostname": "zun-sandbox-5812822d-6794-4839-85c0-1c01665c0d48",
"environment": {
"foo": "bar"
},
"memory": "500",
"project_id": "2cc8ed7104ca427c873cad82411bcebb",
"status": "Stopped",
"workdir": "/home/ubuntu",
"auto_remove": false,
"auto_heal": false,
"privileged": false,
"status_detail": "Exited(0) 8 mins ago ",
"host": "ubuntu",
"image_driver": "docker",
"task_state": null,
"status_reason": null,
"name": "test",
"restart_policy": {
"MaximumRetryCount": "0",
"Name": "no"
},
"ports": [],
"command": [
"/bin/sh",
"-c",
"'echo hello'"
],
"cpu": 2.0,
"interactive": false,
"tty": false,
"cpu_policy": "shared",
"registry_id": null,
"healthcheck": {
"test": "stat /etc/passwd || exit 1",
"interval": 3,
"retries": 2,
"timeout": 5
}
}
删除处于 Creating 或 Running 状态的容器,请请求 /v1/containers/{container_ident}?force=True。要停止并删除容器,请请求 /v1/containers/{container _ident}?stop=True
响应代码¶
成功¶
代码 |
原因 |
|---|---|
204 - No Content |
服务器已通过删除资源来满足请求。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此操作与此资源的另一个操作冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
force |
查询 |
字符串 |
指定强制删除容器。 |
stop (可选) |
查询 |
字符串 |
在删除容器之前是否停止容器。 |
响应¶
此请求不在响应主体中返回任何内容。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
X-Openstack-Request-Id |
标头 |
UUID |
用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。 |
杀死正在运行的容器。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此操作与此资源的另一个操作冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
signal (可选) |
查询 |
字符串 |
杀死容器的信号。 |
响应¶
此请求不在响应主体中返回任何内容。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
X-Openstack-Request-Id |
标头 |
UUID |
用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。 |
显示容器的统计信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此操作与此资源的另一个操作冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
stats_info |
body |
dict |
容器的统计信息,包括 cpu、内存、blk io 和 net io。 |
响应示例¶
{
"CONTAINER": "test",
"CPU %": 8.89,
"MEM USAGE(MiB)": 7,
"MEM LIMIT(MiB)": 16048,
"MEM %": 0.0436191425723,
"BLOCK I/O(B)": "12910592/0",
"NET I/O(B)": "246614/648"
}
更新容器的一个或多个属性信息。目前只能更新 cpu、name 和 memory。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
memory |
body |
整数 |
容器的内存大小,以 MiB 为单位。 |
cpu |
body |
float |
容器的虚拟 CPU 数量。 |
name |
body |
字符串 |
容器的名称。 |
请求示例¶
{
"memory": "200",
"cpu": "3",
"name": "test_new"
}
响应¶
返回具有更新属性的新容器。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
links |
body |
数组 |
一个相对链接列表。包括 self 和 bookmark 链接。 |
addresses |
body |
字符串 |
容器的 IP 地址。这包括 ipv4 和/或 ipv6 地址。 |
name |
body |
字符串 |
容器的名称。 |
image |
body |
字符串 |
镜像的名称或 ID。 |
labels |
body |
对象 |
容器标签的映射。 |
image_driver |
body |
字符串 |
用于拉取容器镜像的镜像驱动程序。 |
security_groups |
body |
字符串 |
要添加到容器的安全组。 |
command |
body |
数组 |
向容器发送命令。 |
cpu |
body |
float |
容器的虚拟 CPU 数量。 |
memory |
body |
整数 |
容器的内存大小,以 MiB 为单位。 |
workdir |
body |
字符串 |
要在其中运行命令的工作目录。 |
environment |
body |
对象 |
要在容器中设置的环境变量。 |
restart_policy |
body |
对象 |
重启策略,用于在容器退出时应用。它必须包含一个 |
interactive |
body |
布尔值 |
即使未附加,也要保持 STDIN 打开。 |
tty |
body |
布尔值 |
是否为容器分配一个 TTY。 |
uuid |
body |
UUID |
资源的 UUID。 |
hostname |
body |
字符串 |
容器的主机名。 |
status |
body |
字符串 |
容器的当前状态。 |
status_detail |
body |
字符串 |
容器的当前状态详细信息。 |
host |
body |
字符串 |
服务的宿主机。 |
task_state |
body |
字符串 |
容器的当前任务。 |
status_reason |
body |
字符串 |
容器当前状态的原因。 |
ports |
body |
字符串 |
容器上暴露的端口。 |
privileged |
body |
布尔值 |
为容器提供扩展权限。 |
healthcheck |
body |
对象 |
用于检查容器是否正常的测试命令。支持四个参数
|
user_id |
body |
字符串 |
拥有容器的用户的用户 ID。 |
project_id |
路径 |
字符串 |
多项目云中项目的 UUID。 |
disk |
body |
整数 |
容器的磁盘大小,以 GiB 为单位。 |
registry_id |
body |
字符串 |
容器使用的镜像注册表的 ID。 |
cpu_policy |
body |
字符串 |
容器的 CPU 策略。其值可以是 |
entrypoint |
body |
数组 |
覆盖镜像的默认 ENTRYPOINT 的入口点。 |
响应示例¶
{
"addresses": {
"eb7a3ee0-ad55-417b-ba11-6c57b1dbd4c6": [
{
"subnet_id": "a3162b3e-2f02-432e-a18c-78fe2774d026",
"version": 4,
"preserve_on_delete": false,
"addr": "172.24.4.3",
"port": "4b077255-9b4d-4068-b24f-b89594f870c2"
},
{
"subnet_id": "7ca0d3d5-eeef-489f-8a40-ccb00456628c",
"version": 6,
"preserve_on_delete": false,
"addr": "2001:db8::9",
"port": "4b077255-9b4d-4068-b24f-b89594f870c2"
}
]
},
"links": [
{
"href": "http://openstack.example.com/v1/containers/b0694d40-70af-4488-b104-10f66b593347",
"rel": "self"
},
{
"href": "http://openstack.example.com/containers/b0694d40-70af-4488-b104-10f66b593347",
"rel": "bookmark"
}
],
"image": "ubuntu",
"labels": {
"app": "hello"
},
"security_groups": [],
"user_id": "06c7fda2e74d4f5084bb8298bf8e313b",
"uuid": "b0694d40-70af-4488-b104-10f66b593347",
"hostname": "zun-sandbox-5812822d-6794-4839-85c0-1c01665c0d48",
"environment": {
"foo": "bar"
},
"memory": "200",
"status": "Stopped",
"workdir": "/home/ubuntu",
"status_detail": "Exited(0) 18 mins ago ",
"host": "ubuntu",
"image_driver": "docker",
"task_state": null,
"status_reason": null,
"name": "test_new",
"restart_policy": {
"MaximumRetryCount": "0",
"Name": "no"
},
"ports": [],
"command": [
"/bin/sh",
"-c",
"'echo hello'"
],
"runtime": "runc",
"cpu": 3.0,
"interactive": false,
"tty": false,
"privileged": false,
"project_id": "493378c3aa3e4315a39fe8b125f9eaaa",
"disk": 0,
"auto_remove": false,
"auto_heal": false,
"cpu_policy": "shared",
"registry_id": null,
"healthcheck": {
"test": "stat /etc/passwd || exit 1",
"interval": 3,
"retries": 2,
"timeout": 5
}
}
启动容器。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此操作与此资源的另一个操作冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
响应¶
此请求不在响应主体中返回任何内容。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
X-Openstack-Request-Id |
标头 |
UUID |
用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。 |
停止容器。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此操作与此资源的另一个操作冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
timeout |
查询 |
字符串 |
秒数,在对容器进行操作之前等待。 |
响应¶
此请求不在响应主体中返回任何内容。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
X-Openstack-Request-Id |
标头 |
UUID |
用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。 |
暂停容器。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此操作与此资源的另一个操作冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
响应¶
此请求不在响应主体中返回任何内容。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
X-Openstack-Request-Id |
标头 |
UUID |
用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。 |
取消暂停容器。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此操作与此资源的另一个操作冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
响应¶
此请求不在响应主体中返回任何内容。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
X-Openstack-Request-Id |
标头 |
UUID |
用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。 |
重建容器。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
image |
body |
字符串 |
镜像的名称或 ID。 |
image_driver |
body |
字符串 |
用于拉取容器镜像的镜像驱动程序。 |
响应¶
此请求不在响应主体中返回任何内容。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
X-Openstack-Request-Id |
标头 |
UUID |
用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。 |
重启容器。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此操作与此资源的另一个操作冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
timeout |
查询 |
字符串 |
秒数,在对容器进行操作之前等待。 |
响应¶
此请求不在响应主体中返回任何内容。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
X-Openstack-Request-Id |
标头 |
UUID |
用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。 |
重命名容器。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此操作与此资源的另一个操作冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
new_name |
查询 |
字符串 |
容器的新名称。 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
links |
body |
数组 |
一个相对链接列表。包括 self 和 bookmark 链接。 |
addresses |
body |
字符串 |
容器的 IP 地址。这包括 ipv4 和/或 ipv6 地址。 |
name |
body |
字符串 |
容器的名称。 |
image |
body |
字符串 |
镜像的名称或 ID。 |
labels |
body |
对象 |
容器标签的映射。 |
image_driver |
body |
字符串 |
用于拉取容器镜像的镜像驱动程序。 |
security_groups |
body |
字符串 |
要添加到容器的安全组。 |
command |
body |
数组 |
向容器发送命令。 |
cpu |
body |
float |
容器的虚拟 CPU 数量。 |
memory |
body |
整数 |
容器的内存大小,以 MiB 为单位。 |
workdir |
body |
字符串 |
要在其中运行命令的工作目录。 |
environment |
body |
对象 |
要在容器中设置的环境变量。 |
restart_policy |
body |
对象 |
重启策略,用于在容器退出时应用。它必须包含一个 |
interactive |
body |
布尔值 |
即使未附加,也要保持 STDIN 打开。 |
tty |
body |
布尔值 |
是否为容器分配一个 TTY。 |
uuid |
body |
UUID |
资源的 UUID。 |
hostname |
body |
字符串 |
容器的主机名。 |
status |
body |
字符串 |
容器的当前状态。 |
status_detail |
body |
字符串 |
容器的当前状态详细信息。 |
host |
body |
字符串 |
服务的宿主机。 |
task_state |
body |
字符串 |
容器的当前任务。 |
status_reason |
body |
字符串 |
容器当前状态的原因。 |
ports |
body |
字符串 |
容器上暴露的端口。 |
user_id |
body |
字符串 |
拥有容器的用户的用户 ID。 |
project_id |
路径 |
字符串 |
多项目云中项目的 UUID。 |
disk |
body |
整数 |
容器的磁盘大小,以 GiB 为单位。 |
registry_id |
body |
字符串 |
容器使用的镜像注册表的 ID。 |
cpu_policy |
body |
字符串 |
容器的 CPU 策略。其值可以是 |
entrypoint |
body |
数组 |
覆盖镜像的默认 ENTRYPOINT 的入口点。 |
响应示例¶
{
"addresses": {
"f82824cf-bd0e-4c39-9450-3cf802ed262f": [
{
"version": 4,
"addr": "172.24.4.3",
"port": "4b077255-9b4d-4068-b24f-b89594f870c2"
},
{
"version": 6,
"addr": "2001:db8::9",
"port": "4b077255-9b4d-4068-b24f-b89594f870c2"
}
]
},
"links": [
{
"href": "http://openstack.example.com/v1/containers/b0694d40-70af-4488-b104-10f66b593347",
"rel": "self"
},
{
"href": "http://openstack.example.com/containers/b0694d40-70af-4488-b104-10f66b593347",
"rel": "bookmark"
}
],
"image": "ubuntu",
"labels": {
"app": "hello"
},
"security_groups": [],
"uuid": "b0694d40-70af-4488-b104-10f66b593347",
"hostname": "zun-sandbox-5812822d-6794-4839-85c0-1c01665c0d48",
"environment": {
"foo": "bar"
},
"memory": "500",
"status": "Stopped",
"workdir": "/home/ubuntu",
"status_detail": "Exited(0) 8 mins ago ",
"host": "ubuntu",
"image_driver": "docker",
"task_state": null,
"status_reason": null,
"name": "test-new",
"restart_policy": {
"MaximumRetryCount": "0",
"Name": "no"
},
"ports": [],
"command": [
"/bin/sh",
"-c",
"'echo hello'"
],
"cpu": 2.0,
"disk": 0,
"project_id": "493378c3aa3e4315a39fe8b125f9eaaa",
"user_id": "06c7fda2e74d4f5084bb8298bf8e313b",
"auto_remove": false,
"auto_heal": false,
"cpu_policy": "shared",
"registry_id": null,
"interactive": false,
"tty": false
}
获取容器文件系统中的资源 tar 归档文件。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此操作与此资源的另一个操作冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
source_path |
查询 |
字符串 |
从容器获取归档文件时容器中的文件路径。 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
data |
body |
字符串 |
从容器获取或放入容器的 tar 文件的内容。 |
stat |
body |
字符串 |
执行 get_archive 时的状态信息。 |
响应示例¶
{
"stat": {
"linkTarget": "",
"size": 129,
"mode": 493,
"name": "ip.sh",
"mtime": "2017-07-25T18:54:50-07:00"
},
"data": "ARCHIVE FILE DATA"
}
上传要提取到容器文件系统路径中的 tar 归档文件。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此操作与此资源的另一个操作冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
destination_path |
查询 |
字符串 |
将归档文件放入容器时容器中的目标路径。 |
data |
body |
字符串 |
从容器获取或放入容器的 tar 文件的内容。 |
请求示例¶
{
"data": "ARCHIVE FILE DATA"
}
响应¶
此请求不在响应主体中返回任何内容。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
X-Openstack-Request-Id |
标头 |
UUID |
用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。 |
为指定的容器添加安全组。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此操作与此资源的另一个操作冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
security_group |
查询 |
字符串 |
要添加到容器的安全组。 |
响应¶
此请求不在响应主体中返回任何内容。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
X-Openstack-Request-Id |
标头 |
UUID |
用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。 |
从容器的更改创建新镜像。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此操作与此资源的另一个操作冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
repository |
查询 |
字符串 |
容器镜像的仓库。 |
tag |
查询 |
字符串 |
容器镜像的标签。 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
image |
body |
字符串 |
镜像的名称或 ID。 |
响应示例¶
{
"uuid": "64281d85-e9a3-4c54-8d30-9ee72a596d8a"
}
附加到正在运行的容器。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此操作与此资源的另一个操作冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
响应¶
此请求返回 websocket url 作为响应,该响应不是 json 格式。
从容器分离网络。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
network (可选) |
查询 |
字符串 |
要附加到容器的网络 ID 或名称。 |
端口 (可选) |
查询 |
字符串 |
要绑定到容器的端口的 ID 或名称。 |
响应¶
此请求不在响应主体中返回任何内容。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
X-Openstack-Request-Id |
标头 |
UUID |
用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。 |
调整容器的 TTY 大小
警告
此 API 主要设计用于由 zunclient 或 Zun-UI 使用。 此 API 的目的是在客户端工具和 Zun 之间协调,以调整容器的 TTY 大小。 除非您正在编写客户端工具,否则不应使用此 API。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
409 - Conflict |
此操作与此资源的另一个操作冲突。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
width |
查询 |
字符串 |
容器的 TTY 宽度。 |
height |
查询 |
字符串 |
容器的 TTY 高度。 |
响应¶
此请求不在响应主体中返回任何内容。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
X-Openstack-Request-Id |
标头 |
UUID |
用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。 |
将网络附加到容器。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
network (可选) |
查询 |
字符串 |
要附加到容器的网络 ID 或名称。 |
端口 (可选) |
查询 |
字符串 |
要绑定到容器的端口的 ID 或名称。 |
fixed_ip (可选) |
查询 |
字符串 |
固定 IP 地址。 如果您在没有 |
响应¶
此请求不在响应主体中返回任何内容。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
X-Openstack-Request-Id |
标头 |
UUID |
用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。 |
在正在运行的容器中执行命令。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
command |
查询 |
字符串 |
要在容器中执行的命令。 |
run (可选) |
查询 |
布尔值 |
是否运行该命令。 如果将此参数设置为 true,Zun 将立即运行该命令。 如果将此参数设置为 false,Zun 将不会运行该命令,而是返回必要的信息(即 URL 和执行 ID)供用户触发命令的执行。 |
interactive (可选) |
查询 |
布尔值 |
即使未附加,也要保持 STDIN 处于打开状态,分配一个伪 TTY。 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
output (可选) |
body |
dict |
在容器中执行的命令的输出。 |
exit_code (可选) |
body |
dict |
在容器中执行的命令的退出代码。 |
exec_id (可选) |
body |
dict |
exec 实例的 ID。 |
url (可选) |
body |
dict |
启动 exec 实例的 URL。 |
注意
如果 run 参数设置为 true,则输出将为 {“output”: “…”、“exit_code”: “…”、“exec_id”: None、“url”: None}。 否则,输出将为 {“output”: None、“exit_code”: None、“exec_id”: “…”、“url”: “…”}。
响应示例¶
{
"output": "Mon Oct 9 09:09:32 UTC 2017\n",
"exit_code": 0,
"exec_id": null,
"url": null
}
{
"output": null,
"exit_code": null,
"url": "tcp://172.16.1.45:2375",
"exec_id": "3c851c568fc9f21bdb77b7ba98eb1c6ae0c901f56dfb1471de4d6af7c73dbf4d"
}
在执行容器中的命令时调整 TTY 大小。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
height |
查询 |
字符串 |
容器的 TTY 高度。 |
exec_id |
查询 |
字符串 |
exec 实例的 ID。 |
width |
查询 |
字符串 |
容器的 TTY 宽度。 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
exec_resize_output (可选) |
body |
数组 |
exec_resize 的输出,包括 exec_id 和 websocket url。 |
响应示例¶
{
"exec_id": "c75e81815181bb22558306fffcaa7d049f4a79378ea70802ee6c4334d0597860",
"url": "ws://0.0.0.0:6784/?token=062411f1-7995-413b-988f-ba8f6c553c6c&uuid=b7074d3a-14e4-4d5a-95cc-579fef16e033"
}
获取容器日志。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
timestamps (可选) |
查询 |
布尔值 |
是否在容器的日志中显示时间戳。 |
tail (可选) |
查询 |
字符串 |
从日志末尾显示多少行,默认是获取所有日志。 |
stderr (可选) |
查询 |
布尔值 |
如果为 True,则获取标准错误。 |
stdout (可选) |
查询 |
布尔值 |
如果为 True,则获取标准输出。 |
since (可选) |
查询 |
字符串 |
从给定的日期时间或整数纪元(以秒为单位)开始显示日志。 |
请求示例¶
{
"timestamps": "True",
"tail": "all",
"since": "600000",
"stderr": "True",
"stdout": "True"
}
响应¶
此请求以字符串形式返回日志,该格式不是 JSON 格式。
显示容器中正在运行的进程。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
ps_args (可选) |
查询 |
字符串 |
ps 命令的参数。 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
ps_output |
body |
dict |
zun top 的输出。 |
响应示例¶
{
"Processes": [
["root", "28363", "28344", "0", "Sep28", "pts/0", "00:00:00", "nginx: master process nginx -g daemon off;"],
["systemd+", "28436", "28363", "0", "Sep28", "pts/0", "00:00:00", "nginx: worker process"]
],
"Titles": [
"UID",
"PID",
"PPID",
"C",
"STIME",
"TTY",
"TIME",
"CMD"
]
}
列出容器上的网络
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
net_id |
body |
字符串 |
网络的 UUID。 |
subnet_id |
body |
字符串 |
子网的 UUID。 |
port_id |
body |
字符串 |
容器的端口的 UUID。 |
版本 |
body |
字符串 |
互联网协议的版本。 |
ip_address |
body |
字符串 |
IP 地址。 |
fixed_ips |
body |
字符串 |
包含子网 ID 和其他详细信息的固定 IP 地址列表。 |
响应示例¶
{
"networks": [
{
"port_id": "5be06e49-70dc-4984-94a2-1b946bb136fb",
"net_id": "7e6b5e1b-9b44-4f55-b4e3-16a1ead98161",
"fixed_ips": {
"ip_address": "30.30.30.10",
"version": 4,
"subnet_id": "ae8d7cce-859e-432f-8a33-d7d8834ccd14"
}
}
]
}
列出容器的操作。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
动作 |
body |
字符串 |
操作的名称。 |
container_uuid |
body |
UUID |
资源的 UUID。 |
message |
body |
字符串 |
发生错误时关于此操作的错误消息。 |
request_id |
body |
字符串 |
执行此操作的 API 生成的请求 ID。 |
start_time |
body |
字符串 |
操作开始的日期和时间。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
例如, |
project_id |
body |
字符串 |
容器所属的项目 UUID。 |
user_id |
body |
字符串 |
拥有容器的用户的用户 ID。 |
示例列出容器的操作:JSON 响应
{
"containerActions": [
{
"action": "create",
"container_uuid": "b48316c5-71e8-45e4-9884-6c78055b9b13",
"message": null,
"project_id": "853719b303ef4858a195535eb520e58d",
"request_id": "req-25517360-b757-47d3-be45-0e8d2a01b36a",
"start_time": "2018-03-04T19:48:49.000000",
"finish_time": "2018-03-04T19:48:55.000000",
"user_id": "22e81669093742b7a74b1d715a9a5813"
},
{
"action": "stop",
"container_uuid": "b48316c5-71e8-45e4-9884-6c78055b9b13",
"message": null,
"project_id": "853719b303ef4858a195535eb520e58d",
"request_id": "req-3293a3f1-b44c-4609-b8d2-d81b105636b8",
"start_time": "2018-03-04T17:02:54.000000",
"finish_time": "2018-03-04T17:02:58.000000",
"user_id": "22e81669093742b7a74b1d715a9a5813"
}
]
}
显示容器操作的详细信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
container_ident |
路径 |
字符串 |
Zun 中容器的 UUID 或名称。 |
request_ident |
路径 |
字符串 |
请求的 ID。 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
动作 |
body |
字符串 |
操作的名称。 |
container_uuid |
body |
UUID |
资源的 UUID。 |
message |
body |
字符串 |
发生错误时关于此操作的错误消息。 |
project_id |
body |
字符串 |
容器所属的项目 UUID。 |
request_id |
body |
字符串 |
执行此操作的 API 生成的请求 ID。 |
start_time |
body |
字符串 |
操作开始的日期和时间。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
例如, |
user_id |
body |
字符串 |
拥有容器的用户的用户 ID。 |
events |
body |
数组 |
此操作中发生事件。 |
events.event |
body |
字符串 |
事件的名称。 |
events.start_time |
body |
字符串 |
事件开始的日期和时间。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
例如, |
events.finish_time |
body |
字符串 |
事件完成的日期和时间。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
例如, |
events.result |
body |
字符串 |
事件的结果。 |
events.traceback |
body |
字符串 |
如果在此事件中发生错误,则为堆栈跟踪。 |
示例显示容器操作详细信息:JSON 响应
{
"action": "create",
"events": [
{
"event": "container__do_container_start",
"finish_time": "2018-03-04T17:03:07.000000",
"result": "Success",
"start_time": "2018-03-04T17:02:57.000000",
"traceback": null
}
],
"container_uuid": "b48316c5-71e8-45e4-9884-6c78055b9b13",
"message": null,
"project_id": "853719b303ef4858a195535eb520e58d",
"request_id": "req-3293a3f1-b44c-4609-b8d2-d81b105636b8",
"start_time": "2018-03-04T17:02:54.000000",
"finish_time": "2018-03-04T17:02:57.000000",
"user_id": "22e81669093742b7a74b1d715a9a5813"
}
管理 Zun 服务¶
使管理员能够查看所有 Zun 服务的详细信息。
服务状态详细信息包括服务 ID、二进制文件、主机、报告计数、创建时间、上次更新时间、运行状况状态以及禁用服务的理由。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
X-Openstack-Request-Id |
标头 |
UUID |
用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。 |
services |
body |
数组 |
Zun 服务的列表。 |
binary |
body |
字符串 |
Zun 服务的二进制形式的名称。 |
availability_zone |
body |
字符串 |
Zun 服务的可用区。 |
created_at |
body |
字符串 |
创建资源的时间和日期。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
例如, 如果包含 |
state |
body |
字符串 |
Zun 服务的当前状态。 |
report_count |
body |
整数 |
报告的总数。 |
updated_at |
body |
字符串 |
更新资源的时间和日期。 日期和时间戳格式为 ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
例如, 如果包含, 如果未设置 |
host |
body |
字符串 |
服务的宿主机。 |
disabled_reason |
body |
字符串 |
服务的禁用原因,如果服务已启用或禁用且未提供原因,则为 |
id |
body |
字符串 |
Zun 服务的 ID。 |
响应示例¶
{
"services":[
{
"binary": "zun-compute",
"availability_zone": "nova",
"state": "up",
"created_at": "2017-02-01T03:25:07.000000",
"updated_at": "2017-02-01T06:13:07.000000",
"report_count": 166,
"disabled": false,
"host": "instance-1",
"forced_down": false,
"last_seen_up": "2017-02-01T06:13:07.000000",
"disabled_reason": null,
"id": 1
}
]
}
删除指定的 Zun 服务。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
binary |
body |
字符串 |
Zun 服务的二进制形式的名称。 |
host |
body |
字符串 |
服务的宿主机。 |
响应参数¶
如果成功,此方法不会在响应主体中返回任何内容。
启用指定的 Zun 服务。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
binary |
body |
字符串 |
Zun 服务的二进制形式的名称。 |
host |
body |
字符串 |
服务的宿主机。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
服务 |
body |
dict |
Zun 服务。 |
host |
body |
字符串 |
服务的宿主机。 |
binary |
body |
字符串 |
Zun 服务的二进制形式的名称。 |
disabled |
body |
布尔值 |
此服务是否被禁用。 |
disabled_reason |
body |
字符串 |
服务的禁用原因,如果服务已启用或禁用且未提供原因,则为 |
响应示例¶
{
"service":{
"disabled": false,
"binary": "zun-compute",
"host": "tecs",
"disabled_reason": null
}
}
禁用指定的 Zun 服务。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
binary |
body |
字符串 |
Zun 服务的二进制形式的名称。 |
host |
body |
字符串 |
服务的宿主机。 |
disabled_reason |
body |
字符串 |
服务的禁用原因,如果服务已启用或禁用且未提供原因,则为 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
服务 |
body |
dict |
Zun 服务。 |
host |
body |
字符串 |
服务的宿主机。 |
binary |
body |
字符串 |
Zun 服务的二进制形式的名称。 |
disabled |
body |
布尔值 |
此服务是否被禁用。 |
disabled_reason |
body |
字符串 |
服务的禁用原因,如果服务已启用或禁用且未提供原因,则为 |
响应示例¶
{
"service": {
"disabled": true,
"binary": "zun-compute",
"host": "host1",
"disabled_reason": "abc"
}
}
强制指定的 Zun 服务下线或取消设置。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
binary |
body |
字符串 |
Zun 服务的二进制形式的名称。 |
host |
body |
字符串 |
服务的宿主机。 |
forced_down |
body |
布尔值 |
此服务是否由管理员手动强制下线。 此值对于了解第三方已验证服务应标记为下线很有用。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
服务 |
body |
dict |
Zun 服务。 |
host |
body |
字符串 |
服务的宿主机。 |
binary |
body |
字符串 |
Zun 服务的二进制形式的名称。 |
forced_down |
body |
布尔值 |
此服务是否由管理员手动强制下线。 此值对于了解第三方已验证服务应标记为下线很有用。 |
响应示例¶
{
"service": {
"binary": "zun-compute",
"host": "tecs",
"forced_down": true
}
}
管理 zun 主机¶
使管理员能够列出所有 Zun 容器主机。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
X-Openstack-Request-Id |
标头 |
UUID |
用于跟踪服务请求的唯一 ID。默认情况下,与请求关联的请求 ID 出现在服务日志中。 |
hosts |
body |
数组 |
主机信息列表,包括主机名、uuid、链接、标签、cpus、mem_total 和 os。 |
architecture |
body |
字符串 |
主机操作系统的体系结构。 |
cpus |
body |
字符串 |
主机的总 CPU 数量。 |
cpu_used |
body |
字符串 |
主机使用的 CPU 数量。 |
disk_used |
body |
字符串 |
主机使用的磁盘量。 |
disk_total |
body |
字符串 |
主机的总磁盘量。 |
hostname |
body |
字符串 |
主机名。 |
kernel_version |
body |
字符串 |
主机的内核版本。 |
labels |
body |
字符串 |
本地容器引擎(例如 Docker 守护程序)的标签。 |
mem_used |
body |
字符串 |
主机使用的内存量。 |
mem_total |
body |
字符串 |
主机的总内存量。 |
os |
body |
字符串 |
主机操作系统的名称。 |
os_type |
body |
字符串 |
主机操作系统的类型。 |
total_containers |
body |
字符串 |
主机中的容器总数。 |
uuid |
body |
字符串 |
主机的 UUID。 |
enable_cpu_pinning |
body |
对象 |
指示此主机是否启用了 CPU 固定。 |
响应示例¶
{
"hosts": [
{
"hostname": "testhost",
"uuid": "d0405f06-101e-4340-8735-d1bf9fa8b8ad",
"links": [{
"href": "http://192.168.2.200:9517/v1/hosts/d0405f06-101e-4340-8735-d1bf9fa8b8ad",
"rel": "self"
},
{"href": "http://192.168.2.200:9517/hosts/d0405f06-101e-4340-8735-d1bf9fa8b8ad",
"rel": "bookmark"
}
],
"kernel_version": "4.4.0-109-generic",
"labels": {
"type": "test"
},
"cpus": 48,
"mem_used": 512,
"disk_total": 16,
"mem_total": 128446,
"total_containers": 2,
"cpu_used": 0.2,
"disk_used": 10,
"os_type": "linux",
"architecture": "x86_64"
"os": "CentOS Linux 7 (Core)"
}
],
"next": null
}
获取 Zun 中主机的所有信息。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
404 - Not Found |
找不到请求的资源。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
host_ident |
路径 |
字符串 |
Zun 中主机的 UUID 或名称。 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
architecture |
body |
字符串 |
主机操作系统的体系结构。 |
cpus |
body |
字符串 |
主机的总 CPU 数量。 |
cpu_used |
body |
字符串 |
主机使用的 CPU 数量。 |
disk_used |
body |
字符串 |
主机使用的磁盘量。 |
disk_total |
body |
字符串 |
主机的总磁盘量。 |
hostname |
body |
字符串 |
主机名。 |
kernel_version |
body |
字符串 |
主机的内核版本。 |
labels |
body |
字符串 |
本地容器引擎(例如 Docker 守护程序)的标签。 |
mem_used |
body |
字符串 |
主机使用的内存量。 |
mem_total |
body |
字符串 |
主机的总内存量。 |
os |
body |
字符串 |
主机操作系统的名称。 |
os_type |
body |
字符串 |
主机操作系统的类型。 |
total_containers |
body |
字符串 |
主机中的容器总数。 |
uuid |
body |
字符串 |
主机的 UUID。 |
enable_cpu_pinning |
body |
对象 |
指示此主机是否启用了 CPU 固定。 |
响应示例¶
{
"hostname": "test",
"uuid": "d0405f06-101e-4340-8735-d1bf9fa8b8ad",
"links": [{
"href": "http://192.168.2.22:9517/v1/hosts/d0405f06-101e-4340-8735-d1bf9fa8b8ad",
"rel": "self"
},
{"href": "http://192.168.2.22:9517/hosts/d0405f06-101e-4340-8735-d1bf9fa8b8ad",
"rel": "bookmark"}
],
"kernel_version": "3.10.0-123.el7.x86_64",
"labels": {"type": "test"},
"cpus": 48,
"mem_used": 512,
"disk_total": 16,
"mem_total": 128446,
"total_containers": 2,
"cpu_used": 0.2,
"disk_used": 10,
"os_type": "linux",
"architecture": "x86_64"
"os": "CentOS Linux 7 (Core)"
}
管理配额¶
获取、更新、获取默认值和删除项目的配额。
更新项目的配额
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
路径 |
字符串 |
多项目云中项目的 UUID。 |
containers (可选) |
body |
int |
容器的数量 |
memory (可选) |
body |
整数 |
容器的内存大小,以 MiB 为单位。 |
cpu (可选) |
body |
float |
虚拟 CPU 的数量。 |
disk (可选) |
body |
int |
容器磁盘的千兆字节数 |
请求示例¶
{
"disk": 200,
"cpu": 30,
"containers": 80,
"memory": 102400
}
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
containers |
body |
对象 |
详细容器配额的对象,包括已用、实例数量的限制。 |
memory |
body |
对象 |
详细内存配额的对象,包括已用、内存数量的限制。 |
cpu |
body |
对象 |
详细 CPU 集配额的对象,包括已用、CPU 集数量的限制。 |
disk |
body |
对象 |
详细磁盘配额的对象,包括已用、磁盘的限制。 |
响应示例¶
{
"disk": 200,
"cpu": 30,
"containers": 80,
"memory": 102400
}
获取项目的配额
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
路径 |
字符串 |
多项目云中项目的 UUID。 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
usages (可选) |
查询 |
布尔值 |
是否在配额中显示正在使用中的资源 |
containers |
body |
对象 |
详细容器配额的对象,包括已用、实例数量的限制。 |
memory |
body |
对象 |
详细内存配额的对象,包括已用、内存数量的限制。 |
cpu |
body |
对象 |
详细 CPU 集配额的对象,包括已用、CPU 集数量的限制。 |
disk |
body |
对象 |
详细磁盘配额的对象,包括已用、磁盘的限制。 |
响应示例¶
{
"disk": {
"limit": 100,
"in_use": 0
},
"cpu": {
"limit": 20,
"in_use": 4
},
"containers": {
"limit": 40,
"in_use": 5
},
"memory": {
"limit": 51200,
"in_use": 2048
}
}
获取项目的默认配额
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
路径 |
字符串 |
多项目云中项目的 UUID。 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
usages (可选) |
查询 |
布尔值 |
是否在配额中显示正在使用中的资源 |
containers |
body |
对象 |
详细容器配额的对象,包括已用、实例数量的限制。 |
memory |
body |
对象 |
详细内存配额的对象,包括已用、内存数量的限制。 |
cpu |
body |
对象 |
详细 CPU 集配额的对象,包括已用、CPU 集数量的限制。 |
disk |
body |
对象 |
详细磁盘配额的对象,包括已用、磁盘的限制。 |
响应示例¶
{
"disk": 100,
"cpu": 20,
"containers": 40,
"memory": 51200
}
将项目的配额恢复到默认值
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
路径 |
字符串 |
多项目云中项目的 UUID。 |
响应¶
成功的 DELETE 操作的响应中没有主体内容。
管理配额类¶
获取、更新配额类
更新配额类的配额。如果请求的配额类在数据库中未找到,则 API 将创建该配额类。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
quota_class_name |
路径 |
字符串 |
配额类的名称 |
containers (可选) |
body |
int |
容器的数量 |
memory (可选) |
body |
整数 |
容器的内存大小,以 MiB 为单位。 |
cpu (可选) |
body |
float |
虚拟 CPU 的数量。 |
disk (可选) |
body |
int |
容器磁盘的千兆字节数 |
请求示例¶
{
"disk": 200,
"cpu": 30,
"containers": 50,
"memory": 102400
}
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
containers |
body |
对象 |
详细容器配额的对象,包括已用、实例数量的限制。 |
memory |
body |
对象 |
详细内存配额的对象,包括已用、内存数量的限制。 |
cpu |
body |
对象 |
详细 CPU 集配额的对象,包括已用、CPU 集数量的限制。 |
disk |
body |
对象 |
详细磁盘配额的对象,包括已用、磁盘的限制。 |
响应示例¶
{
"disk": 200,
"cpu": 30,
"containers": 50,
"memory": 102400
}
列出配额类配额
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
quota_class_name |
路径 |
字符串 |
配额类的名称 |
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
containers |
body |
对象 |
详细容器配额的对象,包括已用、实例数量的限制。 |
memory |
body |
对象 |
详细内存配额的对象,包括已用、内存数量的限制。 |
cpu |
body |
对象 |
详细 CPU 集配额的对象,包括已用、CPU 集数量的限制。 |
disk |
body |
对象 |
详细磁盘配额的对象,包括已用、磁盘的限制。 |
响应示例¶
{
"disk": 100,
"cpu": 20,
"containers": 40,
"memory": 51200
}