KRM API gkebackup.gke.io/v1 API

gkebackup.gke.io/v1

包含 gkebackup.gke.io v1 API 群組的 API 結構定義。

BackupAllRestoreAll

定義策略,備份這個元件中選取的所有項目,並在還原時還原所有項目。

顯示位置: - 策略

欄位 說明
backupPreHooks HookSpec 陣列 這個元件備份所有選取的磁碟區前執行的掛鉤清單。這些通常是靜止步驟。執行目標 Pod 是這個元件中的所有 Pod。
backupPostHooks HookSpec 陣列 這個元件的所有磁碟區備份完成後執行的勾點清單。這些通常是解除靜止狀態的步驟。執行目標 Pod 是這個元件中的所有 Pod。
volumeSelector LabelSelector 標籤選取器,用於選取這個元件中備份及還原的永久磁碟區。如未提供,系統會選取所有永久磁碟。

BackupJobList

包含備份工作清單。

欄位 說明
apiVersion 字串 gkebackup.gke.io/v1
kind 字串 BackupJobList
metadata ListMeta 如需 metadata 的欄位,請參閱 Kubernetes API 說明文件。
items BackupJob 陣列

BackupJobSpec

定義備份作業的所需狀態。

顯示位置: - BackupJob

欄位 說明
backupName 字串 備份作業執行的控制層備份名稱。名稱無法變更。

BackupJobStatus

定義備份工作的觀察狀態。

顯示位置: - BackupJob

欄位 說明
phase BackupJobPhase 備份作業的目前階段。
message 字串 使用者可理解的訊息,說明備份處於此狀態的原因。
reason 字串 簡短的駝峰式大小寫字串,用於說明任何更新,並用於機器剖析和整齊顯示。

BackupOneRestoreAll

定義策略,只備份這個元件中一個 Pod 的磁碟區,並在還原期間將這些磁碟區還原至所有其他 Pod。這項策略適用於部署在一個主要和一或多個次要的高可用性設定中的應用程式。這項策略僅適用於使用已定義 volumeClaimTemplate 資源佈建磁碟區的 StatefulSet 元件。

如果元件包含多個 Deployment 資源,所有部署作業都必須只有一個副本,所有副本都必須有相同數量的永久磁碟,且所有永久磁碟都必須以相同順序定義。這些磁碟區定義於 .spec.template.spec.volumes 欄位,系統會略過非持續性磁碟區。

如果元件包含多個 StatefulSet 資源,所有 StatefulSet 資源必須有相同數量的磁碟區聲明範本,且所有磁碟區聲明範本必須遵循相同順序。這些欄位是在 .spec.volumeClaimTemplates 欄位中定義。

顯示位置: - 策略

欄位 說明
backupTargetName 字串 用於備份的偏好 DeploymentStatefulSet 資源名稱。我們會根據這個元件的組成方式選取目標 Pod。如果是多個 Deployment,請選取這個 Deployment 資源建立的唯一 Pod。如果是多個 StatefulSet,請挑選目標 StatefulSet 資源建立的第一個 Pod。如果是單一 StatefulSet,請挑選目標 StatefulSet 資源建立的第二個 Pod。
backupPreHooks HookSpec 陣列 這個元件備份所有選取的磁碟區前執行的掛鉤清單。這些通常是靜止步驟。系統只會在所選備份 Pod 上執行 Hook。
backupPostHooks HookSpec 陣列 這個元件的所有磁碟區備份完成後執行的勾點清單。這些通常是解除靜止狀態的步驟。系統只會在所選備份 Pod 上執行 Hook。
volumeSelector LabelSelector 標籤選取器,用於選取目標 Pod 中備份的所有永久磁碟區。選取器可能會選取目標 Pod 以外的磁碟區,但只會備份屬於目標 Pod 的磁碟區。這些磁碟區備份會還原至還原期間選取器選取的所有其他磁碟區。如未提供,系統會選取所有永久磁碟。

元件

定義應用程式資源子集,以及這些資源的備份和還原策略。個別元件會以 StatefulSetDeployment 資源清單表示。

顯示於: - ProtectedApplicationSpec

欄位 說明
name 字串 這個元件的專屬名稱。
resourceKind ResourceKind 這個元件中包含的資源類型。資源種類只能是 DeploymentStatefulSetPodPod 資源種類目前僅支援 BackupAllRestoreAll 策略。
resourceNames 字串陣列 屬於這個元件的資源名稱。這份清單必須包含 DeploymentStatefulSetPod 資源的名稱,具體取決於 resourceKind 欄位中定義的內容。
strategy 策略 如何備份及還原這個元件的詳細資料。

DumpAndLoad

定義策略,使用應用程式專用工具傾印及載入資料,達成元件的備份與還原作業,例如 MySQL 的 mysqldump 或 PostgreSQL 的 pg_dump。傾印檔案會儲存在專用磁碟區。這項策略只會選取專屬磁碟區進行備份。傾印目標和載入目標可能不同。這項策略僅適用於使用已定義 volumeClaimTemplate 資源來佈建磁碟區的 StatefulSet 元件。

顯示位置: - 策略

欄位 說明
dumpTarget 字串 用於傾印元件資料的偏好 DeploymentStatefulSet 資源名稱。我們會根據這個元件的組成方式選取目標 Pod。針對 Deployment,請挑選目標 Deployment 資源建立的唯一 Pod。如果是單一 StatefulSet,且副本數量大於 2,請挑選目標 StatefulSet 資源建立的第二個 Pod。否則,請選取唯一的 Pod。如果是多個 StatefulSet,請挑選目標 StatefulSet 資源建立的第一個 Pod。
loadTarget 字串 用於載入元件資料的偏好 DeploymentStatefulSet 資源名稱。我們會根據這個元件的組成方式選取目標 Pod。針對 Deployment,挑選目標 Deployment 資源建立的唯一 Pod。對於 StatefulSet,請一律挑選目標 StatefulSet 資源建立的第一個 Pod。
dumpHooks HookSpec 陣列 用於將這個元件的資料傾印至專屬磁碟區的掛鉤清單。執行目標 Pod 是從 DumpTarget 欄位選取的其中一個 Pod。
backupPostHooks HookSpec 陣列 備份專用傾印磁碟區後執行的勾點清單。這些通常是清除步驟。
loadHooks HookSpec 陣列 用於從專屬磁碟區載入這個元件資料的 Hook 清單。可能包括載入完成後的清除步驟。執行目標 Pod 是從 LoadTarget 欄位選取的其中一個 Pod。
volumeSelector LabelSelector 標籤選取器,必須選取用於傾印及載入應用程式資料的專用磁碟區。DumpTargetLoadTarget 欄位都只能選取一個卷冊。

HookFailurePolicy

基礎型別: string 如果執行 Hook 時發生錯誤,應採取的所需行為。

顯示位置: - HookSpec

HookSpec

定義如何在選取的容器中執行 Hook,前提是已選取目標 Pod。

出現位置: - BackupAllRestoreAll - BackupOneRestoreAll - DumpAndLoad

欄位 說明
name 字串 這個掛鉤的名稱。這個欄位用於識別 Hook 執行狀態,以及遇到的任何錯誤。
container 字串 這個 Hook 執行的容器。如未指定,則會在 Pod 的第一個容器上執行。
command 字串陣列 要執行的指令。要執行的掛鉤指令。例如 ["/sbin/fsfreeze", "--freeze"]
timeoutSeconds 整數 掛鉤的逾時時間 (以秒為單位)。如未指定,則預設值為 30
onError HookFailurePolicy 當 Hook 執行時發生錯誤,應採取的期望行為。有效值為 IgnoreFail。如未指定,值為 Fail

ProtectedApplication

定義 Protectedapplication API 的結構定義。

顯示位置: - ProtectedApplicationList

欄位 說明
apiVersion 字串 gkebackup.gke.io/v1
kind 字串 ProtectedApplication
metadata ObjectMeta 如需 metadata 的欄位,請參閱 Kubernetes API 說明文件。
spec ProtectedApplicationSpec
status ProtectedApplicationStatus

ProtectedApplicationError

包含這項 ProtectedApplication 資源的詳細錯誤資訊。

顯示於: - ProtectedApplicationStatus

欄位 說明
reason 字串 說明任何錯誤的駝峰式大小寫字串,用於機器剖析和整齊顯示。
message 字串 使用者可理解的訊息,指出錯誤的詳細資料。

ProtectedApplicationList

包含 ProtectedApplication 資源清單。

欄位 說明
apiVersion 字串 gkebackup.gke.io/v1
kind 字串 ProtectedApplicationList
metadata ListMeta 如需 metadata 的欄位,請參閱 Kubernetes API 說明文件。
items ProtectedApplication 陣列

ProtectedApplicationSpec

定義屬於 ProtectedApplication 的相關資源,以及備份或還原指定應用程式的方式。

顯示位置: - ProtectedApplication

欄位 說明
resourceSelection ResourceSelection 屬於這個 ProtectedApplication 的資源。
components Component 陣列 受保護應用程式的元件。

ProtectedApplicationStatus

定義這個 ProtectedApplication 資源的狀態。

顯示位置: - ProtectedApplication

欄位 說明
readyToBackup boolean 指出這個 ProtectedApplication 資源是否已準備好備份。如果 ProtectedApplication 資源含有任何錯誤,就表示尚未準備就緒。
error ProtectedApplicationError 陣列 與這個受保護應用程式相關的錯誤。舉例來說,某個元件設定無效。

ResourceKind

基礎類型: string 定義資源種類。

顯示位置: - 元件

ResourceSelection

定義如何識別屬於這個應用程式的資源。

顯示於: - ProtectedApplicationSpec

欄位 說明
type ResourceSelectionType 應用程式來源類型。Type 欄位必須是 ApplicationNameSelector。這是聯集鑑別器。
applicationName 字串 同一命名空間中的 sig-apps 應用程式名稱。這是資料保護規格適用的應用程式。
selector LabelSelector 所選資源與 ProtectedApplication 資源位於相同命名空間。資料保護規格會套用至這些資源。

ResourceSelectionType

基礎類型: string 選取類型。

顯示位置: - ResourceSelection

RestoreJob

定義 RestoreJob API 的結構定義

顯示位置: - RestoreJobList

欄位 說明
apiVersion 字串 gkebackup.gke.io/v1
kind 字串 RestoreJob
metadata ObjectMeta 如需 metadata 的欄位,請參閱 Kubernetes API 說明文件。
spec RestoreJobSpec
status RestoreJobStatus

RestoreJobList

包含 RestoreJob 資源清單。

欄位 說明
apiVersion 字串 gkebackup.gke.io/v1
kind 字串 RestoreJobList
metadata ListMeta 如需 metadata 的欄位,請參閱 Kubernetes API 說明文件。
items RestoreJob 陣列

RestoreJobSpec

定義還原作業的所需狀態。

出現位置: - RestoreJob

欄位 說明
restoreName 字串 RestoreName 是控制層的還原名稱,RestoreJob 會根據這個名稱執行作業。名稱無法變更。

RestoreJobStatus

定義還原工作的觀察狀態。

出現位置: - RestoreJob

欄位 說明
phase RestoreJobPhase 還原作業的目前狀態。
message 字串 使用者可理解的訊息,指出備份還原作業處於此狀態的詳細原因。
reason 字串 說明任何更新的駝峰式大小寫字串,用於機器剖析和整齊顯示。

策略

定義特定元件的備份和還原方式。只能設為 BackupAllRestoreAllBackupOneRestoreAllDumpAndLoad

顯示位置: - 元件

欄位 說明
type StrategyType 備份與還原策略的類型。這個值只能是 BackupAllRestoreAllBackupOneRestoreAllDumpAndLoad。請注意,Pod 資源種類僅支援 BackupAllRestoreAll 策略。這是聯集鑑別器。
backupAllRestoreAll BackupAllRestoreAll 這項策略會備份這個元件中選取的所有項目,並在還原時還原所有項目。
backupOneRestoreAll BackupOneRestoreAll 這項策略只會備份這個元件中一個 Pod 的磁碟區,並在還原期間還原至所有其他 Pod。這項策略適用於部署在一個主要和一或多個次要高可用性設定中的應用程式。這項策略僅適用於使用已定義 volumeClaimTemplate 資源來佈建磁碟區的 StatefulSet 元件。
dumpAndLoad DumpAndLoad 這項策略是使用應用程式專用工具傾印及載入資料,以備份及還原元件,例如 MySQL 的 mysqldump 或 PostgreSQL 的 pg_dump。傾印檔案會儲存在專用磁碟區中。這項策略只會備份專屬磁碟區。傾印目標和載入目標可能不同。這項策略僅適用於使用已定義 volumeClaimTemplate 資源來佈建磁碟區的 StatefulSet 元件。

StrategyType

基礎類型: string 定義元件的備份和還原策略。

顯示位置: - 策略