[英]Is it possible to resize a node pool disk size on GKE with terraform whitout recreating the cluster?
是否可以使用 Terraform 在 GKE 上調整節點池磁盤大小而不重新創建(首先刪除,然后使用新設置再次創建)集群?
我想使用工作負載自動遷移節點池,而無需重新創建集群且無需任何停機時間。
您不能減小磁盤大小,但可以創建一個更小的新磁盤並將它們添加到新節點。
參考:
您只能增加而不能減少磁盤的大小。 要減小磁盤大小,您必須創建一個更小的新磁盤。 在您刪除原來的較大磁盤之前,您需要為這兩個磁盤付費。
https://cloud.google.com/compute/docs/disks/resize-persistent-disk
編輯:如果你想增加磁盤,你可以用新的配置創建一個新的節點池,然后你必須封鎖和排空(kubectl cordon & drain)舊節點池的所有節點,這樣你就可以在不停機的情況下刪除它。
正如恩里克所說,您可以增加尺寸但不能減小尺寸。
resource "google_compute_disk" "test-np5-data1" {
project = <project_id>
name = "disk"
type = "pd-standard"
zone = "us-central1-a"
size = 30
}
所以如果你想增加磁盤,你也可以用 terraform 來完成。
增加磁盤大小后,您可能需要為節點增加文件系統
參考: https://cloud.google.com/compute/docs/disks/resize-persistent-disk#resize_partitions
因此,您可以將 terraform 和SSH中的exec或remote-exec用於GKE節點並增加磁盤分區。
更新:
根據您的更新,您也在更新磁盤大小和機器類型,因此我建議使用lifecycle
先創建,再刪除。
lifecycle {
create_before_destroy = true
}
遷移時不要忘記封鎖和排空節點,如果運行多個副本並正確分布就可以了。
因此,為了安全地更改節點池的規格,必須創建第二個節點池並將所有工作負載移到那里,然后刪除舊節點池。 您可以按照@Enrique Tejada 所說的方式執行此操作。 參考: https://cloud.google.com/kube.netes-engine/docs/tutorials/migrating-node-pool#step_4_migrate_the_workloads是關於machine_type的,但是好像disk_size是一樣的。 目前我正在努力解決這個問題,使用 terraform - 我的任務是讓上級能夠通過更改源代碼中的值來更改 disk_size 和 machine_type,而無需重新創建集群。 似乎是不可能的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.