可自由选择你喜欢的语言管理阿里云资源

简介: 开放平台正式支持Pulumi,方便你的云资源管理

Pulumi

Pulumi是一款支持以熟悉的编程语言,用基础架构即代码、声明式的方式来管理阿里云资源的开源工具,阿里云是第一家与 Pulumi 集成的云厂商,开放平台现已全面支持Pulumi。Pulumi-alicloud目前已覆盖41款产品,基本满足大量客户的自动化上云需求。欢迎大家来阿里云开放平台体验!

logo

Pulumi六大核心优势

一、混合云支持
开发运维人员可以使用同一个工具来管理、部署云资源、OpenStack资源及Kubernetes集群。

二、多语言支持
支持常用的编程语言来编写声明式配置,而不需要额外学习厂商特定的模板语言。

三、声明式编程
Pulumi以可重复、可预测的方式定义、预配和配置资源,减少因人为因素导致的部署和管理错误。声明式编程让您只需要关心最终的资源状态和无需关心过程。能够使用同一配置,创建相同的环境。

四、基础架构即代码
可以用代码来管理维护资源。允许保存基础设施状态,从而使您能够跟踪对系统(基础设施即代码)中不同组件所做的更改,并与其他人共享这些配置。

五、利用成熟的IDE支持开发
Pulumi采用成熟的编程语言来进行配置,因此您能更方便地利用IDE的语法高亮、语法检测和测试功能

六、统一工具
您可以使用同一种语言工具进行资源的自动化管理和应用开发。例如您可以通过PulumiPython创建数据库资源,并用Python语言创建数据库表等操作。

快速入门

  • 任务描述

新建一个Pulumi项目
部署一台Linux服务器
Linux服务器位于指定的区域和可用区,使用专用网络并配置好安全组规则。

  • 前置要求

Python 版本为3以上
安装virtualenv
已经根据文档完成Pulumi安装

  • 新建一个Pulumi项目

1、使用Pulumi new --dir 在本地建一个工作目录。根据提示选择合适的模板。

2、往下翻页,选择alicloud-python模板

1

3、在界面提示下输入:项目名称、项目描述、堆栈名称、阿里云区域(默认cn-beijing)完成后,界面提示项目创建成功。可以使用提示的命令开始第一个部署。

4、确认项目创建后,本地目录下生成的文件。其中,
__main__.py 文件用于定义部署配置的。Pulumi.demo-dev.yaml记录了该堆栈的公共配置,如:区域。
Pulumi.yaml记录项目元信息:项目名称、描述、语言。
requirements.txt 文件定义了运行依赖的python模块。

5、根据提示进入工作目录
cd project-demo

6、开启独立python环境(如果服务器只有一个python版本可跳过此步骤)
virtualenv -p python3 venv source venv/bin/activate

7、安装Pulumi和Pulumi-alicloud模块
pip3 install -r requirements.txt

  • 部署一台Linux服务器

1、定义部署文件
__main__.py内容如下:

import pulumi
import pulumi_alicloud as alicloud

vpc = alicloud.vpc.Network("my-vpc",cidr_block="172.16.0.0/12")
az = "cn-hangzhou-i"
sg = alicloud.ecs.SecurityGroup("pulumi_sg",description="pulumi security_groups",vpc_id=vpc.id)
vswitch = alicloud.vpc.Switch("pulumi_vswitch",availability_zone=az,cidr_block="172.16.0.0/21",vpc_id=vpc.id)
sg_ids= [sg.id]
sg_rule= alicloud.ecs.SecurityGroupRule("sg_rule",security_group_id=sg.id,ip_protocol = "tcp", type= "ingress",nic_type    = "intranet",port_range="22/22",cidr_ip="0.0.0.0/0")

instance=alicloud.ecs.Instance("ecs-instance2",availability_zone=az,instance_type ="ecs.t6-c1m1.large" , security_groups =sg_ids,image_id="ubuntu_18_04_64_20G_alibase_20190624.vhd",instance_name ="ecsCreatedByPulumi2",vswitch_id=vswitch.id,internet_max_bandwidth_out = 10)

代码导入Pulumi_alicloud模块,并定义了专用网络、vswitch、安全组、安全组规则,最后定义了ecs实例。

2、使用Pulumi命令行来使配置生效。
运行Pulumi up

2

在应用我们的配置前,先查看执行计划,选择details。
确认无误后,选择“yes”执行我们的配置,如下图显示5个资源已经创建。

3

3、也可以点击permalink到Pulumi 官网页面进行查看。

4

恭喜您,成功使用Pulumi创建阿里云的服务器!

总结

未来,采用基础架构即代码来管理云基础架构和资源是一种趋势,但额外学习厂商特定的模板语言,造成学习成本的上升,现在,Pulumi阿里云插件 完美地解决了这个问题,可以让用户更轻松高效的管理阿里云上的资源。了解更多Pulumi详情,点击前往

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
存储 自然语言处理 数据库
平台组成-资源服务
资源服务是平台一个核心服务,另一个是用户服务,用户服务下篇介绍。
|
4月前
|
存储 运维 资源调度
云资源的使用规范是什么?
【5月更文挑战第9天】云资源的使用规范是什么?
91 1
|
3月前
|
XML 搜索推荐 数据格式
资源描述框架的用途及实际应用解析
**RDF(资源描述框架)**是一种用于机器理解网络资源的框架,使用XML编写。它通过URI标识资源,用属性描述资源,便于计算机应用程序处理信息。RDF在语义网上促进信息的确切含义和自动处理,使得网络信息可被整合。RDF语句由资源、属性和属性值组成。RDF文档包括`<rdf:RDF>`根元素和`<rdf:Description>`元素,后者用`about`属性标识资源。RDF还支持容器(如`<Bag>`、`<Seq>`和`<Alt>`)来描述集合。RDFS是RDF的扩展,提供描述类和属性的框架,而达布林核心是一组预定义属性,用于描述文
94 0
|
4月前
|
弹性计算 运维 监控
资源管理-高效管理多账号的标签规范
云上多账号资源管理解决方案,通过标签进行资源人财务管理,管理第一步就是需要进行标签的规范定义及确认,为后续管理、运维、分账、分权、监控等场景做数据准备。如何快速进行多账号标签实践?如何通过持续改进规范持续建设?形成飞轮为管理提效。如何解决增量资源标签不规范问题?如何解决存量资源标签不规范检测及修复?通过产品能力快速实现标签标准使用。
57330 1
|
自然语言处理 数据挖掘 Unix
R 语言是什么、R 的优势、资源|学习笔记
快速学习 R 语言是什么、R 的优势、资源。
157 1
R 语言是什么、R 的优势、资源|学习笔记
GameMakerStudio学习资源
GameMakerStudio学习资源
88 0
|
人工智能 JSON 前端开发
学习资源
大家好,推荐一些学习资源给大家 当然大家可以留言评论自己发现的优秀资源地址
|
自然语言处理 数据挖掘 大数据
R 语言是什么、R 的优势、资源 | 学习笔记
快速学习 R 语言是什么、R的优势、资源
151 0
|
消息中间件 JSON 弹性计算
资源编排ROS之自定制资源(基础篇)
本文介绍资源编排ROS的基础知识配置。
1905 1
资源编排ROS之自定制资源(基础篇)
|
IDE 程序员 C#
一点C++学习资源
工具篇 Clion,大名鼎鼎的Jetbrains公司的C/C++ 集成开发环境,你可能没听说过Jetbrains,但是你肯定听说过Intellij IDEA。
1829 1