【发布时间】:2021-05-22 08:04:06
【问题描述】:
我创建了这个脚本:
provider "kubernetes" {
host = "https://${var.cluster_url}:8443"
client_certificate = file("./admin.crt")
client_key = file(".admin.key")
cluster_ca_certificate = file("./ca.crt")
}
resource "kubernetes_namespace" "resource" {
metadata {
annotations = {
name = "exampleannotation"
}
labels = {
mylabel = "labelvalue"
}
name = "${var.namespace_name}"
}
}
如果我运行它两次,在第二次运行之前,它会删除之前的资源(见下文)。
我了解,在后台,terraform 正在跟踪它之前在状态文件中为该脚本创建的资源。 但是我想知道是否有任何方法可以避免删除?
FIRST RUN:
terraform apply -var="namespace_name=pippo" -var="cluster_url=xxx.yyyy.zzz"
kubernetes_namespace.resource: Creating...
kubernetes_namespace.resource: Creation complete after 0s [id=pippo]
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
SECOND RUN:
terraform apply -var="namespace_name=pluto" -var="cluster_url=xxx.yyyy.zzz"
kubernetes_namespace.resource: Destroying... [id=pippo]
kubernetes_namespace.resource: Destruction complete after 6s
kubernetes_namespace.resource: Creating...
kubernetes_namespace.resource: Creation complete after 0s [id=pluto]
Apply complete! Resources: 1 added, 0 changed, 1 destroyed.
【问题讨论】:
标签: kubernetes terraform