我已经创建了 DigitalOcean Kubernetes 集群并添加了额外的节点拉取功能。一切运行良好。
resource "digitalocean_kubernetes_cluster" "k8s_cluster" {
depends_on = [digitalocean_container_registry.docker_registry]
name = "dev"
region = var.region
version = "1.30.2-do.0"
registry_integration = true
node_pool {
name = "dev-pool"
size = "s-2vcpu-2gb"
auto_scale = true
min_nodes = 2
max_nodes = 4
}
}
resource "digitalocean_kubernetes_node_pool" "new_k8s_node_pool" {
cluster_id = digitalocean_kubernetes_cluster.k8s_cluster.id
name = "dev-pool-new"
size = "s-2vcpu-4gb"
auto_scale = true
min_nodes = 2
max_nodes = 4
}
但是现在我想删除旧节点拉取 ( dev-pool
) 并让集群使用新节点池 ( dev-pool-new
) 工作。但是当我这样做时,terraform plan
我可以看到 terraform 将使用新节点拉取重新创建集群。我不想重新创建集群,我只想删除默认节点池并仅保留新节点拉取。我该怎么做?是否可以在不重新创建集群的情况下删除默认节点拉取?
resource "digitalocean_kubernetes_cluster" "k8s_cluster" {
depends_on = [digitalocean_container_registry.docker_registry]
name = "dev"
region = var.region
version = "1.30.2-do.0"
registry_integration = true
node_pool {
name = "dev-pool-new"
size = "s-2vcpu-4gb"
auto_scale = true
min_nodes = 2
max_nodes = 4
}
}
terraform plan
输出样本:
必须替换 digitalocean_kubernetes_cluster.k8s_cluster
digitalocean_kubernetes_node_pool.new_k8s_node_pool 将被销毁
node_pool
如果默认节点池(内的块)针对某些参数进行了修改,则必须重新创建集群digitalocean_kubernetes_cluster
。这是 Digital Ocean API 强制执行的要求。如果要在不重新创建集群的情况下修改节点池,则必须使用附加节点池资源。
请注意,对于当前集群,您无法删除默认节点池,否则会导致重新创建集群,但可以添加新的节点池。