通过计算巢轻松部署ROS自定义资源
概述
阿里云资源编排服务ROS(Resource Orchestration Service)可以帮助您简化云计算资源的管理。遵循ROS定义的模板规范,您可以定义所需云计算资源的集合及资源间的依赖关系。ROS可以自动完成所有资源的创建和配置,实现自动化部署和运维。
ROS不仅能够编排阿里云资源,还支持自定义资源。使用自定义资源,您可以在模板中编写自定义配置逻辑。当您创建、更新(如果您更改了自定义资源)或删除资源栈时,ROS会运行该逻辑。
ROS自定义资源
服务可以把GitHub代码仓库(Python语言)构建和部署为ROS自定义资源,并输出ROS模块,方便后续使用。
本文向您介绍如何开通计算巢上的ROS自定义资源
服务,以及部署流程和使用说明。
计费说明
ROS自定义资源
服务在计算巢上的费用主要涉及:
- 对象存储OSS费用:构建好的代码包会放在OSS中。计费项涉及存储、流量和请求。
- 云效费用:会创建和执行流水线。基础版免费,但有限额。
- 函数计算:部署服务不产生此项费用,后续使用构建好的自定义资源或模块时会产生此项费用。计费项涉及函数调用、资源使用、公网出流量。首次开通前3个月有试用额度。
部署架构
如下图所示,计算巢会进行如下部署:
- 创建OSS存储桶、函数计算服务和函数、云效流水线等资源。
- 执行云效流水线:下载GitHub代码、构建代码包、上传到OSS存储桶、部署到函数计算函数。
- 适配函数计算函数为ROS自定义资源,把ROS自定义资源封装为ROS模块,供后续使用。
GitHub代码更新后,可以手动触发或通过GitHub Workflow自动触发云效流水线。
RAM账号所需权限
ROS自定义资源
服务需要对OSS、FC、RDC、ECS、RAM等服务的资源进行访问和创建操作,若您使用RAM用户创建服务实例,需要在创建服务实例前,对使用的RAM用户的账号添加相应资源的权限。添加RAM权限的详细操作,请参见为RAM用户授权。所需权限如下表所示。
权限策略名称 | 备注 |
---|---|
AliyunOSSFullAccess | 管理对象存储服务(OSS)权限 |
AliyunFCFullAccess | 管理函数计算(FC)服务的权限 |
AliyunRDCFullAccess | 管理云效(RDC)的权限 |
AliyunECSReadOnlyAccess | 只读访问云服务器服务(ECS)的权限 |
AliyunRAMFullAccess | 管理访问控制(RAM)的权限,即管理用户以及授权的权限。如果缺少角色AliyunFcDefaultRole、AliyunRDCDefaultRole则需要此权限创建角色。否则只需要AliyunRAMReadOnlyAccess权限。 |
AliyunROSFullAccess | 管理资源编排服务(ROS)的权限 |
AliyunComputeNestUserFullAccess | 管理计算巢服务(ComputeNest)的用户侧权限 |
部署流程
部署步骤
1.单击部署链接,进入服务实例部署界面,根据界面提示,填写参数完成部署。
2.在创建服务实例页,配置部署参数。
3.点击下一步:确认订单。
4.查看订单页,确保依赖检查全部正常,点击立即创建。
部署参数说明
参数组 | 参数项 | 示例 | 说明 |
---|---|---|---|
服务实例名称 | ros-custom-resource-test | 实例的名称 | |
地域 | 华北2(北京) | 选中服务实例的地域,建议就近选中,以获取更好的网络延时。 | |
代码配置 | GitHub代码仓库地址 | https://github.com/aliyun-computenest/quickstart-ros-custom-resource.git | 建议从示例代码仓库fork。 |
代码配置 | GitHub代码仓库分支 | main | 要使用的分支。 |
代码配置 | Python版本 | python3.9 | Python版本。 |
云效配置 | 云效企业 | 6542ffd18281** | 下拉选择或者创建。 |
云效配置 | 云效GitHub服务连接 | re6dh9rs** | 下拉选择或者创建。 |
自定义资源配置 | 自定义资源类名 | Example1 |
使用示例代码仓库或其fork的代码仓库构建自定义资源时,需要指定具体要使用的自定义资源类名。 自定义资源类具体指BaseCustomResource(位于common模块)的子类。 在示例代码仓库中有2个自定义资源类,Example1和Example2(位于custom_resource.example模块)。 指定模块使用的自定义资源类,后续使用模块时不可变。 |
自定义资源配置 | 模块名称 | MODULE::MyOrg::MyService::Example1 | 把自定义资源输出为ROS模块时,需要指定模块的名称。 |
自定义资源配置 | 资源动作执行超时时间 | 300 |
包括创建、更新和删除。 默认300秒。最小1秒,最大43200秒。 |
更多配置 | 名称前缀 | ros-custom-resource | 用于OSS存储桶、FC服务、云效服务连接、云效流水线。 |
更多配置 | OSS存储桶名称 | my-bucket |
用于存放构建好的自定义资源的代码包。 若不设置则会自动创建。 |
更多配置 | 是否删除OSS存储桶 | true |
删除OSS存储桶会删除里面的所有文件。 仅删除自动创建的OSS存储桶。 |
更多配置 | 流水线超时时间 | 5 |
云效流水线执行超时时间。 单位分钟,默认5分钟。 |
验证结果
1.查看服务实例。服务实例创建成功后,部署时间大约需要2分钟。部署完成后,页面上可以看到对应的服务实例。点击服务实例,进入服务实例详情页面。
2.查看服务实例详情页面中的实例信息,点击ModuleURL处链接(红框处),进入模块详情页面。
3.查看模块详情页面,选择模板示例标签页,点击创建资源栈,进入创建资源栈页面。
4.在创建资源栈页面点击创建按钮,进入资源栈详情页面。
5.在资源栈详情页面,等待几秒钟,点击刷新按钮,等待资源栈创建完成。创建完成后,选择输出标签页。如果结果类似下图,则表明自定义资源模块部署成功,后续可以在其他模板中使用。
同步仓库代码到自定义资源模块
查看服务实例详情页面中的实例信息,点击PipelineURL处链接(蓝框处),可以访问云效流水线。
如果仓库中的代码更新了,您可以点击运行按钮运行流水线以更新自定义资源模块。
您也可以配置GitHub Workflow,在代码更新后触发云效流水线,实现自动进行同步。
自定义资源模块使用示例
查看服务实例详情页面中的实例信息,SampleTemplate处的模板为自定义资源模块的使用示例。您可以参考使用,也可以直接复制使用。
帮助文档
- ROS模块
- ROS自定义资源
- ALIYUN::ROS::CustomResource
- 资源编排ROS之自定制资源(基础篇)
- 资源编排ROS之自定制资源(多云部署AWS篇)
- 资源编排ROS之自定制资源(多云部署Terraform篇)
通过计算巢轻松部署ROS自定义资源的更多相关文章
- 开发函数计算的正确姿势 —— 使用 ROS 进行资源编排
前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算 ...
- 在VC项目中使用自定义资源
这是我看到的比较实用性的技巧,分享给大家 一.前言 在VC环境中除了我们所常用的Dialog.Menu和Bitmap等标准资源类型之外,它还支持自定义资源类型(Custom Resource),我们自 ...
- 脚本安装Rocky版OpenStack 1控制节点+1计算节点环境部署
视频安装指南请访问: http://39.96.203.138/wordpress/document/%E8%84%9A%E6%9C%AC%E5%AE%89%E8%A3%85rocky%E7%89%8 ...
- 2017.2.28 activiti实战--第五章--用户与组及部署管理(三)部署流程及资源读取
学习资料:<Activiti实战> 第五章 用户与组及部署管理(三)部署流程及资源读取 内容概览:如何利用API读取已经部署的资源,比如读取流程定义的XML文件,或流程对应的图片文件. 以 ...
- delphi中使用自定义资源的方法
如果要在delphi中使用自定义资源文件*.res文件,比如一个光标,此时可以采用下列步骤: 1,创建包含相应的资源文件,这里是创建一个包含自定义光标的res文件. 2,在主窗体的pas文件中加入编译 ...
- 通过自定义资源扩展Kubernetes
原文链接:通过自定义资源扩展Kubernetes
- 使用RVM轻松部署Ruby环境
Ruby用得不多,但发现有业务需要部署指定的版本和插件.起初找了一些Fedora的src.rpm重新打包,发现依赖问题比较多,最终还是费劲的把el6的包编出来了. 不巧今天又有业务要求el5的包,原本 ...
- Hexo博客部署codingNet静态资源无法加载
用Hexo搭建的个人博客,部署到github的pages的话,好像百度搜索不到.所以在国内的codingNet的pages服务也一起部署一下,这样方便国内国外搜索引擎收录进来.具体部署教程我是参考这里 ...
- (13)处理静态资源(自定义资源映射)【从零开始学Spring Boot】
上面我们介绍了Spring Boot 的默认资源映射,一般够用了,那我们如何自定义目录? 这些资源都是打包在jar包中的,然后实际应用中,我们还有很多资源是在管理系统中动态维护的,并不可能在程序包中, ...
- SpringMVC 部署项目静态资源文件访问问题
问题:采用SpringMVC 部署项目后程序加载或用浏览器访问时出现类似的警告,2011-01-19 10:52:51,646 WARN [org.springframework.web.servle ...
随机推荐
- vlunhub笔记(二)earth
(一)信息收集 开始扫描目标机ip,目标机ip:192.168.241.135 arp-scan -l 直接访问目标 ip 192.168.241.135 发现400报错 只能先去考虑扫一下信息 ...
- IE浏览器不支持TextDecoder()的问题
IE浏览器不支持TextDecoder()方法,因此在进行Arrbuffer转string或中文时,出现未定义的错误.通过网上查找方法,可以通过引用第三方库进行解决. github地址:https:/ ...
- CentOS7.9中的Glibc2.17源码编译升级到Glibc2.31
一.准备工作 1.配置yum阿里镜像源 查看yum当前配置的仓库,如果yum配置的不是阿里云源,请配置阿里云源. yum repolist all 验证是否能ping通阿里云 # 如果不能ping通可 ...
- 论文解读(KD-UDA)《Joint Progressive Knowledge Distillation and Unsupervised Domain Adaptation》
Note:[ wechat:Y466551 | 可加勿骚扰,付费咨询 ] 论文信息 论文标题:Joint Progressive Knowledge Distillation and Unsuperv ...
- Jmeter逻辑控制器Switch Controller的用法
一.概述 类似编程语言中的switch函数,Switch Controller根据给定的值n(可使用变量)选择执行其下的 第n+1个子节点. 作用:Switch Controller通过给该控制器中的 ...
- 《SQL与数据库基础》16. 锁
目录 锁 全局锁 表级锁 表锁 元数据锁 意向锁 行级锁 行锁 间隙锁 临键锁 本文以 MySQL 为例 锁 锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的计算资源(CPU. ...
- 运用手机运营商二要素Api接口,守护您的账户和隐私,让您安心使用!
随着移动互联网的普及,我们的生活离不开手机,手机成为了我们生活中不可或缺的一部分.但是随着移动支付的普及,手机支付在我们的生活中也变得越来越重要.手机支付是一种方便快捷的支付方式,但是也存在一些安全隐 ...
- PivotGridControl自定义行数据的统计公式
我们在使用PivotGridControl进行数据统计的时候,用时候需要在不同的行使用不同的汇总公式的情况,本文就是为了说明怎么实现此功能,如下图说明 数据源: 注意:此时数据列指定的SummaryT ...
- 修改经过Spring Gateway的Json数据
背景 使用Spring Cloud Gateway作为网关时经常会需要对报文内的json数据进行修改,但是目前看到的实现方法看起来都很复杂,这里提供一种使用Spring官方提供的ModifyReque ...
- Ds100p -「数据结构百题」61~70
61.P5355 [Ynoi2017]由乃的玉米田 由乃在自己的农田边散步,她突然发现田里的一排玉米非常的不美. 这排玉米一共有 \(N\) 株,它们的高度参差不齐. 由乃认为玉米田不美,所以她决定出 ...