分别配置实例和数据库

在文档创建和使用云资源数据库创建和初始化中,我们创建了一个 RDS 实例和一个数据库。 但是,你也可以创建一个 RDS 实例,并在上面创建多个数据库。 当你想节省创建多个实例的成本时,此模式很有用。

本指南将以阿里云 RDS 为例,介绍如何创建有多个数据库的 RDS 实例。

  1. terraform 插件已经启用
  2. terraform-alibaba 插件已经启用,版本 >= 1.0.3
  3. 已经使用 vela config create -t terraform-alibaba 配置了云厂商账号。

如有疑问,可以按照这个指导 进行设置。

使用以下应用创建一个 RDS 实例。

  1. apiVersion: core.oam.dev/v1beta1
  2. kind: Application
  3. metadata:
  4. name: app-rds-instance
  5. spec:
  6. components:
  7. - name: rds-instance
  8. type: alibaba-rds-instance
  9. properties:
  10. instance_name: test_single_instance

现在你可以通过执行以下命令获取 RDS 实例 ID:

  1. kubectl get configuration -n default rds-instance -ojson | jq -r .status.apply.outputs.instance_id.value

结果类似下面这样

  1. rm-bp1du0wif7kXXXXX

使用以下应用来创建 RDS 数据库。记得将 <your-region><your-instance-id> 替换为你的实际值。

  1. apiVersion: core.oam.dev/v1beta1
  2. kind: Application
  3. metadata:
  4. name: app-db-1
  5. spec:
  6. components:
  7. - name: demo-database-1
  8. type: alibaba-rds-database
  9. properties:
  10. region: <your-region>
  11. existing_instance_id: <your-instance-id>
  12. database_name: first_database
  13. password: fake_password
  14. account_name: first_db_account

大约 2 分钟之后,执行 vela status 可以检查应用状态:

  1. vela status app-db-1 -n default

你已经学习了如何使用不同的应用创建 RDS 实例和数据库。作为平台工程师,你可以使用此模式为你的用户提供共享相同实例的数据库。 当业务增长时,你可以将数据库迁移到独占的实例中。

Last updated on 2023年2月9日 by dependabot[bot]