GKE 叢集遺失數據

GKE 叢集遺失數據

我是 GCP 的新手,請原諒我的無知。

我有一個正在運行資料庫應用程式的 3 節點 GKE 叢集。每個節點分配有 100GB 標準永久磁碟。然而,我經常發現(自 8 月以來至少發生過 3 次),我啟動後資料遺失,並且任何已設定的防火牆規則都被重置為預設值。

我可以:

  1. 阻止DB中的資料被刪除
  2. 防止防火牆規則被重置

這是因為基礎設施升級嗎?

答案1

將此答案發佈為社群 wiki 作為問題的基本主題可能有點廣泛。

請隨意擴展它。


為什麼GKE集群會遺失資料?

如果沒有有關應用程式/工作負載如何準確部署在GKE叢集上的具體信息,可能很難找出實際問題。

值得一提的是以下幾點:

  • 期望儲存資料(如資料庫)的工作負載應該使用Persistent Volumes。如果節點發生故障,儲存在節點上的資料PV不會遺失,因為它將儲存在不同的實體上。

PersistentVolume資源用於管理叢集中的持久性儲存。在 中GKE,aPersistentVolume通常由永久磁碟支援。

Cloud.google.com:Kubernetes Engine:文件:概念:持久卷

有一份使用持久性磁碟和 Cloud SQL 在 GKE 上部署 WordPress 的指南。它可以用作使用PVC(持久性磁碟)部署工作負載的範例:

  • Pods如果進行任何 pod 重新創建,儲存在未進行任何配置的資料Volumes將會遺失。

  • 儲存在GKE節點啟動磁碟上的資料在更新過程中不會持續存在。

對節點 VM 啟動磁碟的修改不會在節點重新建立後持續存在。若要在節點重新建立過程中保留修改,請使用 DaemonSet。

Cloud.google.com:Kubernetes Engine:文件:如何:節點自動升級:概述


參考所提出的問題

我是 GCP 的新手,請原諒我的無知。

我鼓勵您訪問GCP和的官方文件GKE。您會發現有很多資訊/指南和範例可供遵循:

每個節點分配有 100GB 標準永久磁碟。

該磁碟專門用作GKE節點的啟動磁碟,不應用作儲存資料的位置。您可以Persistent Volumes按照前面提到的方式使用或選擇本地 SSD,您可以透過以下連結閱讀更多:

但是,我經常發現(自 8 月以來至少發生過 3 次)啟動後資料遺失

GKE叢集和節點無法關閉。您可以做的是減少(擴展)節點池中的節點數量。您的意思是連接到它嗎?

任何已實施的防火牆規則都將重設為預設值。

您不應重新配置GKE節點的防火牆規則。相反,您應該使用位於Cloud Console(Web UI) -> VPC Network->中的 GCP 防火牆Firewall。由於節點升級或故障而重新建立的節點將重置防火牆規則。

我可以:

  1. 阻止DB中的資料被刪除
  2. 防止防火牆規則被重置

這是因為基礎設施升級嗎?

您可以考慮(取決於您的特定用例)使用實例GCE而不是GKE叢集。GKE是一個託管 Kubernetes 集群,旨在運行容器化工作負載,其中某些部分由 Google 管理(例如控制平面)。

至於基礎設施升級,您可以透過以下連結查看叢集升級時會發生什麼:


附加參考:

相關內容