簡體   English   中英

Terraform 計划取 terraform 配置后

[英]Terraform plan after fetching terraform configuration

我將 terraform 與 aws 提供程序一起使用。

似乎 terraform 應該有 state 文件來更新資源。 當我將我的 terraform 配置從一台 PC 提交到 git 並從另一台 PC 獲取它時, terraform plan想要創建所有資源,盡管資源實際上是在另一台 PC 上創建的。 如何在不將 state 文件提交到 git 的情況下解決此問題?

Terraform 是基礎設施即代碼,需要管理狀態文件。 對於 AWS Cloud,最受歡迎的選擇是 AWS S3 存儲桶。 這是有關 terraform state 管理的更多信息

  1. 創建一個 S3 存儲桶來存儲 State 文件。
  2. 確保它具有適當的權限
  3. 在您的 Terraform 代碼中, 將 S3 存儲桶引用為后端

在這種情況下,您可以使用遠程 State 如果您使用 AWS,則可以使用s3 后端將 state 存儲在您選擇的存儲桶中。 來自文檔的示例:

terraform {
  backend "s3" {
    bucket = "mybucket"
    key    = "path/to/my/key"
    region = "us-east-1"
  }
}

Terraform 提供了很多關於如何設置和使用此類后端的示例和用例場景,最重要的是如何保護對工作區的訪問 State

其他后端也是可能的,例如 Terraform Cloud、Azure Blob Storage、Google Cloud Storage、阿里雲 OSS 等。

管理后端 state 非常重要。 聽起來您的 .gitignore 文件不包括您的本地 state 文件? 通常這些行在 terraform 的 in.gitignore 中:

# Local .terraform directories
**/.terraform/*

# .tfstate files
*.tfstate
*.tfstate.*

如果您取出上面的 state 文件行,這意味着您將在另一台 PC 上檢查它們並保持相同的 state。 但如前所述,遠程管理您的 state 文件是理想的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM