这里没有使用任何云资源。 我是使用 Terraform 的新手。
我正在使用 Terraform 0.12 在服务器上安装软件。该软件期望远程 MariaDB 数据库为空,这是手动完成的。(如果数据库不为空,软件将导致 Terraform 中止。)现在都是虚拟数据。
我想在销毁数据库之前使用 Terraform mysqldump数据库,以便可以在terraform apply. 最终,在软件升级之间需要保留数据库的内容。
我有 Terraform 代码来创建和销毁服务器并安装软件。效果很好。目前数据库是手动处理的。当取消注释时,连接到数据库的 Terraform 代码可以工作,但我没有足够的经验来执行除此之外的任何操作。
provider "mysql" {
endpoint = "10.0.1.2"
username = "terraform"
password = "changeme"
version = "~> 1.6"
}
resource "mysql_database" "default" {
default_character_set = "utf8"
name = "terraform_test_db"
}
Run Code Online (Sandbox Code Playgroud)
您可以使用销毁时间配置程序在 Terraform 尝试销毁资源之前触发配置程序操作。
provider "mysql" {
endpoint = "10.0.1.2"
username = "terraform"
password = "changeme"
version = "~> 1.6"
}
resource "mysql_database" "default" {
name = "terraform_test_db"
default_character_set = "utf8"
provisioner "local-exec" {
when = "destroy"
command = "mysqldump [options] > dump.sql"
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1672 次 |
| 最近记录: |