使用 Terraform 管理 SAP BTP
学习目标
说明基础设施即代码
说明 Terraform
应用适用于 SAP BTP 的 Terraform Provider
说明基础设施即代码
简介
以自动化方式设置和管理云环境是 DevOps 的关键概念之一。在本课中,您将学习如何使用适用于 SAP BTP 的 Terraform Provider 来自动化 SAP BTP 环境的设置和管理。
基础设施即代码
基础设施即代码(IaC)使您能够使用代码而非手动操作来自动化基础设施的配置和管理。它有助于确保基础设施的一致性、可扩展性、版本控制、协作和文档化。
IaC 采用声明式方法。您定义系统的期望状态,包括所需的资源以及这些资源应具有的任何属性。IaC 工具将采用这一目标配置,并执行必要的步骤使其匹配。
幂等性是另一个关键概念。重新运行脚本应始终产生相同的配置。
IaC 的主要优势:
自动化:IaC 为自动化基础设施的配置和管理奠定了基础。基础设施可以通过编程方式创建、修改和销毁,减少人工干预的需求并最大限度地减少人为错误。
一致性:使用 IaC,您可以确保基础设施在不同环境(如开发、测试和生产)中一致地配置和设置。这减少了配置漂移并提高了可靠性。
可扩展性:IaC 允许您以可扩展的方式推出基础设施。通过在代码中定义基础设施配置,您可以以一致且可重复的方式轻松复制和部署基础设施资源。
版本控制与协作:IaC 配置应存储在版本控制系统中,使您能够跟踪随时间的变化,并在需要时回滚到以前的版本。它还支持团队成员之间的协作,因为多个人可以同时处理同一基础设施代码库。
文档化:IaC 可作为一种文档形式,清晰简洁地呈现期望的基础设施状态。它有助于理解基础设施架构,并促进团队内的知识共享。
说明 Terraform
Terraform 是 IaC 工具事实上的标准。它支持 3,000 多个基础设施提供者。用户通过使用 Hashicorp Configuration Language(HCL)编写的配置声明资源或调用数据源,与这些提供者进行交互。
Terraform 使用声明式配置描述期望的最终状态。一旦用户在给定配置上调用 Terraform,Terraform 将代表用户执行 CRUD 操作,以实现期望的状态。
Terraform 在状态文件中跟踪您的真实基础设施,该文件充当您环境的事实来源。Terraform 使用状态文件来确定要对基础设施进行的更改,使其与您的配置匹配。这也可用于检测由于 Terraform 之外的资源更改而导致的配置漂移。
Terraform 流程
实施 Terraform 配置包括以下步骤:
界定范围:确定项目的基础设施。
编写:为基础设施编写配置。
初始化:安装 Terraform 管理该基础设施所需的插件。
计划:规划并验证 Terraform 将对基础设施所做的更改
应用:执行计划中的更改。
Terraform 在应用阶段生成或更新 terraform.tfstate 文件。该文件包含所生成资源的所有 ID 和属性,Terraform 将使用它来更新或销毁您的环境。建议将此文件存储在集中且安全的位置。
应用适用于 SAP BTP 的 Terraform Provider
适用于 SAP BTP 的 Terraform Provider
适用于 SAP BTP 的 Terraform Provider 使您能够自动化 SAP BTP 上资源的配置、管理和设置。这使您能够简化和精简 SAP BTP 上服务和应用程序的部署与维护。
使用适用于 SAP BTP 的 Terraform Provider,您可以管理以下资源:
全局账户、目录和子账户
权益和订阅
环境(Cloud Foundry、Kyma、SAP BTP ABAP 环境)
信任配置
角色、角色集合和角色集合分配
服务实例和服务绑定
从用户角度看,Terraform 与 SAP BTP 交互的流程如下图所示:
从技术上讲,适用于 SAP BTP 的 Terraform Provider 使用 SAP BTP CLI 作为技术基础,即作为与 SAP BTP 平台 API 交互的统一 API。
适用于 SAP BTP 的 Terraform Provider 是开源的,采用 Apache License 2.0 许可。
适用于 Cloud Foundry 的 SAP Terraform Provider
配置和管理 Cloud Foundry 特有的资源必须通过 Terraform Provider for Cloud Foundry 来处理。
SAP 开发了该提供者并将其捐赠给 Cloud Foundry Foundation。作为该基金会的成员,SAP 负责该提供者的维护和未来增强。
从技术上讲,该提供者使用 go-cfclient 与 Cloud Foundry Controller v3 API 交互。因此,该提供者与 SAP BTP 上的 Cloud Foundry 环境完全兼容。
观看下面的视频,了解如何使用 Terraform 创建和管理 SAP BTP 资源。
视频:本节含 SAP 官方视频(视频 ID
1_qnlsvc7c),需在 learning.sap.com 在线观看。
小结
在本课中,您了解了如何使用基础设施即代码(IaC)通过 Terraform(即适用于 SAP BTP 的 Terraform Provider)来自动化 SAP BTP 环境的设置和管理。
延伸阅读
Getting Started with Terraform on SAP BTP
SAP BTP Terraform Provider
SAP Cloud Foundry Terraform Provider
SAP BTP Provider - Quick Start Guide
Terraform Tutorials
本课其余配图

