IBM UrbanCode Deploy with Patterns (UCDwP)是全堆栈的环境管理和部署解决方案,支持用户为多种云设计、部署和更新全堆栈环境。它通过提供的云环境能够自动的加速应用开发,用户可以在提供的图像或文本编辑器中塑造,供应,更新云环境。有了这个编辑器,用户就能创建出一个模型然后供应给多个云,甚至不同类型的云(1)。
IBM UrbanCode Deploy with Patterns 通过跟 IBM UrbanCode Deploy(UCD) 的集成,提供了一个跟 UrbanCode Deploy 端到端的交付渠道,这样用户可以直接从 UCDwP 交付到 UCD,反之亦然。
IBM UrbanCode Deploy with Patterns 提供了以下几种功能:
回页首
IBM UrbanCode Deploy with Patterns 的组成部分包括一个 Design Server, 一个或多个的 Heat 引擎。
一个典型的安装拓扑图包含以下几个组件(2)
图 1.产品架构
这个 server 提供了用户访问的 web 接口,包括编辑设计图和权限控制的接口
这个 Engine 是安装带有 IBM 扩展的 OpenStack Heat 引擎。 它管理着云的基础设施,从云里供应的资源,以及更新、删除这些资源
IBM UrbanCode Deploy 提供了 component 相关的资讯
这个服务是 UCDwP 的一个组件,它提供了可用云的资源信息
这个服务提供了连接 OpenStack 的认证令牌
云管理着所有的虚拟资源
它提供了 Design server 的许可证支持。
以上这些组件构成了基本的产品架构,当然如果不安装独立的引擎而选用扩展现有的引擎,也是可以的。
下表展示了 Design Server 及服务的默认端口(3)。
图 2.Design Server 的默认端口
回页首
IBM UrbanCode Deploy with Patterns 目前仅支持安装在 RHEL V6.0 及以上的版本。
下载 Design Server 与 Engine 的安装包,执行 shell 安装脚本,根据命令行提示一步步进行安装,安装过程中有提示输入 OpenStack Server 与 IBM UrbanCode Deploy Server 的信息,所以可以事先安装好这两个产品 Server,然后再安装 UCDwP。
这里就不详细描述如何安装 UCDwP 的过程了。
回页首
安装完 UCDwP 之后,需要跟 OpenStack 与 IBM UrbanCode Deploy 集成使用。
先讲如何与 OpenStack 集成。
用默认的用户名密码(ucdpadmin/ucdpadmin)登陆产品首页,点击 Setting-> Users 来创建认证域。点击 Create New Realm 按钮,输入相关信息。
图 3.创建认证域
Name:认证域名字,比如 newRealm
Type:选择 OpenStack Identity Service, 当然也允许通过另一种类型 LDAP or Active Directory 来连接 OpenStack.
Identity URL: 输入 OpenStack Identity Service URL
Admin Username/Password: 输入登录 OpenStack 的用户名密码
Admin Tenant:输入 admin 用户的 Tenant
Orchestration Engine URL: 指定 Heat Engine 的 URL。这里不要勾选使用默认的 Orchestration Engine ,因为这个 Engine 必须包含 UCDwP 的定制类型,所以要使用安装的 UCDwP Engine。如果默认的 Engine 也满足定制类型条件的话,才可以勾选。
上述信息输入完成后,可以点击 Test Connection 来测试连接是否成功,然后保存认证域。
保存完成之后,点击 Import User 来导入这个认证域的所有用户,可以看到所有 OpenStack 这个认证域里的用户都成功的被导入进来了,同时 Design Server 中也创建了 OpenStack 上的 Cloud project 和 Cloud 连接。
图 4.从 OpenStack 导入的用户
OpenStack 用户导入到 UCDwP 后,必须把这些用户加入特定的 team 里,然后赋予他们一定的角色和权限可以去创建/编辑设计图。 比如下图,把 admin 加入到 team 中后,赋予 admin 用户 Admin 角色。这里也可以把 OpenStack 其他的用户添加进来。
图 5.用户加入 team 并赋予权限
同时把 OpenStack 的 cloud project 也添加到 team 中来,比如下图添加了 2 个 project 进来。
图 6.添加 Cloud project 到 team 中
好了,至此 OpenStack 与 UCDwP 的集成完成了,用户可以退出当前用户(ucdpadmin) 然后用 OpenStack 的用户名密码登录 UCDwP,然后选择相应的 Cloud project 来执行作业。
图 7.用 OpenStack 用户登录 UCDwP
回页首
UCDwP 与 UCD 的集成相对简单。
点击 Settings - > System Settings, 可以看到以下界面。如果使用 Token 的方式进行认证,用户只要指定 UCD Server 的 URL 以及在 UCD 上创建的 Token,拷贝过来粘贴在这里即可。UCDwP 同时支持使用用户名密码的方式跟 UCD 进行集成,即输入 UCD Server URL, Username, Password 也可以连接成功。
图 8.System Setting
回页首
UCDwP 最核心的功能就是通过云部署的应用环境,在图像或文本编辑器中创建/编辑设计图,然后供应给 UCD 使用,加快应用程序的开发。
首先要创建一个 Blueprint。在 Blueprint 视图里,点击'New...' 按钮,输入名字并选择 Blueprint 类型,空文件就创建好了,同时画面右边的列表列出了构造 Blueprint 需要的组件(比如 Component, Images, Network etc...),用户可以拖拽这些组件到图像编辑器或是文本编辑器来更新设计图。相对来说图像编辑器更加直观一点。
构建一个简单的 Blueprint 需要 Component、Image、Network、Storage、Secutiry 等,拖拽这些元素到图像编辑器里并组合成下面的结构。
图 9.简单的 Blueprint 结构
保存设计图,然后点击'Provision..' 按钮,输入相关信息后,点击 Provision, 这样就把 Blueprint 供应到 UCD 中去部署。
图 10.供应 Blueprint
我们可以在 Environment 视图里看到 Provision 的进度和结果。
图 11.Environment 视图
在 UCD 中我们也可以看到正在部署的 Blueprint。
图 12.在 UCD 中部署
同时我们也可以看到在 OpenStack 上也创建了相应的 instance。
图 13.OpenStack 上新建的 Instance
回页首
利用 UrbanCode Deploy with Patterns,通过在云中利用 OpenStack 定义的开放式标准实现基础架构自动化来优化持续的交付吞吐量,使用户可以通过改进协作、生命周期管理和云便携性来快速设计、部署和复用环境。