可自由选择你喜欢的语言管理阿里云资源
Pulumi
阿里云是第一家与 Pulumi 集成的云厂商,开放平台现已全面支持Pulumi,Pulumi是一款支持以熟悉的编程语言,用基础架构即代码、声明式的方式来管理阿里云资源的开源工具。Pulumi-alicloud目前已覆盖41款产品,基本满足大量客户的自动化上云需求。欢迎大家来阿里云开放平台体验!
Pulumi六大核心优势
一、混合云支持
开发运维人员可以使用同一个工具来管理、部署云资源、OpenStack资源及Kubernetes集群。
二、多语言支持
支持常用的编程语言来编写声明式配置,而不需要额外学习厂商特定的模板语言。
三、声明式编程
Pulumi以可重复、可预测的方式定义、预配和配置资源,减少因人为因素导致的部署和管理错误。声明式编程让您只需要关心最终的资源状态和无需关心过程。能够使用同一配置,创建相同的环境。
四、基础架构即代码
可以用代码来管理维护资源。允许保存基础设施状态,从而使您能够跟踪对系统(基础设施即代码)中不同组件所做的更改,并与其他人共享这些配置。
五、利用成熟的IDE支持开发
Pulumi采用成熟的编程语言来进行配置,因此您能更方便地利用IDE的语法高亮、语法检测和测试功能
六、统一工具
您可以使用同一种语言工具进行资源的自动化管理和应用开发。例如您可以通过PulumiPython创建数据库资源,并用Python语言创建数据库表等操作。
快速入门
- 任务描述
新建一个Pulumi项目
部署一台Linux服务器
Linux服务器位于指定的区域和可用区,使用专用网络并配置好安全组规则。
- 前置要求
Python 版本为3以上
安装virtualenv
已经根据文档完成Pulumi安装。
- 新建一个Pulumi项目
1、使用Pulumi new --dir
在本地建一个工作目录。根据提示选择合适的模板。
2、往下翻页,选择alicloud-python
模板
3、在界面提示下输入:项目名称、项目描述、堆栈名称、阿里云区域(默认cn-beijing)完成后,界面提示项目创建成功。可以使用提示的命令开始第一个部署。
4、确认项目创建后,本地目录下生成的文件。其中,
__main__.py 文件用于定义部署配置的。Pulumi.demo-dev.yaml记录了该堆栈的公共配置,如:区域。
Pulumi.yaml记录项目元信息:项目名称、描述、语言。
requirements.txt 文件定义了运行依赖的python模块。
5、根据提示进入工作目录cd project-demo
6、开启独立python环境(如果服务器只有一个python版本可跳过此步骤)
source venv/bin/activate
7、安装Pulumi和Pulumi-alicloud模块
pip3 install -r requirements.txt
- 部署一台Linux服务器
1、定义部署文件
__main__.py内容如下:
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
在应用我们的配置前,先查看执行计划,选择details。
确认无误后,选择“yes”执行我们的配置,如下图显示5个资源已经创建。
3、也可以点击permalink到Pulumi 官网页面进行查看。
恭喜您,成功使用Pulumi创建阿里云的服务器!
总结
未来,采用基础架构即代码来管理云基础架构和资源是一种趋势,但额外学习厂商特定的模板语言,造成学习成本的上升,现在,Pulumi阿里云插件 完美地解决了这个问题,可以让用户更轻松高效的管理阿里云上的资源。了解更多Pulumi详情,点击前往。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
初识《关键信息基础设施网络安全保护基本要求》:基于等保,高于等保
写在前边 等保2.0刚刚实施不久,接踵而来的是《关键信息基础设施网络安全保护基本要求》。当前网络安全无论是技术还是国家战略,都需要我们持续关注并加强管理力度(请大家挺住,后边的标准还多呢)。打算开一个有关关保的系列,也不能算解读吧,毕竟还没有实施和实践,因此系列就暂定为《关保笔记》。目的就是给运维、管理人员一点思路,初步去理解关保,知道如何满足关保要求,如果配合企业和监管做好关键信息基础设施的网络安全保护工作。本篇作为开篇概述,后续更新将会以《关保笔记》(二)、(三)…为标题。 正文 1. 背景 2017年是我国关键信息基础设施(Critical Information Infrastructure,CII)保护工作取得显著进展的一年。《网络安全法》、《国家网络空间安全战略》等提出建立关键信息基础设施安全保护制度;中央网信办发布《关键信息基础设施安全保护条例(征求意见稿)》,明确了关键信息基础设施的具体范围,并提出进一步的安全保护要求。 2017年以来,我国关键信息基础设施安全保护标准体系开始布局。为确保标准体系建设的合理性、科学性,全国信安标委组织多次专家研讨会,厘清了关键信息基础设...
- 下一篇
Kubernetes - 4.2 Workload - ReplicationController
什么是ReplicationController ReplicationController确保Pod的副本数量始终是在可用的状态。如果Pod过多时将删除多余的数量,较少时则创建新的Pod。 ReplicationController操作 通过yaml资源定义清单创建kubectl apply -f rc-demo.yamlapiVersion: v1kind: ReplicationControllermetadata: name: nginxspec: replicas: 3 # 副本数量,通过此字段来伸缩Pod的数量 selector: # 标签选择器,匹配相同的Pod标签进行管理Pod app: nginx template: # Pod模板 metadata: name: nginx labels: app: nginx spec: containers: - name: nginx image: nginx:1.16 检查ReplicationController的状态kubectl describe rc/nginx 查看Pod副本数量kubectl get pods 删...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果