Add Indonesian translation for container runtime class (#14222)
* Add Indonesian translation for container runtime class * Address broken links and backticks * Change single asterisk to underscore for italic format
This commit is contained in:
committed by
Kubernetes Prow Robot
parent
8f0fa1aa8e
commit
7327c658b0
@@ -0,0 +1,161 @@
|
||||
---
|
||||
title: Runtime Class
|
||||
content_template: templates/concept
|
||||
weight: 20
|
||||
---
|
||||
|
||||
{{% capture overview %}}
|
||||
|
||||
{{< feature-state for_k8s_version="v1.14" state="beta" >}}
|
||||
|
||||
Laman ini menjelaskan tentang _resource_ RuntimeClass dan proses pemilihan _runtime_.
|
||||
|
||||
{{< warning >}}
|
||||
RuntimeClass memiliki _breaking change_ untuk pembaruan ke beta pada v1.14. Jika kamu menggunakan
|
||||
RuntimeClass sebelum v1.14, lihat [Memperbarui RuntimeClass dari Alpha ke Beta](#memperbarui-runtimeclass-dari-alpha-ke-beta).
|
||||
{{< /warning >}}
|
||||
|
||||
{{% /capture %}}
|
||||
|
||||
|
||||
{{% capture body %}}
|
||||
|
||||
## `Runtime Class`
|
||||
|
||||
RuntimeClass merupakan sebuah fitur untuk memilih konfigurasi _runtime_ kontainer. Konfigurasi
|
||||
tersebut digunakan untuk menjalankan kontainer-kontainer milik suatu Pod.
|
||||
|
||||
### Persiapan
|
||||
|
||||
Pastikan gerbang fitur (_feature gate_) `RuntimeClass` sudah aktif (secara _default_ sudah aktif).
|
||||
Lihat [Gerbang Fitur](/docs/reference/command-line-tools-reference/feature-gates/) untuk lebih
|
||||
jelasnya soal pengaktifan gerbang fitur.
|
||||
Gerbang fitur RuntimeClass ini harus aktif pada semua apiserver dan kubelet.
|
||||
|
||||
1. Lakukan konfigurasi pada implementasi CRI untuk setiap _node_ (tergantung _runtime_ yang dipilih)
|
||||
2. Buat _resource_ RuntimeClass yang terkait
|
||||
|
||||
#### 1. Lakukan konfigurasi pada implementasi CRI untuk setiap _node_
|
||||
|
||||
Pilihan konfigurasi yang tersedia melalui RuntimeClass tergantung pada implementasi
|
||||
_Container Runtime Interface_ (CRI). Lihat bagian ([di bawah ini](#konfigurasi-cri))
|
||||
soal bagaimana melakukan konfigurasi untuk implementasi CRI yang kamu miliki.
|
||||
|
||||
{{< note >}}
|
||||
Untuk saat ini, RuntimeClass berasumsi bahwa semua _node_ di dalam kluster punya
|
||||
konfigurasi yang sama (homogen). Jika ada _node_ yang punya konfigurasi berbeda dari
|
||||
yang lain (heterogen), maka perbedaan ini harus diatur secara independen di luar RuntimeClass
|
||||
melalui fitur _scheduling_ (lihat [Menempatkan Pod pada Node](/docs/concepts/configuration/assign-pod-node/)).
|
||||
{{< /note >}}
|
||||
|
||||
Seluruh konfigurasi memiliki nama `handler` yang terkait, dijadikan referensi oleh RuntimeClass.
|
||||
Nama _handler_ harus berupa valid label 1123 DNS (alfanumerik + karakter `-`).
|
||||
|
||||
#### 2. Buat _resource_ `RuntimeClass` yang terkait
|
||||
|
||||
Masing-masing konfigurasi pada langkah no.1 punya nama `handler` yang merepresentasikan
|
||||
konfigurasi-konfigurasi tersebut. Untuk masing-masing `handler`, buatlah sebuah objek RuntimeClass terkait.
|
||||
|
||||
_Resource_ RuntimeClass saat ini hanya memiliki 2 _field_ yang penting: nama RuntimeClass tersebut
|
||||
(`metadata.name`) dan _handler_ (`handler`). Definisi objek tersebut terlihat seperti ini:
|
||||
|
||||
```yaml
|
||||
apiVersion: node.k8s.io/v1beta1 # RuntimeClass didefinisikan pada grup API node.k8s.io
|
||||
kind: RuntimeClass
|
||||
metadata:
|
||||
name: myclass # Nama dari RuntimeClass yang nantinya akan dijadikan referensi
|
||||
# RuntimeClass merupakan resource tanpa namespace
|
||||
handler: myconfiguration # Nama dari konfigurasi CRI terkait
|
||||
```
|
||||
|
||||
{{< note >}}
|
||||
Sangat disarankan untuk hanya memperbolehkan admin kluster melakukan operasi
|
||||
_write_ pada RuntimeClass. Biasanya ini sudah jadi _default_. Lihat [Ikhtisar
|
||||
Autorisasi](/docs/reference/access-authn-authz/authorization/) untuk penjelasan lebih jauh.
|
||||
{{< /note >}}
|
||||
|
||||
### Penggunaan
|
||||
|
||||
Ketika RuntimeClass sudah dikonfigurasi pada kluster, penggunaannya sangatlah mudah.
|
||||
Kamu bisa tentukan `runtimeClassName` di dalam `spec` sebuah Pod, sebagai contoh:
|
||||
|
||||
```yaml
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: mypod
|
||||
spec:
|
||||
runtimeClassName: myclass
|
||||
# ...
|
||||
```
|
||||
|
||||
Kubelet akan mendapat instruksi untuk menggunakan RuntimeClass dengan nama yang sudah ditentukan tersebut
|
||||
untuk menjalankan Pod ini. Jika RuntimeClass dengan nama tersebut tidak ditemukan, atau CRI tidak dapat
|
||||
menjalankan _handler_ yang terkait, maka Pod akan memasuki [tahap]((/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase)) `Failed`.
|
||||
Lihat [_event_](/docs/tasks/debug-application-cluster/debug-application-introspection/) untuk mengetahui pesan error yang terkait.
|
||||
|
||||
Jika tidak ada `runtimeClassName` yang ditentukan di dalam Pod, maka RuntimeHandler yang _default_ akan digunakan.
|
||||
Untuk kasus ini, perilaku kluster akan seperti saat fitur RuntimeClass dinonaktifkan.
|
||||
|
||||
### Konfigurasi CRI
|
||||
|
||||
Lihat [instalasi CRI](/docs/setup/cri/) untuk lebih detail mengenai pengaturan _runtime_ CRI.
|
||||
|
||||
#### dockershim
|
||||
|
||||
_Built-in_ dockershim CRI yang dimiliki Kubernetes tidak mendukung _handler runtime_.
|
||||
|
||||
#### [containerd](https://containerd.io/)
|
||||
|
||||
_Handler runtime_ diatur melalui konfigurasi containerd pada `/etc/containerd/config.toml`.
|
||||
_Handler_ yang valid dapat dikonfigurasi pada bagian _runtime_:
|
||||
|
||||
```
|
||||
[plugins.cri.containerd.runtimes.${HANDLER_NAME}]
|
||||
```
|
||||
|
||||
Lihat dokumentasi konfigurasi containerd untuk lebih detail:
|
||||
https://github.com/containerd/cri/blob/master/docs/config.md
|
||||
|
||||
#### [cri-o](https://cri-o.io/)
|
||||
|
||||
_Handler runtime_ dapat diatur menggunakan konfigurasi cri-o pada `/etc/crio/crio.conf`.
|
||||
_Handler_ yang valid dapat dikonfigurasi pada [tabel crio.runtime](https://github.com/kubernetes-sigs/cri-o/blob/master/docs/crio.conf.5.md#crioruntime-table):
|
||||
|
||||
```
|
||||
[crio.runtime.runtimes.${HANDLER_NAME}]
|
||||
runtime_path = "${PATH_TO_BINARY}"
|
||||
```
|
||||
|
||||
Lihat dokumentasi konfigurasi cri-o untuk lebih detail:
|
||||
https://github.com/kubernetes-sigs/cri-o/blob/master/cmd/crio/config.go
|
||||
|
||||
|
||||
### Memperbarui RuntimeClass dari Alpha ke Beta
|
||||
|
||||
Fitur Beta pada RuntimeClass memiliki perubahan sebagai berikut:
|
||||
|
||||
- Grup API _resource_ `node.k8s.io` dan `runtimeclasses.node.k8s.io` telah dimigrasi ke suatu
|
||||
API _built-in_ dari CustomResourceDefinition.
|
||||
- Atribut `spec` telah disederhakan pada definisi RuntimeClass (tidak ada lagi yang namanya
|
||||
RuntimeClassSpec).
|
||||
- _Field_ `runtimeHandler` telah berubah nama menjadi `handler`.
|
||||
- _Field_ `handler` sekarang bersifat wajib untuk semua versi API. Artinya, _field_ `runtimeHandler`
|
||||
pada API Alpha juga bersifat wajib.
|
||||
- _Field_ `handler` haruslah berupa label DNS valid ([RFC 1123](https://tools.ietf.org/html/rfc1123)),
|
||||
yang artinya tidak bisa berisi karakter `.` (pada semua versi). _Handler_ valid harus sesuai dengan
|
||||
_regular expression_ ini: `^[a-z0-9]([-a-z0-9]*[a-z0-9])?$`.
|
||||
|
||||
**Tindakan yang diperlukan:** Tindakan-tindaka berikut ini diperlukan untuk melakukan
|
||||
pembaruan fitur RuntimeClass dari versi alpha ke versi beta:
|
||||
|
||||
- _Resource_ RuntimeClass harus dibuat ulang **setelah** diperbarui ke v.1.14, dan
|
||||
CRD `runtimeclasses.node.k8s.io` harus dihapus secara manual:
|
||||
```
|
||||
kubectl delete customresourcedefinitions.apiextensions.k8s.io runtimeclasses.node.k8s.io
|
||||
```
|
||||
- Fitur Alpha pada RuntimeClass akan menjadi tidak valid, jika `runtimeHandler` tidak ditentukan atau
|
||||
kosong atau menggunakan karakter `.` pada _handler_. Ini harus dimigrasi ke _handler_ dengan
|
||||
konfigurasi yang valid (lihat petunjuk di atas).
|
||||
|
||||
{{% /capture %}}
|
||||
Reference in New Issue
Block a user