云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

_百度云盘群链接_便宜的

小七 141 0

云.ca为Terraform开发自定义DevOps友好提供程序

这是clement Contini的一篇客座帖子,他是云.ca. 云.ca是HashiCorp技术合作伙伴,为有数据主权要求的公司提供加拿大区域云基础设施。云.ca可以作为独立的IaaS平台工作,也可以是混合或多云解决方案的一部分。这个云.ca团队已经为HashiCorp Terraform开发了一个专门构建的提供程序,使得在云.ca平台。Terraform是HashiCorp提供的用于基础设施管理的众多开源工具之一。它为部署复杂的IaaS环境提供了一种对DevOps友好的方法,从而提高了灵活性和灵活性,特别是在涉及到对现有部署架构的重用时。您可以下载云.ca此处提供程序:https://github.com/cloud-ca/terraform-provider-cloudca。apachecloudstack作为云.ca。虽然它有一个通用的Terraform提供者(我们在这里写过),但我们知道我们可以通过开发自己的平台为用户提供更多的价值。这个定制的提供者更符合我们平台的设计和特定的部署选项,这意味着用户可以自动化云.ca-通过其地形配置的特定能力。例如,我们简化了CloudStack项目的使用,这个参数在使用通用CloudStack提供程序时需要重复提供。另一个好处是,如果云.ca权限允许。另一方面云.caprovider不能用通用的CloudStack提供程序来使用"environment"资源控制"管理"层。您甚至可以在每个基于用户的角色/环境的详细信息窗体中为每个新的角色/环境指定访问权限。»配置云.ca环境让我们看看为云.ca提供程序,位于以下存储库中:https://github.com/cloud-ca/blog_post_cloudca_terraform_提供者。此配置将创建一个环境和一个具有3个网络的专有网络。一个网络将用于前端机器,一个用于后端机器,最后一个用于公用事业机器。所有可用变量都收集在一个名为"的文件中变量.tf"并表示可应用于配置的所有自定义。以下是文件摘录:#提供程序凭据变量"api_key"{}#一般变量变量"is_production"{}变量"前端计数"{}变量"后端计数"{}#环境变量"服务代码"{}变量"组织代码"{}变量"环境名称"{}变量"环境描述"{default="用于%s工作负载的环境"}变量"admin"{type="列表"}变量"只读"{type="列表"}变量"数据库端口"{默认值=[3306]}可变"web端口"{默认值=[80443]}要开始使用此配置,请创建一个文件"地形.tfvars"中没有默认值的所有变量"变量.tf". 这可能是API密钥、组织希望添加到环境中的用户列表、自述文件中指定的必需属性列表或要重写的变量。例如,如果要打开端口8080而不是80和443,只需将其添加到"地形.tfvars"网络端口=[8080]以及指定角色访问:管理员角色=["clement","mike"]只读_角色=[]现在看看"主.tf". 它配置了一个"cloudca_environment",其中包含"admin_role"和"read_only_role"中的用户列表。这些角色必须在地形.tfvars"文件(未提供默认值,您需要使用自己组织中的用户)。默认"cloudu"环境{服务代码="${变量服务代码}"组织代码="${变量组织代码}"名称="${变量环境名称}"description="${format("${变量环境描述}", "${变量环境名称}")}"管理员角色=${变量管理}"]只读\u角色=${变量只读}"]}这也意味着如果你有几个相似的环境,比如说生产环境和开发环境,您可以对这两个环境使用相同的配置,只需将变量"admin"和"read帴only"更改为适当的值,以限制对生产环境的访问,但启用对开发环境的完全访问。"中的必需变量之一"地形.tfvars"是布尔值"是"是生产"。设置为true时,ACL规则更严格:SSH访问仅从实用程序VM打开前端是白名单访问数据库网络,其他一切都被拒绝例如,以下代码处理数据库网络的ACL规则创建:resource"cloudca_network_acl_rule""db_allow_in_端口"{环境_id="${cloudca_环境.default.id}"计数="${var.is_生产? 可变前端计数值*长度(变量数据库端口):1}"规则编号="${10+计数.索引+1}"action="允许"协议="TCP"start_port="${element"(变量数据库端口, 计数.索引%长度(变量数据库端口))}"end_port="${element"结束(变量数据库端口, 计数.索引%长度(变量数据库端口))}"cidr="${var.is_生产?"${element(cloudca_instance.web_实例.*私人电话,计数.索引)}/32":"0.0.0.0/0"}"traffic_type="入口"network_acl_id="${cloudca_网络_acl.db_acl.id}"}根据环境是否用于生产,ACL的CIDR将有所不同:对于开发环境,开放到0.0.0.0/0,从用于生产的web网络实例中提取。这些端口也是可配置的,从作为变量提供的列表中选择。»集成云.ca平台工具这个云.caTerraform provider直接利用平台的内置功能,例如活动日志。使用时执行的任何操作云.caTerraform provider将显示在活动视图中。如果部署示例配置,您将看到执行的不同操作:我们正在不断改进和发展云.ca地形提供者。即将到来的一个近期路线图项目将提供从现有配置导出地形配置的能力云.ca环境。这样,如果环境是手动构建的,但用户希望轻松地复制它(就基础设施布局而言),那么只需按一个按钮,获得Terraform配置,并使用它创建一个类似的环境就可以了。总之,我们认为Terraform是一个很好的工具云.ca:它使用强大的开源软件实现自动化。它支持半自动伸缩,在某种意义上,当您的需求发生变化时,通过对资源定义的简单调整,可以很容易地更改同一类型的实例的数量,从而使水平扩展变得简单而快速。它使用户能够自动部署其环境和相关联的用户权限。它使用户能够标准化他们的部署并在他们之间重用配置。它可以用在云.ca例如,在不同的区域部署相同的环境,以帮助创建地理上不同的场景或灾难恢复场景。作为补充,应用程序配置可以使用Chef或Docker之类的工具进行编排,允许轻松部署容器,并使其成为部署云本地应用程序的理想工具。HashiCorp Terraform是为任何应用程序提供任何基础设施的产品。Terraform提供了代码、云平台管理和自助服务基础设施等基础设施。要了解更多关于HashiCorp Terraform的信息,请访问https://www.hashicorp.com/products/terraform/。