Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Indonesian translation for volume snapshots #16661

Merged
merged 1 commit into from
Oct 3, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
132 changes: 132 additions & 0 deletions content/id/docs/concepts/storage/volume-snapshots.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
---
title: VolumeSnapshot
content_template: templates/concept
weight: 20
---

{{% capture overview %}}

{{< feature-state for_k8s_version="v1.12" state="alpha" >}}
Laman ini menjelaskan tentang fitur VolumeSnapshot pada Kubernetes. Sebelum lanjut membaca, sangat disarankan untuk memahami [PersistentVolume](/docs/concepts/storage/persistent-volumes/) terlebih dahulu.

{{% /capture %}}


{{% capture body %}}

## Pengenalan

Seperti halnya sumber daya API PersistentVolume dan PersistentVolumeClaim yang digunakan oleh para pengguna dan administrator untuk menyediakan volume, sumber daya API VolumeSnapshotContent dan VolumeSnapshot digunakan mereka untuk membuat _snapshot_ volume.

VolumeSnapshotContent merupakan suatu _snapshot_ yang diambil dari sebuah volume dari dalam kluster yang telah disediakan oleh administrator. Sepert layaknya PersistentVolume, VolumeSnapshotContent juga merupakan bagian dari sumber daya kluster.

VolumeSnapshot merupakan suatu permintaan _snapshot_ dari volume oleh pengguna. Mirip seperti halnya PersistentVolumeClaim.

Walaupun VolumeSnapshot membuat pengguna bisa mengonsumsi abstraksi dari sumber daya penyimpanan, administrator kluster tetap perlu
menawarkan berbagai macam tipe VolumeSnapshotContent, tanpa perlu mengekspos pengguna pada detail bagaimana _snapshot_
volume tersebut harus tersediakan. Bagi yang memerlukan hal ini, ada yang namanya sumber daya VolumeSnapshotClass.

Para pengguna tetap perlu mengetahui beberapa hal di bawah ketika menggunakan fitur ini:

* Objek API VolumeSnapshot, VolumeSnapshotContent, dan VolumeSnapshotClass adalah CRD, bukan bagian dari API inti.
* Fitur VolumeSnapshot hanya tersedia untuk CSI _driver_.
* Sebagai bagian dari proses _deploy_, tim Kubernetes menyediakan Container _sidecar_ bantuan untuk _controller snapshot_ berrnama `external-snapshotter`. Container ini melakukan _watch_ pada objek VolumeSnapshot dan memicu operasi CreateSnapshot dan DeleteSnapshot terhadap sebuah _endpoint_ CSI.
* _Driver_ CSI ada yang telah implementasi fitur VolumeSnapshot, ada juga yang belum. _Driver_ CSI yang telah menyediakan dukungan terhadap fitur VolumeSnapshot kemungkinan besar menggunakan `external-snapshotter`.
* _Driver_ CSI yang mendukung VolumeSnapshot akan secara otomatis melakukan instalasi CRD untuk VolumeSnapshot.

## Siklus hidup VolumeSnapshot dan VolumeSnapshotContent

VolumeSnapshotContent merupakan bagian dari sumber daya kluster. VolumeSnapshot merupakan permintaan terhadap sumber daya tersebut. Interaksi antara VolumeSnapshotContent dan VolumeSnapshot mengikuti siklus hidup berikut ini:

### Penyediaan VolumeSnapshot

Ada dua cara untuk menyediakan _snapshot_: secara statis maupun dinamis.

#### Statis
Seorang adminstrator kluster membuat beberapa VolumeSnapshotContent, yang masing-masing memiliki detail tentang penyimpanan sebenarnya yang dapat dipergunakan oleh para pengguna. VolumeSnapshotContent tersebut dapat dikonsumsi melalui API Kubernetes.

#### Dinamis
Ketika VolumeSnapshotContent yang dibuat oleh administrator tidak ada yang sesuai dengan VolumeSnapshot yang dibuat pengguna, kluster bisa saja
mencoba untuk menyediakan sebuah VolumeSnapshot secara dinamis, khususnya untuk objek VolumeSnapshot.
Proses penyediaan ini berdasarkan VolumeSnapshotClasses: VolumeSnapshot harus meminta sebuah [VolumeSnapshotClass]((/docs/concepts/storage/volume-snapshot-classes/))
dan administrator harus membuat serta mengatur _class_ tersebut supaya penyediaan dinamis bisa terjadi.

### Ikatan (_Binding_)

Seorang pengguna akan membuat (atau telah membuat, dalam kasus penyediaan dinamis) sebuah VolumeSnapshot dengan ukuran penyimpanan yang diminta beserta mode akses tertentu. Suatu _loop_ kontrol melakukan _watch_ terhadap VolumeSnapshot baru, mencari VolumeSnapshotContent yang sesuai (jika memungkinkan), dan mengikat (_bind_) keduanya. Jika VolumeSnapshotContent secara dinamis disediakan untuk VolumeSnapshot yang baru,
_loop_ akan terus mengikat VolumeSnapshotContent dengan VolumeSnapshot. Ketika telah terikat (_bound_), VolumeSnapshot _bind_ bersifat eksklusif, terlepas dari bagaimana proses _bind_ dilakukan. Ikatan (_binding_) antara suatu VolumeSnapshot dengan VolumeSnapshotContent bersifat 1:1 _mapping_.

VolumeSnapshot akan tetap tidak terikat (_unbound_) tanpa ada batas waktu, jika VolumeSnapshotContent yang sesuai tidak ditemukan. VolumeSnapshot akan menjadi terikat (_bound_) ketika VolumeSnapshotContent yang sesuai menjadi ada.

### PersistentVolumeClaim dengan _in-Use Protection_

Tujuan dari objek PersistentVolumeClaim dengan fitur _in Use Protection_ adalah memastikan objek API PVC yang masih dalam penggunaan (_in-use_) tidak akan dihilangkan dari sistem (penghilangan akan menyebabkan hilangnya data).

Jika sebuah PVC sedang digunakan secara aktif oleh proses _snapshot_ yang digunakan sebagai sumbernya (_source_), artinya PVC sedang dalam penggunaan (_in-use_). Jika seorang pengguna menghapus suatu objek API PVC saat dalam penggunaan sebagai sumber _snapshot_, objek PVC tidak akan dihilangkan segera. Namun, penghapusan objek PVC akan ditunda sampai PVCC tidak lagi secara aktif digunakan oleh proses _snapshot_ manapun. Suatu PVC tidak lagi diguunakan sebagai suumber _snapshot_ ketika `ReadyToUse` dari `Status` _snapshot_ menjadi `true`.

### Penghapusan

Proses penghapusan akan menghilangkan objek VolumeSnapshot dari API Kubernetes, beserta aset penyimpanan terkait pada infrastruktur eksternal.

## VolumeSnapshotContent

Setiap VolumeSnapshotContent memiliki sebuah _spec_, yang merepresentasikan spesifikasi dari _snapshot_ volume tersebut.

```yaml
apiVersion: snapshot.storage.k8s.io/v1alpha1
kind: VolumeSnapshotContent
metadata:
name: new-snapshot-content-test
spec:
snapshotClassName: csi-hostpath-snapclass
source:
name: pvc-test
kind: PersistentVolumeClaim
volumeSnapshotSource:
csiVolumeSnapshotSource:
creationTime: 1535478900692119403
driver: csi-hostpath
restoreSize: 10Gi
snapshotHandle: 7bdd0de3-aaeb-11e8-9aae-0242ac110002
```

### _Class_

Suatu VolumeSnapshotContent dapat memiliki suatu _class_, yang didapat dengan mengatur atribut
`snapshotClassName` dengan nama dari [VolumeSnapshotClass](/docs/concepts/storage/volume-snapshot-classes/).
VolumeSnapshotContent dari _class_ tertentu hanya dapat terikat (_bound_) dengan VolumeSnapshot yang
"meminta" _class_ tersebut. VolumeSnapshotContent tanpa `snapshotClassName` tidak memiliki _class_ dan hanya dapat
terikat (_bound_) dengan VolumeSnapshot yang "meminta" untuk tidak menggunakan _class_.

## VolumeSnapshot

Masing-masing VolumeSnapshot memiliki sebuah _spec_ dan status, yang merepresentasikan spesifikasi dan status dari _snapshot_ volume tersebut.

```yaml
apiVersion: snapshot.storage.k8s.io/v1alpha1
kind: VolumeSnapshot
metadata:
name: new-snapshot-test
spec:
snapshotClassName: csi-hostpath-snapclass
source:
name: pvc-test
kind: PersistentVolumeClaim
```

### _Class_

Suatu VolumeSnapshot dapat meminta sebuah _class_ tertentu dengan mengatur nama dari
[VolumeSnapshotClass](/docs/concepts/storage/volume-snapshot-classes/)
menggunakan atribut `snapshotClassName`.
Hanya VolumeSnapshotContent dari _class_ yang diminta, memiliki `snapshotClassName` yang sama
dengan VolumeSnapshot, dapat terikat (_bound_) dengan VolumeSnapshot tersebut.

## Penyediaan (_Provisioning_) Volume dari _Snapshot_

Kamu dapat menyediakan sebuah volume baru, yang telah terisi dengan data dari suatu _snapshot_, dengan
menggunakan _field_ `dataSource` pada objek PersistentVolumeClaim.

Untuk detailnya bisa dilihat pada [VolumeSnapshot and Mengembalikan Volume dari _Snapshot_](/docs/concepts/storage/persistent-volumes/#volume-snapshot-and-restore-volume-from-snapshot-support).

{{% /capture %}}