使用 VMControl REST API 执行远程镜像部署生命周期管理(1)
- UID
- 1066743
|
使用 VMControl REST API 执行远程镜像部署生命周期管理(1)
开始之前了解您期望从本教程学到什么,以及如何充分利用本教程。
关于本系列IBM Systems Director VMControl 高级管理器简化了跨多种虚拟化技术和硬件平台的虚拟环境的管理。VMControl 是一个领先的多平台虚拟化管理解决方案,包含在各种 IBM Systems Director 版本中。VMControl 支持 3 种类型的接口(GUI、CLI 和 REST API)。本系列通过 REST 探讨 VMControl 资源生命周期。
本系列包含以下生命周期:
- 通过 VMControl REST API 执行虚拟服务器生命周期管理:介绍一个虚拟服务器的生命周期(创建、查看、编辑和删除)管理。其中着重强调了 VMControl Express Edition(VMControl 的免费部分)的功能。
- 通过 VMControl REST API 执行虚拟设备生命周期管理:介绍一个虚拟设备的生命周期管理。虚拟设备是一种操作系统镜像和元数据,能够远程安装(部署)在新的或现有的虚拟服务器上。
- 通过 VMControl REST API 执行镜像部署:介绍一种典型的部署流程,以及使用此部署流程创建的工作负载的生命周期管理。
- 通过 VMControl REST API 执行服务器系统池生命周期管理:介绍一个服务器系统池的生命周期管理及其虚拟服务器重新部署功能。服务器系统池是一组类似的物理服务器(主机) - 一个由 VMControl 实现的云。VMControl 选择要部署到哪个主机,并允许在服务器系统池内重新部署虚拟服务器。
本系列将通过 REST 帮助所有 VMControl 用户理解 VMControl 功能。本系列还将帮助理解资源生命周期的详细流程。
关于本教程本教程演示使用 VMControl REST API 实现的镜像部署生命周期。镜像部署是将操作系统安装在一个新的或现有的虚拟服务器的行为。部署的结果是一个封装了一个或多个虚拟服务器的工作负载。镜像部署的生命周期具有以下主要功能:
- 部署虚拟设备
- 列出工作负载及其成员
- 修改工作负载(修改属性和电源管理)
- 删除工作负载
图 1 使用不同 REST 请求组成的序列详细解释了镜像部署生命周期。
图 1. 镜像部署生命周期目标本教程的主要目的是帮助用户理解使用 VMControl REST API 的镜像部署生命周期。本教程将描述使用 IBM System Director VMControl 实现完整生命周期的过程。拥有镜像部署和 IBM Systems Director VMControl 的基本知识的用户可轻松掌握本教程。
前提条件阅读本教程之前,您应已在系统上安装了 IBM Systems Director V6.x.x。本教程假设您熟悉 IBM Systems Director 的使用。本文还假设您了解 JavaScript Object Notation (JSON),以及如何使用您最喜欢的 HTTP 客户端执行 HTTP GET、POST、PUT 和 DELETE 调用。
系统需求您的系统上应拥有以下组件。
- 一个已安装和配置的 IBM Systems Director
- 已激活的 IBM Systems Director VMControl 高级管理器
- 用于运行远程请求的 HTTP 客户端
列出要部署的自定义参数列出可用于部署的虚拟设备列出部署自定义参数的第一步是获取一个虚拟设备列表。虚拟设备是一种操作系统镜像和元数据的组合,能够被远程安装(部署)在新的或现有的虚拟服务器上。从该列表选择合适的虚拟设备并保存其对象 ID (OID) 属性的值。这个值将在下一个请求中使用。
备注:这些示例中的 URL 都将以 https://myserver:port 开头。您应将 myserver 替换为 VMControl 所在的系统的主机名或 IP 地址,并将端口号替换为安装 IBM Systems Director 时使用的安全端口。安全端口的默认值为 8422。
- URL
- https://myserver:port/ibm/director/rest/VMControl/virtualAppliances
- HTTP 方法
- 样例请求获取所有虚拟设备的列表:
GET https://myserver:port/ibm/director/rest/VMControl/virtualAppliances
清单 1. 样例响应表示形式1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| {
"uri": "/ibm/director/rest/VMControl/virtualAppliances",
"candidates": {"uri": "/ibm/director/rest/VMControl/virtualAppliances/candidates"},
"virtualAppliances": [
{
"name": "Capture GM",
"properties": {},
"uri": "/ibm/director/rest/VMControl/virtualAppliances/12927",
"oid": 12927
},
{
"name": "capture",
"properties": {},
"uri": "/ibm/director/rest/VMControl/virtualAppliances/18729",
"oid": 18729
}
]
}
|
列出部署目标下一步是使用来自第一个请求的虚拟设备的 OID 列出部署目标。目标可以是一个主机、服务器系统池或虚拟服务器。
当选择一个主机或服务器系统池作为目标时,VMControl 创建一个新虚拟服务器并将虚拟设备部署到该服务器上。当选择一个虚拟服务器时,VMControl 将虚拟设备部署到该虚拟服务器上。您需要从该列表中选择合适的目标并保存其 OID 属性的值。这个值将在下一个请求中使用。
- URL
- https://myserver:port/ibm/director/rest/VMControl/virtualAppliances/{virtualApplianceOID}/targets
- HTTP 方法
- 样例请求获取具有 OID 18729 的虚拟设备的目标列表:
GET https://myserver:port/ibm/director/rest/VMControl/virtualAppliances/18729/targets
清单 2. 样例响应表示形式1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| {
"targets": [
{
"name": "ip10-32-41-132_sles11SP1_10g",
"customization": {"uri": "/ibm/director/rest/VMControl/virtualAppliances/18729
/targets/13952/customization"},
"type": "virtualServer",
"system": {"uri": "/ibm/director/rest/VMControl/virtualServers/13952"},
"uri": "/ibm/director/rest/VMControl/virtualAppliances/18729/targets/13952",
"oid": 13952
},
{
"name": "sysPool1",
"customization": {"uri": "/ibm/director/rest/VMControl/virtualAppliances/18729
/targets/18997/customization"},
"type": "systemPool",
"system": {"uri": "/ibm/director/rest/VMControl/systemPools/18997"},
"uri": "/ibm/director/rest/VMControl/virtualAppliances/18729/targets/18997",
"oid": 18997
},
{
"name": "Server-8406-70Y-SN10E5A0A",
"customization": {"uri": "/ibm/director/rest/VMControl/virtualAppliances/18729
/targets/16223/customization"},
"type": "host",
"system": {"uri": "/ibm/director/rest/VMControl/hosts/16223"},
"uri": "/ibm/director/rest/VMControl/virtualAppliances/18729/targets/16223",
"oid": 16223
}
],
"uri": "/ibm/director/rest/VMControl/virtualAppliances/18729/targets"
}
|
获取部署到主机或现有虚拟服务器的自定义参数自定义参数是惟一的、特定于平台的属性,允许用户自定义正在执行的操作。自定义参数具有许多不同的类型,但都以一种类似的方式指定。使用来自上一步的操作系统 OID,对下面指定的 URL 创建一个 GET 请求。结果将是可用于部署虚拟设备的自定义属性列表。
这个示例显示了在部署到 Power Systems™ 服务器上的主机时的自定义参数。下面还有一个部署到服务器系统池的示例。没有提供部署到现有虚拟服务器的示例;部署到现有的虚拟服务器将包含部署到主机属性的一个与网络和存储相关的子集。
这些自定义参数包含完成部署到主机请求所需的所有信息。对于典型的部署,有一些针对处理器、内存、网络和存储的自定义参数。针对部署的自定义参数组合了来自为部署操作所选择的主机的信息,以及来自虚拟设备的开放虚拟机格式 (OVF) 描述符文件的属性。
下一个示例展示了一个典型的 Power Systems 环境中的部署的自定义参数。针对其他平台(比如基于内核的虚拟机 [KVM]、IBM z/VM® 等)的自定义参数将会有所不同。
备注:有关自定义参数的更多信息,请参阅 IBM Systems Director 6.3.x SDK 信息中心的 VMControl 编程主题章节。
- URL
- https://myserver:port/ibm/director/rest/VMControl/virtualAppliances/{virtualApplianceOID}/targets/{targetOIDs}/customization
- HTTP 方法
- 样例请求列出将具有惟一 ID 18729 的虚拟设备部署到具有惟一 ID 16223 的主机的自定义属性:
GET https://myserver:port/ibm/director/rest/VMControl/virtualAppliances/18729/targets/16223/customization
样例响应表示形式 列出部署到服务器系统池的自定义属性自定义参数是惟一的、特定于平台的属性,允许用户自定义正在执行的操作。自定义参数具有许多不同的类型,但都以一种类似的方式指定。使用来自上一步的操作系统 OID,对下面指定的 URL 创建一个 GET 请求。结果将是可用于部署虚拟设备的自定义属性列表。
当部署到一个服务器系统池时,VMControl 首先选择该服务器系统池中的理想主机作为部署目标。这个过程使用虚拟设备中的默认值来确定能最佳地支持部署任务的主机。对 virtualAppliances/{virtualApplianceOID}/targets/{targetOIDs}/customization 资源中描述的查询参数的使用可能会影响到该主机。有关此请求的有效查询参数的更多信息,请参阅 IBM Systems Director 6.3.x SDK 信息中心中的 virtualAppliances/{virtualApplianceOID}/targets/{targetOIDs}/customization 资源页面。
下面的示例展示了一个典型的 Power Systems 环境中的自定义参数。针对其他平台(比如 KVM、IBM z/VM® 等)的自定义参数将会有所不同。
- URL
- https://myserver:port/ibm/director/rest/VMControl/virtualAppliances/{virtualApplianceOID}/targets/{targetOIDs}/customization
- HTTP 方法
- 样例请求列出将具有惟一 ID 18729 的虚拟设备部署到具有惟一 ID 18997 的服务器系统池的自定义属性,其中得到的虚拟服务器将启用远程重启功能:
备注:这里指定的查询参数值不能在部署请求上重写。
GET https://myserver:port/ibm/director/rest/VMControl/ virtualAppliances/18729/targets/18997/customization?desiredCPU=3&remoteRestartCapable=true
样例响应表示形式
|
|
|
|
|
|