Day 22 透过程序快速布署云上资源

过往在进行云端部署时,有时候需要复制出多套一样的基础架构,例如包含VPC、VM、LoadBalancer、DB等等的架构,那在过往的做法,通常需要像是苦力般一个一个搭建好,顶多VM的部分可以通过Snapshot来进行复制,其余的部分都要进行人工设定。因此为了解决这样的问题,笔者决定要介绍ROS这样的服务,这个服务类似於AWS的CloudFormation,可以透过YAML、JASON等语言,来进行规模化、统一的基础建设部署

资源编排服务(Resource Orchestration Service,ROS)

ROS是阿里云提供的资源整合服务,通过以下三点组合而成:

  • Template (模板)
    使用JSON、YAML格式所撰写的设定模板,定义了需要何种资源、资源间的相互关系等相关设定
  • ROS (资源编排)
    核心服务,主要是通过模版来创建Stack、更新Stack,创建或更新完毕後,进行维护与异常侦测
  • Stack (资源栈)
    Stack是描述一组资源的表示方法,通过建立Stack,使用者可以整合资源,并进行统一管理,并且可以安排告警任务与扩增缩减资源

ROS元件关系示意图:
https://ithelp.ithome.com.tw/upload/images/20211004/20140353E1l2M3t7cA.jpg

实务操作ROS:

  1. 找到弹性编排中的资源编排
    https://ithelp.ithome.com.tw/upload/images/20211004/20140353FnE2P4iAs4.png

  2. 在资源编排中有相当多的引导工具,并且分为自定义以及预先定义的模板,可以根据自己的需求来点选,那这次笔者会先点选资源栈来进行创建
    https://ithelp.ithome.com.tw/upload/images/20211004/20140353ObQoSpmuZu.png

  3. 创建资源栈後,我会使用新资源来进行创建,因为选择使用现有资源会需要将目前正在运行的资源进行导入的动作
    https://ithelp.ithome.com.tw/upload/images/20211004/201403538WXyNkfv4I.png

  4. 选择示例模板,这次模板采用最经典的LNMP (Linux、Nginx、MySQL、PHP)
    https://ithelp.ithome.com.tw/upload/images/20211004/20140353QI2tWElNpZ.png

  5. 配置模板的参数,这边可以直接让我根据模板进行内容填写,而不用在YAML或者JSON的模板上填入参数
    https://ithelp.ithome.com.tw/upload/images/20211004/20140353J7xIHJhvjf.png

  6. 继续依照提示填入相关参数
    https://ithelp.ithome.com.tw/upload/images/20211004/20140353N81aN2lTpn.png

  7. 填选完成後,直接选择创建;若选择下一步则是有进阶设定的选项可以进行调整
    https://ithelp.ithome.com.tw/upload/images/20211004/20140353ZJK3kutho6.png

  8. 选择下一步後,这边可以启用以下设定,资源栈的策略、失败回滚措施、删除保护措施、RAM角色指派等等,但此次实作笔者皆保持预设
    https://ithelp.ithome.com.tw/upload/images/20211004/20140353Lsicdn38pd.png

  9. 创建後会进入此页面,按回上一页
    https://ithelp.ithome.com.tw/upload/images/20211004/20140353X7IPgUCcEf.png

  10. 等待一下,若创建成功则会显示绿色勾勾
    https://ithelp.ithome.com.tw/upload/images/20211004/20140353hCkrYCdcTc.png

  11. 点选到资源页面,可以确认此资源栈包含哪些资源
    https://ithelp.ithome.com.tw/upload/images/20211004/20140353xdQCINcchs.png

  12. 选择参数页面,可以查看在这个资源栈中的所有参数
    https://ithelp.ithome.com.tw/upload/images/20211004/20140353dwxgf0OS4f.png

  13. 资源偏差页面,若资源进行相关的设定与调整,这边会显示资源偏差,可以根据需求进行偏差检查并进行调整
    https://ithelp.ithome.com.tw/upload/images/20211004/20140353zHOwsYXVbQ.png

  14. 点选模板页面,可以看到目前资源的JSON、YAML档
    https://ithelp.ithome.com.tw/upload/images/20211004/20140353iI4TebnhYW.png

  15. 在这边可以看到模板页面的可视化架构图
    https://ithelp.ithome.com.tw/upload/images/20211004/20140353VZFp2daT10.png

  16. 根据输出的网页来查看是否创建成功
    https://ithelp.ithome.com.tw/upload/images/20211004/20140353SpArC3gftF.png

  17. 能够看到web页面,代表创建成功罗!
    https://ithelp.ithome.com.tw/upload/images/20211004/20140353gz3DdfNfrF.png

  18. 接下来来创建属於自己的模板,选择模板 - 我的模板
    https://ithelp.ithome.com.tw/upload/images/20211004/20140353NMRDfrCBvc.png

  19. 选择创建模板,并根据自己的需求来进行调整
    https://ithelp.ithome.com.tw/upload/images/20211004/20140353b1p5UqzRM4.png

  20. ROS也提供了一个很直觉化不错的服务:可以通过可视化编辑器来直接使用图形来完成架构图,并直接作为模板搭建,选择可视化编辑器
    https://ithelp.ithome.com.tw/upload/images/20211004/201403535vO4J6x0Ld.png

  21. 选择打开我的模板
    https://ithelp.ithome.com.tw/upload/images/20211004/20140353t6CS1DgQLn.png

  22. 模板展开的状态,可以进行编辑与更改,并搭配下方的YAML、JSON档来辅助设定,最终可以储存成新的模板
    https://ithelp.ithome.com.tw/upload/images/20211004/20140353hCyEXe0U35.png


<<:  理解 HTTP(三):透过 HTTP 上网安全吗?浅谈网路安全、HTTPS、中间人攻击

>>:  [17] 建立统一放资料的地方

Leetcode 挑战 Day 11 [242. Valid Anagram]

242. Valid Anagram 今天我们一起挑战leetcode第242题Valid Anag...

ASP.NET MVC 从入门到放弃(Day26)-PagedList分页套件介绍

接下来讲讲PagedList套件的使用方式 在前面有提到Entity Framework 使用的方式...

[Day 30] Reactive Programming - RSocket (Hello World) Part 2

前言 补充上一篇的DEMO,包含RSC的其他应用与测试的撰写,测试是透过之前介绍过Reactor提供...

Day 4:谈谈 docker 的 restart policy

经过昨天的一番努力,我们已经可以在服务无法存取的时候收到通知,那麽今天就来看看另一个议题:服务的重启...

[C 语言笔记--Day24] sleep

题目:https://pdos.csail.mit.edu/6.S081/2021/labs/uti...