我正在嘗試使用 terraform 將 helm chart 部署到 k8s 集群,它第一次運行良好,但是當我嘗試更新 chart 時,我發現自己遇到了這個錯誤:

Error: cannot re-use a name that is still in use │ │ with helm_release.deliverable, │ on main.tf line 8, in resource "helm_release" "deliverable": │ 8: resource "helm_release" "deliverable" {
現在,如果我洗掉圖表,它會正常作業(第一次運行),但我不想每次都這樣做,有沒有辦法重新利用發布名稱?
這是我的代碼:
resource "helm_release" "deliverable" {
name = "releaseapp"
namespace = "appnamespace"
repository = "https://myrepo/repository/helm/"
chart = "releaseapp"
version = "0.2.0"
repository_username = "myuser"
force_update = true
wait = true
repository_password = var.acrpass
set {
name = "namespace"
value = "appnamespace"
}
set {
name = "image.tag"
value = var.applicationversion
}
set {
name = "image.tag"
value = var.applicationversion
}
set {
name = "timestamp"
value = local.timestamp_sanitized
}
}
locals {
timestamp = "${timestamp()}"
timestamp_sanitized = "${replace("${local.timestamp}", "/[- TZ:]/", "")}"
}
我嘗試更改 helm chart 版本 我嘗試添加兩者
force_update = true
wait = true
但仍然沒有成功。你能幫我嗎?
uj5u.com熱心網友回復:
Gitlab CI infrastructure terraform state 不接受名稱中的特殊字符,因此沒有創建任何狀態。因此,當試圖從中讀取時,它失敗了,并試圖創建一個已經存在的新資源。
我從 git 分支創建了我的州名稱,在第一種情況下是 feature/jira-task
改變自:
${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/terraform/state/${CI_PROJECT_NAME}_${CI_COMMIT_BRANCH}
至:
${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/terraform/state/${CI_PROJECT_NAME}_tfstate
解決了問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/534618.html
上一篇:PhpMyAdmin在Kubernetes中拋出404錯誤回應
下一篇:For回圈復制和編輯資料幀
