kubernetes 是否可以在不重新创建集群的情况下,使用terraform在GKE上调整节点池磁盘大小?

eqqqjvef  于 2023-01-12  发布在  Kubernetes
关注(0)|答案(3)|浏览(137)

是否可以在GKE上使用Terraform重新调整节点池磁盘大小,而无需重新创建(首先删除,然后使用新设置重新创建)集群?
我希望自动迁移包含工作负载的节点池,而无需重新创建集群,也无需停机。
This is the output i got when i upscaled the cluster, it is kiling and recreating the whole node pool and i dont want that.

7eumitmz

7eumitmz1#

您不能减小磁盘大小,但可以创建一个更小的新磁盘并将其添加到新节点。
参考:
您只能增加而不能减少磁盘的大小。若要减少磁盘大小,您必须创建一个较小的新磁盘。在您删除原来较大的磁盘之前,您需要为这两个磁盘付费。
https://cloud.google.com/compute/docs/disks/resize-persistent-disk
编辑:如果你想增加磁盘,你可以用新的配置创建一个新的节点池,然后你必须封锁和排放(kubectl封锁和排放)旧节点池的所有节点,这样你就可以在不停机的情况下删除它。

yruzcnhs

yruzcnhs2#

因此,要安全地更改节点池的规格,必须创建第二个节点池,并将所有工作负载移到那里,然后删除旧的节点池。您可以按照@Enrique Tejada所说的方式进行操作。请参阅:https://cloud.google.com/kubernetes-engine/docs/tutorials/migrating-node-pool#step_4_migrate_the_workloads这是关于machine_type的,但似乎对disk_size也是一样的。目前我正在使用terraform来解决这个问题-我的任务是使上级能够通过更改源代码中的值来更改disk_size和machine_type,而无需重新创建集群。这似乎是不可能的。
下面是一个类似的问题Reduce boot disk size of a GKE cluster

xa9qqrwz

xa9qqrwz3#

正如恩里克所说,你可以增加尺寸,但不能减少尺寸。

resource "google_compute_disk" "test-np5-data1" {
 project = <project_id>
 name = "disk"
 type = "pd-standard"
 zone = "us-central1-a"
 size = 30
}

因此,如果你正在寻找增加磁盘,你肯定可以这样做与地形也。
增加磁盘大小后,您可能需要为节点扩展文件系统
参考:https://cloud.google.com/compute/docs/disks/resize-persistent-disk#resize_partitions
因此,您可以在terraform和SSH中使用execremote-execGKE节点,并扩展磁盘分区。

更新

根据您的更新,您正在更新磁盘大小和机器类型,所以我建议使用lifecycle创建第一,然后再删除。

lifecycle {
    create_before_destroy = true
  }

不要忘记在迁移时隔离和排空节点,如果运行多个副本并正确分布,就可以了。

相关问题