背景故事
Terraform (https://www.terraform.io/) 是使用最广泛的开源工具之一,允许使用代码管理和配置基础设施。它以支持跨多云,可重用性,版本控制,灵活性和活跃的社区而赢得大量用户青睐。Terraform Providers 是能让 Terraform 在不同云平台上通信和管理资源的插件,云平台如 AWS, Google Cloud, Azure,以及 SaaS 供应商如 Datadog, MongoDB, Elastic。
Bytebase 用户会使用 Terraform 来管理基础设施资源,他们希望也可以使用 Terraform 来管理环境、数据库实例等 Bytebase 资源。之前,Bytebase 为客户提供基于 Web 的 Bytebase Console 和 OpenAPI 来管理配置 Bytebase 资源。今天,我们隆重推出新功能 Terraform Bytebase Provider (https://registry.terraform.io/providers/bytebase/bytebase/latest/docs)。你可以使用 Terraform 来管理 Bytebase 资源,从而简化数据库管理流程。🎉
Terraform Bytebase Provider 简介你现在可以通过 Terraform 轻松地管理如下 Bytebase 资源:- 环境:环境是按照开发流程中的不同阶段进行建模的,例如开发环境、测试环境和线上环境。
- 数据库实例:数据库实例是以单个数据库实例为模型,可以使用诸如「主机 : 端口」这样的地址进行连接访问。
- 实例角色:当前版本仅支持 PostgreSQL 实例,对 MySQL 实例的支持正在开发中。
以数据库实例为例,在环境 prod 中添加一个 MySQL 实例。如下图所示,开始的时候,数据库实例列表中只有一个 PostgreSQL 实例:Postgres Sample Instance。
如下图所示,显示了如何在环境 prod 中添加一个 MySQL 实例 prod_instance。
打开 Terminal,进入包含上方代码片段的 main.tf 所在目录,依次运行 `terraform init`, `terraform plan` 和 `terraform apply`。运行结果如下图所示,可见成功添加了一个数据库实例 prod_instance。回到 Bytebase Console,可以查看数据库实例列表。如下图,MySQL 实例 prod_instance 已成功添加到环境 prod 中。如果你已经在使用 Terraform 管理基础设施,可以通过 Terraform Bytebase Provider 将数据库配置代码化并整合到你的工作流中。可以参考教程用 Terraform 管理 Bytebase 中的数据库 (https://www.bytebase.com/blog/manage-databases-in-bytebase-with-terraform),了解具体操作步骤,轻松动手体验。此外,你也可以在我们的 GitHub 查看更多示例 (https://github.com/bytebase/terraform-provider-bytebase/tree/main/examples)。