通过命令行工具使用阿里云资源编排服务

是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。

通过命令行工具使用阿里云资源编排服务

资源编排服务(ROS)支持用户通过模板文件定义所需的云资源,描述资源间的依赖关系和配置详情,并自动完成资源的创建和配置,以达到自动化部署、运维等目的。

作为一种自动化运维工具,阿里云ROS屏蔽了底层资源操作的复杂性,使得对基础设施资源的管理通过简单的代码就可以实现。

命令行工具

除了访问控制台使用ROS功能,用户还可以安装命令行工具。
>> 命令行工具源码地址
>> 命令行工具安装包下载地址

安装

命令行工具目前支持如下环境:

  • Linux, MacOS, Windows
  • Python 2.7

输入如下命令安装:

pip install aliyun-ros-cli

之后输入 ros + 具体的命令 访问资源编排服务。

  • Windows下如果提示 /usr/bin/python: bad interpreter: No such file or directory,请将Python根目录下Scripts/ros的第一行改为 #!/usr/bin/env python

配置

初次使用 ros 命令时,需要配置用户的阿里云验证信息,请根据提示键入您的 AccessKeyId 、 AccessKeySecret 和默认的 RegionId 。这些信息将作为默认配置供后续命令使用。

使用

ROS命令行工具目前支持如下功能:

  • 堆栈相关:

    • 创建堆栈 create-stack
    • 删除堆栈 delete-stack
    • 更新堆栈 update-stack
    • 预览堆栈 preview-stack
    • 废弃堆栈 abandon-stack
    • 列出堆栈列表 list-stacks
    • 描述堆栈信息 describe-stack
  • 资源相关

    • 描述资源信息 describe-resource
    • 列出资源列表 list-resources
    • 查看资源类型 resource-type
    • 查看某类资源详情 resource-type-detail
    • 查看某类资源模板 resource-type-template
  • 模板相关

    • 获取某堆栈的模板 get-template

      • 验证模板 validate-template
  • 其他

    • 查询区域信息 list-regions
    • 列出堆栈事件 list-events

以创建堆栈为例,用户需要预先准备模板文件或模板的URL。下面演示创建VPC堆栈。

模板文件

template.json:

{
  "ROSTemplateFormatVersion" : "2015-09-01",
  "Description": "One VPC instance",
  "Parameters" : {
    "CidrBlock": {
      "Type": "String",
      "AllowedValues": ["192.168.0.0/16", "172.16.0.0/12", "10.0.0.0/8"],
      "Default": "192.168.0.0/16"
    },
    "VpcName": {
      "Type": "String",
      "Description": "The VPC name",
      "MinLength": 2,
      "MaxLength": 128,
      "ConstraintDescription": "[2, 128] English or Chinese letters"
    }
  },
  "Resources" : {
    "Vpc": {
      "Type": "ALIYUN::ECS::VPC",
      "Properties": {
        "CidrBlock": {"Ref": "CidrBlock"},
        "VpcName": {"Ref": "VpcName"}
      }
    }
  },
  "Outputs": {
    "VpcId": {
      "Value" : {"Fn::GetAtt": ["Vpc", "VpcId"]}
    },
    "VRouterId": {
      "Value" : {"Fn::GetAtt": ["Vpc", "VRouterId"]}
    },
    "RouteTableId": {
      "Value" : {"Fn::GetAtt": ["Vpc", "RouteTableId"]}
    }
  }
}

创建

模板中有两个参数,使用 --parameters 指定,形如key=value,多个参数用,隔开,中间不要有空格。

如果不指定 --region-id,将使用默认配置文件中的RegionId。

ros create-stack --region-id cn-beijing --stack-name test_ros_cli --template-url ./template.json --parameters VpcName=testVPC,CidrBlock=10.0.0.0/8

创建成功后,看到返回的 StackId:

[Succeed]
Id                  :  ********-****-****-****-************
Name                :  test_ros_cli

如果创建失败,则会有对应的错误提示。

命令详情

您可以通过如下方式查看各个命令的具体使用方式:

  • -h,--help 命令:

    如输入 `ros create-stack -h` 可以看到创建堆栈的具体参数说明。
  • PyPi帮助文档
  • 本文附件《ROS CLI 使用说明》

高级设置

修改默认配置

用户可以通过 ros set-userdata 命令修改默认配置,包含如下参数:

命令 功能
--key-id [KEY_ID] 默认的 ALIYUN Access Key ID
--key-secret [KEY_SECRET] 默认的 ALIYUN Access Key Secret
--region-id [REGION_ID] 默认的 region-id
--json-indent [JSON_INDENT] JSON输出时的缩进
--debug {'False', 'True'} 是否开启Debug输出
  • 开启Debug模式后,会输出每一条命令使用的认证信息、接收到的 Response 详情等。

指定临时配置文件

使用 ros --config FILE_PATH 可以指定当前命令的配置文件,将使用该配置文件的信息执行命令。

命令行自动补全

目前提供对bash环境的命令参数自动补全:

  • 将附件中的ros_completion放置于/etc/bash_completion.d/目录下
  • source /etc/bash_completion.d/ros_completion

之后使用 ros 命令时,可以按下 TAB 键查看提示或者自动补全参数。

  • Windows下由于缺少bash环境,无法使用命令行补全功能

输出格式

ROS命令行工具默认使用友好的方式展现命令的执行结果,用户可以通过 ros --json 强制使用 JSON 格式显示结果。JSON的缩进由配置文件中的 JSON_INDENT 指定。

是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。
上一篇:Sqoop导入到hdfs


下一篇:Android官方开发文档Training系列课程中文版:调用相机之控制相机