Add ttlafterfinished for ID localization. (#16008)
* Add ttlafterfinished for ID localization. * Fix consistency of language usage based on review.
This commit is contained in:
committed by
Kubernetes Prow Robot
parent
c9d9e1be14
commit
85288b57a1
@@ -0,0 +1,89 @@
|
|||||||
|
---
|
||||||
|
title: Pengendali TTL untuk Sumber Daya yang Telah Selesai Digunakan
|
||||||
|
content_template: templates/concept
|
||||||
|
weight: 65
|
||||||
|
---
|
||||||
|
|
||||||
|
{{% capture overview %}}
|
||||||
|
|
||||||
|
{{< feature-state for_k8s_version="v1.12" state="alpha" >}}
|
||||||
|
|
||||||
|
Pengendali TTL menyediakan mekanisme TTL yang membatasi umur dari suatu
|
||||||
|
objek sumber daya yang telah selesai digunakan. Pengendali TTL untuk saat ini hanya menangani
|
||||||
|
[Jobs](/docs/concepts/workloads/controllers/jobs-run-to-completion/),
|
||||||
|
dan nantinya bisa saja digunakan untuk sumber daya lain yang telah selesai digunakan
|
||||||
|
misalnya saja Pod atau sumber daya khusus (_custom resource_) lainnya.
|
||||||
|
|
||||||
|
Peringatan Fitur Alpha: fitur ini tergolong datam fitur alpha dan dapat diaktifkan dengan
|
||||||
|
[_feature gate_](/docs/reference/command-line-tools-reference/feature-gates/)
|
||||||
|
`TTLAfterFinished`.
|
||||||
|
|
||||||
|
|
||||||
|
{{% /capture %}}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{{% capture body %}}
|
||||||
|
|
||||||
|
## Pengendali TTL
|
||||||
|
|
||||||
|
Pengendali TTL untuk saat ini hanya mendukung Job. Sebuah operator kluster
|
||||||
|
dapat menggunakan fitur ini untuk membersihkan Job yang telah dieksekusi (baik
|
||||||
|
`Complete` atau `Failed`) secara otomatis dengan menentukan _field_
|
||||||
|
`.spec.ttlSecondsAfterFinished` pada Job, seperti yang tertera di
|
||||||
|
[contoh](/docs/concepts/workloads/controllers/jobs-run-to-completion/#clean-up-finished-jobs-automatically).
|
||||||
|
Pengendali TTL akan berasumsi bahwa sebuah sumber daya dapat dihapus apabila
|
||||||
|
TTL dari sumber daya tersebut telah habis. Proses dihapusnya sumber daya ini
|
||||||
|
dilakukan secara berantai, dimana sumber daya lain yang
|
||||||
|
berkaitan akan ikut terhapus. Perhatikan bahwa ketika sebuah sumber daya dihapus,
|
||||||
|
siklus hidup yang ada akan menjaga bahwa _finalizer_ akan tetap dijalankan sebagaimana mestinya.
|
||||||
|
|
||||||
|
Waktu TTL dalam detik dapat diatur kapan pun. Terdapat beberapa contoh untuk mengaktifkan _field_
|
||||||
|
`.spec.ttlSecondsAfterFinished` pada suatu Job:
|
||||||
|
|
||||||
|
* Spesifikasikan _field_ ini pada _manifest_ sumber daya, sehingga Job akan
|
||||||
|
dihapus secara otomatis beberapa saat setelah selesai dieksekusi.
|
||||||
|
* Aktifkan _field_ ini pada sumber daya yang sudah selesai dieksekusi untuk
|
||||||
|
menerapkan fitur ini.
|
||||||
|
* Gunakan sebuah
|
||||||
|
[mengubah (_mutating_) _admission)](/docs/reference/access-authn-authz/extensible-admission-controllers/#admission-webhooks)
|
||||||
|
untuk mengaktifkan _field_ ini secara dinamis pada saat pembuatan sumber daya.
|
||||||
|
Administrator kluster dapat menggunakan hal ini untuk menjamin kebijakan (_policy_) TTL pada
|
||||||
|
sumber daya yang telah selesai digunakan.
|
||||||
|
* Gunakan sebuah
|
||||||
|
[mengubah (_mutating_) _admission](/docs/reference/access-authn-authz/extensible-admission-controllers/#admission-webhooks)
|
||||||
|
untuk mengaktifkan _field_ ini secara dinamis setelah sumber daya
|
||||||
|
selesai digunakan dan TTL didefinisikan sesuai dengan status, label, atau hal lain
|
||||||
|
yang diinginkan.
|
||||||
|
|
||||||
|
## Peringatan
|
||||||
|
|
||||||
|
### Mengubah TTL Detik
|
||||||
|
|
||||||
|
Perhatikan bahwa periode TTL, yaitu _field_ `.spec.ttlSecondsAfterFinished` pada Job,
|
||||||
|
dapat dimodifikasi baik setelah sumber daya dibuat atau setelah selesai digunakan.
|
||||||
|
Meskipun begitu, setelah Job dapat dihapus (TTL sudah habis), sistem tidak akan
|
||||||
|
menjamin Job tersebut akan tetap ada, meskipun nilai TTL berhasil diubah.
|
||||||
|
|
||||||
|
### _Time Skew_
|
||||||
|
|
||||||
|
Karena pengendali TTL menggunakan cap waktu (_timestamp_) yang disimpan di sumber daya
|
||||||
|
Kubernetes untuk menentukan apakah TTL sudah habis atau belum, fitur ini tidak sensitif
|
||||||
|
terhadap _time skew_ yang ada pada kluster dan bisa saja menghapus objek pada waktu yang salah
|
||||||
|
bagi objek tersebut akibat adanya _time skew_.
|
||||||
|
|
||||||
|
Pada Kubernetes, NTP haruslah dilakukan pada semua node untuk mecegah adanya _time skew_
|
||||||
|
(lihat [#6159](https://github.com/kubernetes/kubernetes/issues/6159#issuecomment-93844058)).
|
||||||
|
_Clock_ tidak akan selalu tepat, meskipun begitu perbedaan yang ada haruslah diminimalisasi.
|
||||||
|
Perhatikan bahwa hal ini dapat terjadi apabila TTL diaktifkan dengan nilai selain 0.
|
||||||
|
|
||||||
|
{{% /capture %}}
|
||||||
|
|
||||||
|
{{% capture whatsnext %}}
|
||||||
|
|
||||||
|
[Membersikan Job secara Otomatis](/docs/concepts/workloads/controllers/jobs-run-to-completion/#clean-up-finished-jobs-automatically)
|
||||||
|
|
||||||
|
[Dokumentasi Rancangan](https://github.com/kubernetes/enhancements/blob/master/keps/sig-apps/0026-ttl-after-finish.md)
|
||||||
|
|
||||||
|
{{% /capture %}}
|
||||||
Reference in New Issue
Block a user