Dokumen ini menjelaskan cara membuat salinan, atau snapshot, volume penyimpanan pada titik waktu tertentu untuk aplikasi container Anda. Snapshot volume memungkinkan Anda mengembalikan volume ke status sebelumnya atau menyediakan volume baru.
Dokumen ini ditujukan bagi developer dalam grup operator aplikasi, yang bertanggung jawab untuk membuat workload aplikasi bagi organisasi mereka. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Audiens untuk GDC yang terisolasi dari internet.
Sebelum memulai
Untuk menyelesaikan tugas dalam dokumen ini, Anda harus memiliki resource dan peran berikut:
Untuk menjalankan perintah terhadap cluster Kubernetes, pastikan Anda memiliki resource berikut:
Temukan nama cluster Kubernetes, atau tanyakan nama cluster kepada anggota grup administrator platform.
Login dan buat file kubeconfig untuk cluster Kubernetes jika Anda belum memilikinya.
Gunakan jalur kubeconfig cluster Kubernetes untuk mengganti
KUBERNETES_CLUSTER_KUBECONFIGdalam petunjuk ini.
Untuk mendapatkan izin yang diperlukan untuk mengelola snapshot volume di cluster bersama, minta Admin IAM Organisasi Anda untuk memberi Anda peran Admin Namespace (
namespace-admin) di namespace project Anda.Untuk mendapatkan izin yang diperlukan untuk mengelola snapshot volume di cluster standar, minta Admin IAM Organisasi Anda untuk memberi Anda peran Cluster Developer (
cluster-developer) di cluster standar.
Mengambil snapshot volume
Untuk mengambil snapshot objek PersistentVolumeClaim, buat objek
VolumeSnapshot. Sistem tidak menjamin konsistensi data. Jeda
aplikasi dan kosongkan data sebelum mengambil snapshot.
Buat resource kustom
VolumeSnapshot:kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshot metadata: name: VOLUME_SNAPSHOT_NAME spec: source: persistentVolumeClaimName: PVC_NAME EOFGanti kode berikut:
KUBERNETES_CLUSTER_KUBECONFIG: file kubeconfig untuk cluster.NAMESPACE: namespace tempat membuat snapshot volume. Untuk cluster bersama, ini harus berupa namespace project. Untuk cluster standar, namespace-nya dapat berupa namespace apa pun.VOLUME_SNAPSHOT_NAME: nama objekVolumeSnapshot.PVC_NAME: nama PVC yang akan Anda buatkan snapshot-nya.
Operasi snapshot selesai saat kolom
.status.readyToUsemenjaditrue. Anda dapat menggunakan perintah berikut untuk memeriksa status:kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG get volumesnapshot \ -o custom-columns='NAME:.metadata.name,READY:.status.readyToUse'Perbarui manifes PVC dengan snapshot volume yang ditentukan sebagai sumber data:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: v1 kind: PersistentVolumeClaim metadata: name: PVC_NAME spec: dataSource: name: VOLUME_SNAPSHOT_NAME kind: VolumeSnapshot apiGroup: snapshot.storage.k8s.io storageClassName: standard-rwo accessModes: - ReadWriteOnce resources: requests: storage: 10Gi EOFGanti kode berikut:
KUBERNETES_CLUSTER_KUBECONFIG: file kubeconfig untuk cluster.NAMESPACE: namespace tempat resource PVC berada. Untuk cluster bersama, ini harus berupa namespace project. Untuk cluster standar, namespace-nya dapat berupa namespace apa pun.PVC_NAME: nama PVC yang akan Anda buatkan snapshot-nya.VOLUME_SNAPSHOT_NAME: nama snapshot volume.