Halaman ini menjelaskan cara menggunakan resource ProtectedApplication
untuk menyesuaikan perilaku pencadangan dan pemulihan di Google Distributed Cloud (GDC) yang terisolasi.
Langkah-langkah yang dijelaskan di halaman ini bersifat opsional dan tidak diperlukan agar Anda berhasil mengonfigurasi pencadangan dan pemulihan untuk beban kerja Anda. Resource ProtectedApplication
adalah resource Kubernetes opsional dalam namespace yang menyesuaikan pencadangan dan pemulihan aplikasi stateful individual. Tanpa resource ProtectedApplication
, batasan berikut berlaku:
- Anda membatasi perincian cakupan pencadangan dan pemulihan ke tingkat namespace.
- Tidak ada operasi flush dan quiesce yang terjadi pada workload selama eksekusi pencadangan.Hal ini dapat menyebabkan mesin virtual dengan beberapa disk tidak konsisten setelah pemulihan.
Resource ProtectedApplication
adalah resource namespace Kubernetes opsional yang digunakan untuk menyesuaikan pencadangan dan pemulihan aplikasi stateful individual.
Resource ProtectedApplication
menentukan resource Kubernetes mana yang termasuk dalam
instance aplikasi. Anda dapat menyiapkan orkestrasi khusus secara manual menggunakan perintah kubectl
untuk membuat cadangan dan memulihkan aplikasi tersebut dalam skenario berikut:
- Untuk mengidentifikasi sekumpulan resource dalam namespace yang dapat dicadangkan atau dipulihkan secara terpisah dari resource lain dalam namespace tersebut.
ProtectedApplication
adalah entitas namespace yang paling terperinci yang dapat Anda identifikasi untuk cakupan pencadangan atau pemulihan. - Untuk menyediakan orkestrasi pencadangan khusus setiap kali
ProtectedApplication
berada dalam cakupan pencadangan. Khususnya, jikaProtectedApplication
berisi resourcePersistentVolumeClaim
(PVC) baik secara langsung maupun melalui template dariStatefulSet
, Anda dapat menjalankan hook sebelum dan setelah mencadangkan volume. Hook adalah perintah yang berjalan di container aplikasi. Hook ini sering digunakan untuk operasi flush, quiesce, atau unquiesce, dan menyediakan pencadangan yang konsisten dengan aplikasi.
Sebelum memulai
Untuk menggunakan resource ProtectedApplication
, Anda harus memiliki:
- Anda harus menentukan resource
ProtectedApplication
sebelum membuat rencana pencadangan. Untuk mengetahui informasi selengkapnya, lihat Merencanakan serangkaian pencadangan. Peran akses dan identitas yang diperlukan:
- Untuk pengguna Administrator Platform (PA):
- Admin Pencadangan Cluster Pengguna: mengelola resource pencadangan seperti rencana pencadangan dan pemulihan di cluster pengguna. Minta Admin IAM Organisasi Anda untuk memberi Anda peran User Cluster Backup Admin (
user-cluster-backup-admin
).
- Admin Pencadangan Cluster Pengguna: mengelola resource pencadangan seperti rencana pencadangan dan pemulihan di cluster pengguna. Minta Admin IAM Organisasi Anda untuk memberi Anda peran User Cluster Backup Admin (
- Untuk pengguna Operator Aplikasi (AO):
- Pembuat Cadangan: membuat cadangan dan pemulihan manual. Minta Admin IAM Project Anda untuk memberi Anda peran Pembuat Cadangan (
backup-creator
).
- Pembuat Cadangan: membuat cadangan dan pemulihan manual. Minta Admin IAM Project Anda untuk memberi Anda peran Pembuat Cadangan (
- Untuk mengetahui informasi selengkapnya, lihat Definisi peran.
- Untuk pengguna Administrator Platform (PA):
Men-deploy resource aplikasi yang dilindungi
Berikut adalah contoh spesifikasi Deployment
dengan resource ProtectedApplication
yang mencadangkan
semua resource yang terkait dengan aplikasi selama pencadangan, dan memulihkan
semua resource selama pemulihan:
apiVersion: v1
kind: Namespace
metadata:
name: "applications"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: protected-application-deployment
namespace: applications
labels:
app: protected
spec:
selector:
matchLabels:
app: nginx
replicas: 2
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: unprotected-application-deployment
namespace: applications
labels:
app: unprotected
spec:
selector:
matchLabels:
app: nginx
replicas: 2
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
---
apiVersion: gkebackup.gke.io/v1
kind: ProtectedApplication
metadata:
name: protected-application-test
namespace: applications
spec:
applicationName: protectedApplication
resourceSelection:
type: Selector
selector:
matchLabels:
app: protected
components:
- name: protect-application-deployment
resourceKind: Deployment
resourceNames:
- protected-application-deployment
strategy:
type: BackupAllRestoreAll
Tentukan ProtectedApplication
dalam daftar
selectedApplications
di backupScope
. Contoh:
apiVersion: backup.gdc.goog/v1
kind: BackupPlan
metadata:
name: protected-application-backupplan-test
namespace: applications
spec:
clusterName: "cluster-sample"
backupSchedule:
cronSchedule: "*/30 * * * *"
paused: true
backupConfig:
backupScope:
selectedApplications:
namespacedNames:
- name: protected-application-test
namespace: applications
backupRepository: "backup-repository"
retentionPolicy:
backupDeleteLockDays: 10
backupRetainDays: 10
Contoh ini mencakup nilai berikut:
Nilai | Deskripsi |
---|---|
resourceSelection |
Menentukan cara mengidentifikasi resource yang termasuk dalam aplikasi
yang dilindungi:
|
components |
Daftar komponen untuk aplikasi yang dilindungi, seperti deployment atau set stateful:
|
Langkah berikutnya
- Untuk memilih strategi aplikasi yang dilindungi, lihat Strategi aplikasi yang dilindungi.