Pulumi是一个开源东西,您能够运用根底设施即代码(IaC)和声明性方法,运用熟悉的编程言语办理阿里云资源。阿里云是第一家与Pulumi交融的云厂商,咱们的开放渠道现在为Pulumi提供全面支撑。Pulumi-alicloud可用于提供41个阿里云产品。该解决方案能够满足许多大客户对自动化迁移到云端的需求。咱们欢迎您试用阿里云开放渠道。

IaC工具之Pulumi

Pulumi六大中心优势

以下是Pulumi六大中心优势的罗列。正如您所看到的,Pulumi可能是您在阿里云上布置和办理资源的首选东西。

  1. 混合云支撑:您能够运用相同的东西来办理和布置云和OpenStack资源以及Kubernetes集群。

  2. 多言语支撑:您能够运用通用编程言语来编写声明性装备,而不用学习特定于供货商的模板言语。

  3. 声明性编程:Pulumi以可重复和可猜测的方法界说、规定和装备资源,以削减因为人为因素造成的布置和办理错误。声明式编程答应您描绘根底结构的希望状况,而不是构造根底结构的强制过程。您能够运用相同的装备来创立相同的环境。

  4. 根底设施即代码(IaC):您能够运用代码来办理和保护资源。Pulumi存储自己的根底结构当时状况的副本,这样您就能够盯梢对系统中不同组件所做的更改,并与其他用户共享这些装备。

  5. 集成开发环境(IDE)支撑:Pulumi答应您运用杂乱的编程言语来编写根底结构和运用程序装备。这使您能够访问IDE函数,如语法高亮显现、检测和测试。

  6. 统一东西:您能够运用相同的言语东西进行自动化资源办理和运用程序开发。例如,您能够运用Pulumi Python SDK创立数据库实例并履行操作,例如用Python言语创立数据库表。

快速开端

要开端创立Pulumi项目,您需求遵循以下过程。

方针:

咱们将创立一个Pulumi项目,然后布置一个装置在Linux上的阿里云弹性核算服务(ECS)实例。实例将布置到您选择布置它的任何区域和区域。该实例将装备安全组规矩,该实例的网络将是阿里云虚拟私有云(VPC)。

要求:

关于本教程,您将需求Python 3或更高版别。您还需求装置virtualenv。你需求装置Pulumi。您能够参考本文档,装置Pulumi,以取得一些帮助。

程序:

要装置Pulumi项目,您需求遵循以下过程:

1.运转Pulumi new–dir指令在本地核算机上创立一个作业目录。依照提示选择恰当的模板。

2.转到下一页,选择alicloud-python模板。

IaC工具之Pulumi

3.按提示输入项目名称、说明、堆栈名、阿里云区域(默认为cn-beijing)。然后,呈现一条音讯,指示项目现已创立。您能够运转提供的指令来发动第一次布置。

4.承认项目创立后在本地目录中生成的文件。具体情况如下:

  • __ main__.py文件用于界说布置装备,pulumi.demo-dev.yaml文件记录堆栈的公共装备,例如区域。

  • YAML文件记录项目的元数据,包含项目名称、描绘和言语。

  • 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的ECS实例,请遵循以下过程:

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模块并界说VPC、VSwitch、安全组、安全组规矩,最终界说ECS实例。

2.运用Pulumi指令行界面(CLI)运用装备。运转Pulumiup指令。

IaC工具之Pulumi

在运用装备之前,检查履行方案并选择详细信息。承认设置后,选择是运转装备。下图显现现已创立了五个资源。

IaC工具之Pulumi

3、您也能够在Pulumi官网上点击Permalink检查履行结果。

IaC工具之Pulumi

现在,如果您现已依照上面的过程进行了操作,那么您现已运用Pulumi创立了一个阿里云ECS实例。

总结

将根底设施作为代码(IaC)来办理云根底设施和资源将是未来的一大趋势。可是,需求学习额外的特定于供货商的模板言语会增加学习本钱。现在,Pulumi阿里云插件解决了这一问题,让用户更快捷、高效地办理阿里云中的资源。

本文正在参与「金石方案 . 分割6万现金大奖」