Loading
close

创建编排

time 更新时间:2022-06-28 17:39:09

资源编排为用户提供五种编排创建方式,分别是 从零开始创建基于系统推荐模版构建从保存模版中导入从应用中心创建 以及 Yaml文件创建

从零开始创建:手动创建方式为用户最常用的编排创建方式,用户可以在可视化画布中通过拖拽的方式完成资源拓扑的编排、创建、配置等操作。拖拽的资源依赖平台设定的逻辑关系进行感应式关联,无须用户主动判定资源逻辑关系。

基于系统推荐模版构建:当用户对平台资源、业务资源不太熟悉时,可选择该创建方式,用户可以使用系统推荐模版完成资源拓扑的编排、创建以及配置等操作。对于熟悉平台的用户来说,可以迅速配置所需资源架构,减少编排时间。此外,用户进入画布后对模版资源的编辑、修改不会影响到原模版。

从保存模版中导入:用户在创建模版时,可临时保存模版的状态,并可通过该方式再次选择该模版,完成资源拓扑的编排、创建、配置等操作。模版在保存状态中也不会占用系统资源,极大地方便了用户的资源管理,同时通过该功能也可自定义模版,以涵盖多样性业务场景,满足用户需求。

从应用中心创建:当您通过可视化编排创建生成一个应用后,您可以将其再次导入可视化编排中,生成为一个模版、修改为一个新的应用或者是应用版本。避免了您重复构建一个复杂的应用拓扑,极大简化您的步骤。

Yaml文件创建:对于熟悉资源编排或习惯使用脚本命令的专业用户,平台提供了Yaml文件创建方式,用户通过使用该创建方式,选择本地已有的Yaml格式文件,能够实现快速部署自定义资源集群。对于存在依赖关系的多个脚本文件,该创建方式也支持同时上传多个依赖文件,解决文件依赖关系复杂的问题。

1.从零开始创建

步骤一:选择创建方式

  1. 在可视化编排页面点击 创建模版,跳出如下弹窗,选择 从零开始创建,点击确定。

./images/createstack.png

点击确定后,用户将进入可视化画布,如下界面。

./images/Heat-canva1.png

步骤二:拖拽资源

在画布的左侧,您可以看到在可视化编排中您可以编排使用的资源,包括IaaS/PaaS层资源,在画布右侧为资源配置区和配额提示区。当资源拖入画布时,可连接部分,资源组件 icon 将高亮提示,资源间无法创建连接关系时,系统也会跳出提示信息。

以下,我们以创建一个云主机为例。

  1. 点击左侧资源 外部网络,选择您需要的外部网络(该资源展示数量由用户实际创建的外部网络决定),如 public_net,将其拖拽到画布中。在右侧资源配置区,您可以重新调整您所选的外部网络资源。

  2. 点击左侧资源 网络,选择 路由器,将其拖拽到画布中(外部网络下)。在右侧资源配置区,我们已为您设置默认值,但您也可以根据需求,修改路由器的名称,选择可用域。

  3. 点击左侧资源 网络,选择 私有网络,将其拖拽到画布中(路由器下)。在右侧资源配置区,您可以使用默认值设置。(警告:当画布中有两个及两个以上的私有网络时,需修改其中的网络地址,否则无法创建成功。)

  4. 点击 计算与存储,选择 云主机,将其拖拽到画布中(私有网络下),在右侧资源配置区,您可以使用默认值,但需填写云主机密码或SSH key。(由于在编排的模版Yaml文件中云主机的密码是以明文展现的,在同一项目下,会被其他用户访问查看,因此建议您采用SSH Key方式,保证安全性。)

    注意:您也可以编辑云主机的自定义脚本,例如当您需要编排两个云主机时,云主机2需要访问云主机1的ip地址,您可以在云主机2的自定义脚本中添加如下代码。

    str_replace:
    template: |
      #!/bin/bash -v
      echo password
      echo ip
    params:
      password: test
      ip: {get_attr: [server_0, first_address]}
    

    注意:自定义脚本中不支持包含中文字符和“$”特殊字符,否则导入应用中心后,该应用安装时将出错。

  5. 当您的云主机需要被外部网络访问时,您可以点击 网络,选择 公网IP,设置您需要的带宽大小。

点击右侧 配额提示 您可以查看到画布中资源所占用配额,以及当前项目中资源已使用配额,若某个资源的已使用数量加上画布中新添加数量总和超出配额上限,则该资源下方的数据条将变为红色,此时您只能保存模版,无法部署或导入应用中心,待调整配额上限后方能部署和导入应用中心。

步骤三:保存/部署/导入应用中心

完成资源配置后,您可选择保存模版、保存并部署以及保存并导入应用中心三种状态。

  1. 点击画布上方 保存,此时跳出弹窗如下。

./images/Heat-save1.png

保存模版页面底部有三种操作, 仅保存立即部署 以及 导入应用中心,系统默认 仅保存。(警告:三种状态一次仅能执行一种操作。)

  • 仅保存:当用户选择 仅保存 状态时,该编排文件将只保存为模版,不进行任何其它操作。
  • 立即部署:当用户选择 立即部署 时,该编排文件将在保存为模版的同时,进行部署操作。
  • 导入应用中心:当用户选择 导入应用中心 时,该编排文件将在保存为模版的同时,导入到应用中心。
  1. 若您选择 立即部署,此时页面将跳出部署弹窗,如下页面。

./images/Heat-deploy1.png

输入您的 编排名称,若勾选出错回滚,意味着当您创建编排失败时,该资源编排会自动删除

  1. 若您选择 导入应用中心 ,此时页面将跳出导入应用中心弹窗,如下页面。

根据页面选项,填写应用 名称、选择应用 分类,添加应用 标签(您在输入框中输入您需要添加的标签,回车后将自动生成标签),填写应用 描述,填写 作者 信息,上传应用 logo

./images/Heat_app1.png

点击 下一步,当该应用存在多个版本时,您需要填写其版本名称,如1.0.1, 版本描述 是对当前版本信息的描述,与应用 描述 不冲突。若您需要为您的应用或应用中的服务提供快捷访问入口时,您可在 应用访问服务访问 下分别添加选项。(警告:您选择的应用/服务端口号应与您选择安全组端口范围匹配。) 使用说明 是对面向使用该应用用户的操作方法说明。

./images/Heat_app2.png

点击 下一步,当切换语言环境时,您填写的资源名称、描述信息若需同步切换语言时,则需在此页面中填写对应的翻译内容。此选项为非必填项,用户可选择不填。

点击 确定 后,该模版文件将被导入到应用中心,用户可以在 应用中心 中查看并管理。

步骤四:查看编排

当您完成上述操作后,您可以返回 可视化编排编排部署 页面查看您保存或部署的编排文件。若您仅保存编排文件,可在 可视化编排 页面,继续进行 部署模版导入应用中心 操作。

备注:可视化编排资源编排限制

  1. 空白视图中可以拖动外部网络、共享网络、私有网络以及云主机。当拖动外部网络、共享网络、私有网络进入视图时,其他资源只能遵循依赖关系进行添加,每种资源只能添加一个。当空白视图中拖入云主机时,系统会自动拖入外部网络、路由器以及私有网络。
  2. 共享网络下只能连接云主机,可以添加多个。
  3. 外部网络下只能连接路由器,可以添加多个。
  4. 路由器下只能连接私有网络,可以添加多个。
  5. 云主机下只能连接云硬盘以及公网IP,云硬盘可以添加多个,公网IP仅限一个。
  6. 公网IP可以添加到已经连接外部网络路由器下私有网络的云主机上。
  7. 编排文件保存为模版后,若此时模版资源中的配置项例如云主机镜像、可用域被删除或不可用时,会导致模版部署、导入应用中心失败。
  8. 当画布中只存外部网络或共享网络时,不支持保存、部署、导入应用中心。

2.基于系统推荐模版构建

步骤一:选择创建方式

在可视化编排页面点击 创建模版,跳出如下弹窗,选择 基于系统推荐模版构建,点击确定。

点击确定后,用户将进入可视化画布。

./images/CreateFromSystemTemplate.png

步骤二:选择系统推荐模版

用户可以选择 共享网络云主机外部网络云主机,根据不同场景需求,选择不同类型系统推荐模版,同时右侧也会出现模版相应的可视化图形以及模版描述,方便用户对模版理解,做出合适选择。如下以共享网络云主机为例。

  1. 选择 共享网络云主机 后,点击确定,进入可视化画布,如下页面。

./images/Heat-system2.png

2.此时画布上的呈现资源为已选择的 共享网络云主机 资源,用户可对该模版进行编辑部署,增加 云主机云硬盘 数量,或更改资源配置,操作如上文中的 从零开始创建

警告:

  • 您基于系统推荐模版构建的编排文件,保存或部署后不会影响原来的系统推荐模版
  • 如果您使用的是从V5升级到V6的系统模板,需要修改为新的bfv方式。

步骤三:保存/部署/导入应用中心

完成资源配置后,您可选择保存模版、保存并部署以及保存并导入应用中心三种状态。操作如上文 从零开始创建

步骤四:查看编排

当您完成上述操作后,您可以返回 可视化编排编排部署 页面查看您保存或部署的编排文件。若您仅保存编排文件,可在 可视化编排 页面,继续进行 部署模版导入应用中心 操作。

3.从保存模版中导入

步骤一:选择创建方式

在可视化编排页面点击 创建模版,跳出如下弹窗,选择 从保存模版中导入,点击确定。

./images/CreateFromSavedTemplate.png

点击确定后,用户将进入可视化画布,如下界面。

./images/Heat-savetemplate2.png

步骤二:选择已保存模版

用户从左侧已保存模版中列表中选择模版,右侧则会出现与模版对应的可视化资源图,我们以第一个模版为例,选中该模版后,点击 创建

此时画布呈现的资源为用户所选的模版资源,用户可对该模版进行编辑部署,增加 云主机云硬盘 等数量,或更改资源配置,操作如上文中的 从零开始创建

警告:

如果您使用的是从V5升级到V6的已保存模板,需要修改为新的bfv方式。

步骤三:保存/部署/导入应用中心

完成资源配置后,您可选择保存模版、保存并部署以及保存并导入应用中心三种状态。

操作如上文中的 从零开始创建

步骤四:查看编排

当您完成上述操作后,您可以返回 可视化编排编排部署 页面查看您保存或部署的编排文件。若您仅保存编排文件,可在 可视化编排 页面,继续进行 部署模版导入应用中心 操作。

4.从应用中心创建

步骤一:选择创建方式

在可视化编排页面点击 创建模版,跳出如下弹窗,选择 从应用中心创建,点击确定。

./images/CreateFromAPPCenter.png

步骤二:选择应用及版本

在页面中选择您需要引用创建的应用并点击,页面切换后,选择您需要的当前应用的某个版本。在下方画布中,您可以看到当前选择版本的应用拓扑图。点击 创建编排 您将进入画布中。

./images/applicationinheat.png ./images/version.png

警告:仅当应用及其版本是通过可视化编排创建生成时,才可被选择导入到画布中。

在画布中,您可以对该模版进行拖拽、更改资源等,具体操作如上文中的 从零开始创建

步骤三:保存/部署/导入应用中心

完成资源配置后,您可选择保存模版、保存并部署以及保存并导入应用中心三种状态。

弹窗页面如下,选择为当前应用的版本后,仅需要填写版本信息。

./images/exporttoversion.png ./images/exportversion2.png ./images/exportversion3.png

导入版本功能限制条件如下:

1.该模版是从应用中心导入创建。

2.该模版仅支持第一次在画布中编辑时,保存选择导入版本,退出画布后,只能导入为新应用。

3.导入的模板为V5升级到V6的应用中心模板时,需要先修改为新的bfv方式。

步骤四:查看编排

当您完成上述操作后,您可以返回 可视化编排编排部署 页面查看您保存或部署的编排文件。若您仅保存编排文件,可在 可视化编排 页面,继续进行 部署模版导入应用中心 操作。

5.上传 Yaml 文件

步骤一:选择上传 Yaml 文件

可视化编排 页面切换至 编排部署 页面,在 编排部署 页面点击 上传 Yaml 文件

点击后,用户将进入 上传 Yaml 文件 页面,如下。

./images/Heat_yaml1.png

步骤二:选择上传 Yaml 方式

当用户点击 模版文件 时,选择上传文件类型,如 文件直接输入链接

  • 文件:选择该种创建方式,用户可直接上传Yaml格式文件。点击 浏览,选择上传文件,文件上传成功后,即可创建该编排资源。当系统检查通过后,用户可在编排列表查看并管理。
  • 直接输入:选择该种创建方式,用户可直接在输入框中输入 Yaml 格式模版,点击确定后,即可创建该编排资源。当系统检查通过后,用户可在编排列表中查看管理。
  • 链接:选择该创建方式,用户在输入框中输入文件的url地址,即可创建该编排资源,该方式适用于当您的Yaml文件为在线文档时。当系统检查通过后,用户可在编排列表中查看管理。

步骤三:填写部署信息

此处,以 文件 上传方式为例,从本地选择一个Yaml格式文件,若该文件存在嵌套文件时,选择一个主文件作为入口文件,其余文件作为嵌套文件上传,嵌套文件需要在模版文件中定义。

入口模版文件(resource_group.yaml)

heat_template_version: 2013-05-23

description: Simple template to deploy a group of instances

parameters:

  number_of_servers:
    type: number
    description: how many servers to spawn
    default: 3

resources:
  servers:
    type: OS::Heat::ResourceGroup
    properties:
      count: {get_param: number_of_servers}
      resource_def:
        type: server.yaml

嵌套文件1(server.yaml)

heat_template_version: 2013-05-23

description: Simple template to deploy a single instance

resources:

  configure_web_server:
    type: OS::Heat::SoftwareConfig
    properties:
      group: ungrouped
      config: {get_file: configure_web_server.sh}

  my_instance:
    type: OS::Nova::Server
    properties:
      image: TestVM
      flavor: 1-512-20
      admin_pass: 1
      user_data: {get_resource: configure_web_server}
      user_data_format: RAW
      networks:
        - network: share_net

嵌套文件2(configure_web_server.sh)

#!/bin/sh


cat > /etc/wsgi.py<< EOF
'''
Created on Jan 19, 2017

@author: wangbo
'''
from wsgiref.simple_server import make_server
import socket


def get_ip_address():
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.connect(("8.8.8.8", 80))
    ip = s.getsockname()[0]
    s.close()
    return ip

_ip = 'From: %s\r\n' % get_ip_address()


def hello_world(env, start_response):
    """a simple wsgi application"""
    if env['PATH_INFO'] != '/':
        start_response('404 Not Found', [('Content-Type', 'text/plain')])
        return ['Not Found\r\n']
    start_response('200 OK', [('Content-Type', 'text/plain')])
    return ['Hello, World!\r\n', _ip]

my_server = make_server('0.0.0.0', 8090, hello_world)
print "Serving on port 8090..."
my_server.serve_forever()

EOF
iptables -I INPUT -p TCP --dport 8090 -j ACCEPT
python /etc/wsgi.py &

然后,选择 环境变量 文件,确定环境变量。

环境变量:当您的Yaml文件为一个固定模版时,你的所有可变变量可以存放在环境变量文件中来实现模版部署,环境变量文件中的参数需要与模版文件中定义的参数保持匹配。您可以选择将您的环境变量文件直接上传文件或者直接输入完成。例如:当您需要上传一个用于创建云主机的Yaml文件时,其中云主机的flavor和镜像为变量,您可以定义一个环境变量文件如下,当创建不同flavor或镜像的文件时,您只需修改环境变量文件即可。

环境变量文件(env.yaml)

parameters:
 flavor: 1-512-20
 image: CentOS-6.5-minimal

点击 下一步,此时界面将会读取上传的Yaml文件中的参数并展示出来,用户可以在此页面上做更改。同时,填写该编排资源的名称,勾选是否 出错回滚,如下图。

./images/yaml2.png

编排信息填写完成后,点击 创建编排,该编排资源将出现在编排列表中。

此篇文章对你是否有帮助?
没帮助
locked-file

您暂无权限访问该产品