You are viewing documentation for Kubernetes version: v1.18
Kubernetes v1.18 dokumentasi sudah tidak dirawat lagi. Versi yang kamu lihat ini hanyalah snapshot statis. Untuk dokumentasi terkini, lihat versi terkini.
Pengklonaan Volume CSI
Kubernetes v1.16 [beta]
Introduction
Fitur CSIThe Container Storage Interface (CSI) defines a standard interface to expose storage systems to containers. Volume Cloning menambahkan dukungan untuk merinci PVCClaims storage resources defined in a PersistentVolume so that it can be mounted as a volume in a container. yang telah tersedia pada kolom dataSource
untuk mengindikasikan bahwa seorang pengguna ingin melakukan pengklonaan terhadap sebuah VolumeSebuah direktori yang mengandung data, dapat diakses o;eh kontainer-kontainer di dalam pod.
.
Sebuah klona didefinisikan sebagai sebuah duplikat dari sebuah Volume Kubernetes yang telah tersedia yang dapat digunakan sebagai sebuah Volume standar. Perbedaannya hanyalah pada saat penyediaannya, daripada membuat sebuah Volume kosong yang "baru", peranti penyokongnya membuat sebuah duplikat sama persis dari Volume yang dirinci.
Implementasi dari pengklonaan, dari sudut pandang API Kubernetes, secara sederhana menambahkan kemampuan untuk merinci sebuah PVC yang telah tersedia sebagai sebuah dataSource saat pembuatan PVC. PVC sumber harus tertambat (bound) dan tersedia (tidak sedang digunakan).
Pengguna-pengguna mesti menyadari hal-hal berikut saat menggunakan fitur ini:
- Dukungan pengklonaan (
VolumePVCDataSource
) hanya tersedia untuk driver-driver CSI. - Dukungan pengklonaan hanya tersedia untuk penyedia-penyedia dinamis.
- Driver-driver CSI mungkin telah atau belum mengimplementasi fungsi pengklonaan Volume.
- Kamu hanya dapat mengklonakan sebuah PVC saat ia tersedia pada Namespace yang sama dengan PVC tujuan (sumber dan tujuan harus berada pada Namespace yang sama).
- Pengklonaan hanya didukung pada Storage Class yang sama.
- Volume tujuan harus memiliki Storage Class yang sama dengan sumbernya.
- Storage Class bawaan dapat digunakan dan
storageClassName
dihilangkan darispec
Penyediaan
Klona-klona disediakan sama seperti PVC lainnya dengan pengecualian dengan penambahan sebuah dataSource
yang merujuk pada sebuah PVC yang telah tersedia pada Namespace yang sama.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: clone-of-pvc-1
namespace: myns
spec:
accessModes:
- ReadWriteOnce
storageClassName: cloning
resources:
requests:
storage: 5Gi
dataSource:
kind: PersistentVolumeClaim
name: pvc-1
Hasilnya adalah sebuah PVC baru dengan nama clone-of-pvc-1
yang memiliki isi yang sama dengan sumber yang dirinci pvc-1
.
Penggunaan
Setelah tersedianya PVC baru tersebut, PVC baru yang diklonakan tersebut digunakan sama seperti PVC lainnya. Juga diharapkan pada titik ini bahwa PVC baru tersebut adalah sebuah objek terpisah yang independen. Ia dapat digunakan, diklonakan, di-snapshot, atau dihapus secara terpisah dan tanpa perlu memikirkan PVC dataSource aslinya. Hal ini juga berarti bahwa sumber tidak terikat sama sekali dengan klona yang baru dibuat tersebut, dan dapat diubah atau dihapus tanpa memengaruhi klona yang baru dibuat tersebut.