使用ROS CDK进行资源编排

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: ROS CDK(Cloud Development Toolkit)是ROS推出的代码开发工具,帮助您使用少量代码实现复杂模板的资源编排效果。

使用ROS CDK进行资源编排


1. 安装CDK CLI

阿里云ROS CDK(Cloud Development Toolkit)是资源编排(ROS)提供的一种命令行工具,帮助您使用多种编程语言定义云资源。您无需使用繁琐的JSON或YAML模板语法,即可使用ROS CDK完成资源的创建和配置,实现自动化部署及运维。

💡 执行如下操作前,请选“确认开启实验”。


如何使用ROS CDK?有两种方法可使用ROS CDK工具:

1)您可以直接使用Cloud Shell(直接点击即可)。

💡首次进入Cloud Shell,可能会提醒“挂载存储空间”,这里我们不需要挂载,直接点击“暂不创建”即可。

Cloud Shell内置了ROS CDK工具包,目前我们在使用前需要升级下node版本到14,可在Cloud Shell里输入如下命令进行升级:

a)安装volta,volta可方便管理多版本的node:

curl https://get.volta.sh | bash

因为网络原因这一步可能稍久,请耐心等待,如果失败可多次尝试。

b)安装完成后需要重新加载下profile,更新当前系统PATH,否则无法找到volta命令:

. ~/.profile

b)通过volta安装node 14:

volta install node@14

✅ 至此可以进入下一小节


2)自行安装ROS CDK工具

您也可以在自己的云服务或本地安装ROS CDK工具,安装方法可参考官方文档安装ROS CDK


2. 查看CDK功能

当ROS CDK安装完成后,执行以下命令,查看ROS CDK功能列表。更多ROS CDK命令的含义及使用方法,详情请参见ROS CDK功能列表

ros-cdk

返回结果如下,您查看到ROS CDK功能列表。

3. 使用CDK创建VPC

本文以TypeScript语言为例,为您介绍如何使用ROS CDK为资源栈创建VPC。

1)初始化工程。

每个ROS CDK应用都要求创建在一个独立的工程目录下,且该应用需要使用独立工程目录中模块的依赖项。所以在创建应用之前,需要先创建一个工程目录并进行初始化。

执行以下命令,创建工程目录并初始化工程。

mkdir demo
cd demo
ros-cdk init --language=typescript --generate-only=true

返回结果如下,表示您已成功创建工程目录并初始化工程。

2)配置阿里云凭证信息。

2.1)执行以下命令,配置阿里云凭证信息。

ros-cdk config

2.2)根据界面提示,输入endpoint、defaultRegionId、accessKeyId和accessKeySecret配置信息。

💡注意:这里我们需要用到AccessKey的AK/SK,同时这个AK需要有创建VPC的权限,这里我们采用这里创建的主AK。

配置内容说明:

endpoint:ROS服务地址。默认值为https://ros.aliyuncs.com

defaultRegionId:ROS资源栈部署的地域。默认值为cn-hangzhou。

Authenticate mode:鉴权方式。本示例的鉴权方式为AccessKey,您需要输入accessKeyId和accessKeySecret。

ros-cdk config
endpoint(optional, default:https://ros.aliyuncs.com):
defaultRegionId(optional, default:cn-hangzhou):
[1] AK
[2] StsToken
[3] RamRoleArn
[4] EcsRamRole
[0] CANCEL
Authenticate mode [1...4 / 0]: 1
accessKeyId:************************
accessKeySecret:******************************
 ✅ Your cdk configuration has been saved successfully!

3)安装依赖

3.1)修改package.json文件,添加ECS依赖包。

{
  "name": "demo",
  "version": "0.1.0",
  "bin": {
    "demo": "bin/demo.js"
  },
  "scripts": {
    "build": "tsc",
    "test": "jest"
  },
  "devDependencies": {
    "@types/jest": "^25.2.1",
    "@types/node": "10.17.5",
    "typescript": "^3.9.7",
    "jest": "^25.5.0",
    "ts-jest": "^25.3.1",
    "ts-node": "^8.1.0",
    "babel-jest": "^26.6.3",
    "@babel/core": "^7.12.9",
    "@babel/preset-env": "7.12.7",
    "@babel/preset-typescript": "^7.12.7",
    "@alicloud/ros-cdk-assert": "^1.0.0"
  },
  "dependencies": {
    "@alicloud/ros-cdk-core": "^1.0.10",
    "@alicloud/ros-cdk-ecs": "^1.0.8"   
  }
}

3.2)执行以下命令,安装依赖。

npm install

返回结果如下,表示依赖安装成功。

4)创建资源栈

4.1)修改lib/demo-stack.ts文件,添加VPC。

import * as ros from '@alicloud/ros-cdk-core';
import * as ecs from '@alicloud/ros-cdk-ecs';
export class DemoStack extends ros.Stack {
  constructor(scope: ros.Construct, id: string, props?: ros.StackProps) {
    super(scope, id, props);
    new ros.RosInfo(this, ros.RosInfo.description, "This is the simple ros cdk app example.");
    // The code that defines your stack goes here
    new ecs.Vpc(this, 'vpc-from-ros-cdk', {
      vpcName: 'test-ros-cdk',
      cidrBlock: '10.0.0.0/8',
      description: 'This is ros cdk test'
   });
  }
}

4.2)执行以下命令,生成模板文件。

ros-cdk synth --json

返回结果如下,表示成功生成模板文件。

4.3)执行以下命令,创建资源栈。

ros-cdk deploy --sync

返回结果如下,表示成功创建资源栈。

4.4)执行以下命令,查询资源栈。

ros-cdk list-stacks

返回结果如下,您可查看到资源栈相关信息。

5)删除资源栈。

5.1)执行以下命令,删除资源栈。

ros-cdk destroy --sync

5.2)根据界面提示, 输入Y选项并执行命令,确认删除。

返回结果如下,表示成功删除资源栈。

实验链接:https://developer.aliyun.com/adc/scenario/68ca3cf56fa6491d84571e837606d4d6

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
相关文章
|
2月前
|
弹性计算 运维 数据处理
资源编排ROS之模块:实现模板代码复用(进阶篇)
资源编排ROS模块能够实现模板代码复用。支持输入输出、公共模块、版本管理、共享模块等功能。在使用场景上,除了对基础设施模块化外,还可作为配置、数据处理工具或资源包装器。
433 6
|
2月前
|
弹性计算 运维 安全
资源编排ROS之模块:实现模板代码复用(基础篇)
ROS是阿里云的资源管理服务,通过模板定义和编排引擎自动化部署云资源。模块是可预测、重用、追溯和管理的资源集合,分为公共和自定义类型。它们简化了复杂配置,如安全组,可在多个模板和账号中复用。创建模块后,可在资源栈中引用,实现标准化部署。
56 1
|
5月前
|
弹性计算 人工智能 测试技术
从零开始使用 ROS CDK 搭建云上解决方案
本文介绍了如何使用阿里云ROS资源编排服务快速部署和管理云资源。主要内容包括:1. 工具准备:安装ROSCDK,选择合适的代码编辑器和IDE,安装AI代码生成插件等。2. 环境准备:创建工程目录,进入虚拟环境,配置阿里云凭证信息,配置ROSCDK。3. 代码编写:根据文档描述,编写ROS代码来创建VPC、VSwitch、ECS等资源。4. 运行代码:执行ROS代码,创建ECS实例并部署FTP服务。总体来说,本文通过简单的步骤,让小白也能快速上手使用ROS资源编排服务,实现自动化部署和管理阿里云资源。
224 1
|
7月前
|
弹性计算 运维 持续交付
基于资源编排服务(ROS)实现存量资源的IaC化
如果您需要一种简单而有效的方法来管理大量云资源并实现自动化部署,推荐使用阿里云的资源编排服务ROS(Resource Orchestration Service)。ROS能够将存量资源转化为IaC(基础设施即代码),通过资源场景创建、模版生成和资源栈导入等功能,实现资源的统一管理和自动化部署。这不仅提高了资源管理的效率,还降低了成本。如果您想了解如何更轻松地管理云资源并加速部署流程,ROS是一个值得深入了解的工具。
81 1
|
存储 弹性计算 运维
资源编排ROS之资源场景
# 背景 [资源编排服务](https://help.aliyun.com/document_detail/28852.html)(Resource Orchestration Service, 简称ROS)是阿里云提供的一项简化云计算资源管理的服务。您可以遵循ROS定义的模板规范编写资源栈模板,在模板中定义所需的云计算资源(例如ECS实例、RDS数据库实例)、资源间的依赖关系等。ROS的编排引擎
209 0
资源编排ROS之资源场景
|
弹性计算 JSON JavaScript
ROS CDK | 云上资源自动化部署新模式
使用 ROS CDK 自动化部署云资源
1101 0
|
移动开发 自然语言处理 运维
使用资源编排ROS一键批量开通阿里云产品
## 背景 如果你使用过阿里云的云产品/服务,你会发现其中有不少需要手动点击“开通”。比如初次使用 SLS 日志服务时,就会进入下面的界面: ![sls-enable-service.jpg](https://ata2-img.oss-cn-zhangjiakou.aliyuncs.com/561d3fc5d9805e79a62a41a9094019c3.jpg) 作为个人用户,以手
1688 0
使用资源编排ROS一键批量开通阿里云产品
|
存储 JSON 弹性计算
减少运维工作量,如何通过 ROS 轻松实现资源编排新方式
以“基础设施即代码”的理念代替“重复劳动”。
20353 0
减少运维工作量,如何通过 ROS 轻松实现资源编排新方式
|
弹性计算 关系型数据库 RDS
资源编排服务(ROS)简介
ROS模板库:https://github.com/aliyun/ros-templates/tree/master/ResourceTemplates
1356 0
资源编排服务(ROS)简介
|
弹性计算 JSON 运维
资源编排ROS之更改集
背景 资源编排服务(Resource Orchestration Service, 简称ROS)是阿里云提供的一项简化云计算资源管理的服务。您可以遵循ROS定义的模板规范编写资源栈模板,在模板中定义所需的云计算资源(例如ECS实例、RDS数据库实例)、资源间的依赖关系等。ROS的编排引擎将根据模板自动完成所有资源的创建和配置,实现自动化部署及运维。 当您需要更新资源栈时,在实施之前了解您的更改
652 0

相关产品

  • 资源编排
  • 推荐镜像

    更多