Skip to content

Commit f1a8462

Browse files
irvifak8s-ci-robot
authored andcommitted
Add Kubernetes Components in lang ID. (#13888)
* Add Kubernetes Components in lang ID. * Remove glossary since it's not translated yet. * Add what is kubernetes? in ID lang * Add kubernetes API in lang ID. * Address id loc suggestions fo Kubernetes' overview. * Remove uneeded lines of definitions. * Add glossaries for Bahasa Indonesia. * Add kubelet glossary for Bahasa Indonesia. * Fix all italics due to missing period and false tag.
1 parent 734eb9a commit f1a8462

File tree

9 files changed

+592
-0
lines changed

9 files changed

+592
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
title: "Ikhtisar"
3+
weight: 20
4+
---
5+
Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
---
2+
title: Komponen-Komponen Kubernetes
3+
content_template: templates/concept
4+
weight: 20
5+
card:
6+
name: concepts
7+
weight: 20
8+
---
9+
10+
{{% capture overview %}}
11+
Dokumen ini merupakan ikhtisar yang mencakup berbagai komponen
12+
yang dibutuhkan agar kluster Kubernetes dapat berjalan secara fungsional.
13+
14+
{{% /capture %}}
15+
16+
{{% capture body %}}
17+
## Komponen <i>Master</i>
18+
19+
Komponen <i>master</i> menyediakan <i>control plane</i> bagi kluster.
20+
Komponen ini berperan dalam proses pengambilan secara global
21+
pada kluster (contohnya, mekanisme <i>schedule</i>), serta berperan dalam proses
22+
deteksi serta pemberian respons terhadap <i>events</i> yang berlangsung di dalam kluster
23+
(contohnya, penjadwalan pod baru apabila jumlah replika yang ada pada
24+
<i>replication controller</i> tidak terpenuhi).
25+
26+
Komponen master dapat dijalankan di mesin manapun yang ada di kluster. Meski begitu,
27+
untuk memudahkan proses yang ada, <i>script</i> inisiasi awal yang dijalankan
28+
biasanya memulai komponen master pada mesin yang sama, serta tidak menjalankan
29+
kontainer bagi pengguna di mesin ini. Contoh konfigurasi <i>multi-master VM</i>
30+
dapat dilihat di modul [Membangun Kluster HA] (/docs/admin/high-availability/).
31+
32+
33+
### kube-apiserver
34+
35+
{{< glossary_definition term_id="kube-apiserver" length="all" >}}
36+
37+
38+
### etcd
39+
40+
{{< glossary_definition term_id="etcd" length="all" >}}
41+
42+
43+
### kube-scheduler
44+
45+
{{< glossary_definition term_id="kube-scheduler" length="all" >}}
46+
47+
48+
### kube-controller-manager
49+
50+
{{< glossary_definition term_id="kube-controller-manager" length="all" >}}
51+
52+
Kontroler-kontroler ini meliputi:
53+
54+
* Kontroler <i>Node</i> : Bertanggung jawab untuk mengamati dan memberikan
55+
respons apabila jumlah <i>node</i> berkurang.
56+
* Kontroler Replikasi : Bertanggung jawab untuk menjaga jumlah <i>pod</i> agar
57+
jumlahnya sesuai dengan kebutuhan setiap objek kontroler replikasi yang ada di sistem.
58+
* Kontroler <i>Endpoints</i> : Menginisiasi objek <i>Endpoints</i>
59+
(yang merupakan gabungan <i>Pods</i> dan <i>Services</i>).
60+
* Kontroler <i>Service Account & Token</i>: Membuat akun dan
61+
akses token API standar untuk setiap <i>namespaces</i> yang dibuat.
62+
63+
64+
### cloud-controller-manager
65+
66+
[Cloud-controller-manager](/en/docs/tasks/administer-cluster/running-cloud-controller/) merupakan kontroler yang berinteraksi dengan penyedia layanan <i>cloud</i>.
67+
Kontroler ini merupakat fitur alfa yang diperkenalkan pada Kubernetes versi 1.6.
68+
69+
<i>Cloud-controller-manager</i> hanya menjalankan iterasi kontroler <i>cloud-provider-specific</i> .
70+
Kamu harus menonaktifkan iterasi kontroler ini pada <i>kube-controller-manager</i>.
71+
Kamu dapat menonaktifka iterasi kontroler ini dengan mengubah nilai argumen `--cloud-provider` dengan `external`
72+
ketika menginisiasi <i>kube-controller-manager</i>.
73+
74+
Adanya <i>cloud-controller-manager</i> memungkinkan kode yang dimiliki oleh penyedia layanan <i>cloud</i>
75+
dan kode yang ada pada Kubernetes saling tidak bergantung selama masa <i>development</i>.
76+
Pada versi sebelumnya, Kubernetes bergantung pada fungsionalitas spesifik yang disediakan oleh
77+
penyedia layanan <i>cloud</i>. Di masa mendatang, kode yang secara spesifik dimiliki oleh
78+
penyedia layanan <i>cloud</i> akan dipelihara oleh penyedia layanan <i>cloud</i> itu sendiri,
79+
kode ini selanjutnya akan dihubungkan dengan <i>cloud-controller-manager</i> ketika Kubernetes dijalankan.
80+
81+
Kontroler berikut ini memiliki keterkaitan dengan penyedia layanan <i>cloud</i>:
82+
83+
* Kontroler Node : Melakukan pengecekan pada penyedia layanan <i>cloud</i> ketika menentukan apakah sebuah <i>node</i> telah dihapus pada <i>cloud</i> apabila <i>node</i> tersebut berhenti memberikan respons.
84+
* Kontroler Route : Melakukan pengaturan awal <i>route</i> yang ada pada penyedia layanan <i>cloud</i>
85+
* Kontroler Service : Untuk membuat, memperbaharui, menghapus <i>load balancer</i> yang disediakan oleh penyedia layanan <i>cloud</i>
86+
* Kontroler Volume : Untuk membuat, meng-attach, dan melakukan <i>mount volume</i> serta melakukan inetraksi dengan penyedia layanan <i>cloud</i> untuk melakukan orkestrasi <i>volume</i>
87+
88+
89+
## Komponen <i>Node</i>
90+
91+
Komponen ini ada pada setiap <i>node</i>, fungsinya adalah melakukan pemeliharaan terhadap <i>pod</i> serta menyediakan <i>environment runtime</i> bagi Kubernetes.
92+
93+
94+
### kubelet
95+
96+
{{< glossary_definition term_id="kubelet" length="all" >}}
97+
98+
99+
### kube-proxy
100+
101+
[kube-proxy](/docs/admin/kube-proxy/) membantu abstraksi service Kubernetes melakukan tugasnya. Hal ini terjadi dengan cara memelihara aturan-aturan jaringan (network rules) serta meneruskan koneksi yang ditujukan pada suatu host.
102+
103+
104+
### <i>Container Runtime</i>
105+
106+
<i>Container runtime</i> adalah perangkat lunak yang bertanggung jawab dalam menjalankan kontainer.
107+
Kubernetes mendukung beberapa <i>runtime</i>, diantaranya adalah: [Docker](http://www.docker.com), [containerd](https://containerd.io), [cri-o](https://cri-o.io/), [rktlet](https://github.com/kubernetes-incubator/rktlet) dan semua implementasi [Kubernetes CRI (Container Runtime Interface)](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-node/container-runtime-interface.md).
108+
109+
110+
## <i>Addons</i>
111+
112+
<i>Addons</i> merupakan pod dan service yang mengimplementasikan fitur-fitur yang diperlukan kluster.
113+
114+
Beberapa <i>addons</i> akan dijelaskan selanjutnya.
115+
116+
117+
### DNS
118+
119+
Meskipun tidak semua <i>addons</i> dibutuhkan, semua kluster Kubernetes hendaknya
120+
memiliki DNS kluster. Komponen ini penting karena banyak dibutuhkan oleh komponen
121+
lainnya.
122+
123+
[Kluster DNS](/en/docs/concepts/cluster-administration/addons/ ) adalah server DNS, selain beberapa server DNS lain yang sudah ada di
124+
<i>environment</i> kamu, yang berfungsi sebagai catatan DNS bagi Kubernetes <i>services</i>
125+
126+
Kontainer yang dimulai oleh kubernetes secara otomatis akan memasukkan server DNS ini
127+
ke dalam mekanisme pencarian DNS yang dimilikinya.
128+
129+
130+
### <i>Web UI</i> (Dasbor)
131+
132+
[Dasbor](/en/docs/tasks/access-application-cluster/web-ui-dashboard/) adalah antar muka berbasis web multifungsi yang ada pada kluster Kubernetes.
133+
Dasbor ini memungkinkan user melakukan manajemen dan <i>troubleshooting</i> kluster maupun
134+
aplikasi yang ada pada kluster itu sendiri.
135+
136+
137+
### <i>Container Resource Monitoring</i>
138+
139+
[Container Resource Monitoring](/en/docs/tasks/debug-application-cluster/resource-usage-monitoring/) mencatat metrik <i>time-series</i> yang diperoleh
140+
dari kontainer ke dalam basis data serta menyediakan antar muka yang dapat digunakan
141+
untuk melakukan pencarian data yang dibutuhkan.
142+
143+
144+
### <i>Cluster-level Logging</i>
145+
146+
[Cluster-level logging](/en/docs/concepts/cluster-administration/logging/) bertanggung jawab mencatat <i>log</i> kontainer pada
147+
penyimpanan <i>log</i> terpusat dengan antar muka yang dapat digunakan untuk melakukan
148+
pencarian.
149+
150+
{{% /capture %}}
151+
152+
Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
---
2+
title: API Kubernetes
3+
content_template: templates/concept
4+
weight: 30
5+
card:
6+
name: concepts
7+
weight: 30
8+
---
9+
10+
{{% capture overview %}}
11+
12+
Secara keseluruhan standar yang digunakan untuk API dijelaskan di dalam [dokumentasi API standar](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md).
13+
14+
<i>Endpoints API</i>, <i>resource types</i> serta contoh penggunaan dijelaskan di dalam [API Reference](/en/docs/reference).
15+
16+
Akses <i>remote</i> penggunaan API dijelaskan di dalam [dokumentasi akses API](/en/docs/reference/access-authn-authz/controlling-access/).
17+
18+
API Kubernetes juga berperan sebagai skema konfigurasi yang deklaratif di dalam sistem.. Sementara itu, [kubectl](/en/docs/reference/kubectl/overview/) merupakan <i>command-line</i> yang dapat digunakan untuk membuat, menmperbaharui, menghapus, dan mendapatkan obyek API.
19+
20+
Kubernetes menyimpan bentuk terserialisasi dari obyek API yang dimilikinya di dalam [etcd](https://coreos.com/docs/distributed-configuration/getting-started-with-etcd/).
21+
22+
Kubernetes sendiri dibagi menjadi beberapa komponen yang saling dapat saling interaksi melalui API.
23+
24+
{{% /capture %}}
25+
26+
27+
{{% capture body %}}
28+
29+
## Perubahan API
30+
31+
Berdasarkan pengalaman kami, semua sistem yang berhasil memerlukan kebutuhan
32+
untuk terus tumbuh dan berkembang seiring dengan bertambahnya kebutuhan
33+
yang ada. Dengan demikian, kami berekspektasi bahwa API akan selalu berubah seiring dengan bertambahnya kebutuhan yang ada.
34+
Meski begitu, perubahan yang ada akan selalu kompatibel dengan implementasi sebelumnya, untuk jangka waktu tertentu.
35+
Secara umum, penambahan pada sebuah resource API atau field resource bisa sering terjadi.. Penghapusan <i>resource API</i> atau suatu <i>field</i>, di sisi lain,
36+
diharapkan untuk dapat memenuhi [kaidah deprecation API](/docs/reference/using-api/deprecation-policy/).
37+
38+
Hal-hal apa saja yang perlu diperhatikan untuk menjamin kompatibilitas API
39+
secara rinci dibahas di dalam [dokumentasi perubahan API](https://git.k8s.io/community/contributors/devel/sig-architecture/api_changes.md).
40+
41+
## Swagger and OpenAPI Definition
42+
43+
Detail mengenai API didokumentasikan dengan menggunakan [OpenAPI](https://www.openapis.org/).
44+
45+
Semenjak Kubernetes versi 1.10, Kubernetes menghadirkan spesifikasi <i>OpenAPI</i> melalui <i>endpoint</i> `/openapi/v2`.
46+
Format <i>request</i> dapat diterapkan dengan cara menambahkan <i>header HTTP</i>:
47+
48+
Header | Opsi
49+
------ | ---------------
50+
Accept | `application/json`, `application/com.github.proto-openapi.spec.v2@v1.0+protobuf` (<i>content-type</i> standar yang digunakan adalah `application/json` untuk `*/*`)
51+
Accept-Encoding | `gzip`
52+
53+
Sebelum versi 1.14, terdapat 4 buah <i>endpoint</i> yang menyediakan spesifikasi <i>OpenAPI</i>
54+
dalam format berbeda yang dapat digunakan (`/swagger.json`, `/swagger-2.0.0.json`, `/swagger-2.0.0.pb-v1`, `/swagger-2.0.0.pb-v1.gz`).
55+
<i>Endpoint</i> ini bersifat <i>deprecated</i> dan akan dihapus pada Kubernetes versi 1.14.
56+
57+
**Cara mendapatkan spesifikasi <i>OpenAPI</i>**:
58+
59+
Sebelum 1.10 | Mulai Kubernetes 1.10
60+
----------- | -----------------------------
61+
GET /swagger.json | GET /openapi/v2 **Accept**: application/json
62+
GET /swagger-2.0.0.pb-v1 | GET /openapi/v2 **Accept**: application/com.github.proto-openapi.spec.v2@v1.0+protobuf
63+
GET /swagger-2.0.0.pb-v1.gz | GET /openapi/v2 **Accept**: application/com.github.proto-openapi.spec.v2@v1.0+protobuf **Accept-Encoding**: gzip
64+
65+
Kubernetes juga menyediakan alternatif mekanisme serialisasi lain,
66+
yaitu dengan menggunakan <i>Protobuf</i>, yang secara umum digunakan untuk mekanisme komunikasi
67+
intra-kluster, hal ini didokumentasikan di dalam [proposal desain](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/protobuf.md)
68+
serta berkas IDL sebagai bentuk spesifikasi skema berada dalam <i>package</i> Go
69+
70+
Sebelum Kubernetes versi 1.14, <i>apiserver</i> Kubernetes juga mengekspos API
71+
yang dapat digunakan untuk mendapatkan spesifikasi [Swagger v1.2](http://swagger.io/) pada <i>endpoint</i> `/swaggerapi`.
72+
<i>Endpoint</i> ini akan sudah bersifat <i>deprecated</i> dan akan dihapus pada
73+
Kubernetes versi 1.14.
74+
75+
## Pemberian Versi pada API
76+
77+
Untuk memudahkan restrukturisasi field dan resource yang ada,
78+
Kubernetes menyediakan beberapa versi API yang berada pada <i>path</i> yang berbeda,
79+
misalnya `/api/v1` atau `/apis/extensions/v1beta1`.
80+
81+
Kita dapat memilih versi yang akan digunakan pada tingkatan API
82+
dan bukan pada tingkatan <i>field</i> atau <i>resource</i> untuk memastikan
83+
API yang digunakan memperlihatkan gambaran yang jelas serta konsisten
84+
mengenai <i>resoure</i> dan sifat sistem yang ada.
85+
86+
Perhatikan bahwa pemberian versi pada API dan pemberian versi pada API dan perangkat lunak memiliki keterkaitan secara tak langsung.
87+
Proposal [API and release
88+
versioning](https://git.k8s.io/community/contributors/design-proposals/release/versioning.md) memberikan deskripsi keterkaitan antara
89+
pemberian versi pada API dan pemberian versi pada perangkat lunak.
90+
91+
API dengan versi yang berbeda menunjukan tingkatan kestabilan dan ketersediaan yang diberikan pada versi tersebut.
92+
Kriteria untuk setiap tingkatan dideskripsikan secara lebih detail di dalam
93+
[dokumentasi perubahan API](https://git.k8s.io/community/contributors/devel/sig-architecture/api_changes.md#alpha-beta-and-stable-versions). They are summarized here:
94+
95+
- Tingkatan <i>Alpha</i>:
96+
- Nama dari versi ini mengandung string `alpha` (misalnya, `v1alpha1`).
97+
- Bisa jadi terdapat <i>bug</i>. Secara <i>default</i> fitur ini tidak diekspos.
98+
- Ketersediaan untuk fitur yang ada bisa saja dihilangkan pada suatu waktu tanpa pemberitahuan sebelumnya.
99+
- API yang ada mungkin saja berubah tanpa memperhatikan kompatibilitas dengan versi perangkat lunak sebelumnya.
100+
- Hanya direkomendasikan untuk kluster yang digunakan untuk tujuan <i>testing</i>.
101+
- Tingkatan <i>Beta</i>:
102+
- Nama dari versi ini mengandung string `beta` (misalnya `v2beta3`).
103+
- Kode yang ada sudah melalui mekanisme <i>testing</i> yang cukup baik. Menggunakan fitur ini dianggap cukup aman. Fitur ini diekspos secara <i>default</i>.
104+
- Ketersediaan untuk fitur secara menyeluruh tidak akan dihapus, meskipun begitu detail untuk suatu fitur bisa saja berubah.
105+
- Skema dan/atau semantik dari suatu obyek mungkin saja berubah tanpa memerhatikan kompatibilitas pada rilis <i>beta</i> selanjutnya.
106+
Jika hal ini terjadi, kami akan menyediakan suatu instruksi untuk melakukan migrasi di versi rilis selanjutnya. hal ini bisa saja terdiri dari penghapusan, pengubahan, ataupun pembuatan
107+
obyek API. Proses pengubahan mungkin saja membutuhkan pemikiran yang matang. Dampak proses ini bisa saja menyebabkan <i>downtime</i> aplikasi yang bergantung pada fitur ini.
108+
- Disarankan hanya untuk digunakan untuk penggunaan yang untuk penggunaan yang tidak berdampak langsung pada bisnis kamu.
109+
- **Kami mohon untuk mencoba versi <i>beta</i> yang kami sediakan dan berikan masukan terhadap fitur yang kamu pakai! Apabila fitur tersebut sudah tidak lagi berada di dalam tingkatan <i>beta</i> perubahan yang kami buat terhadap fitur tersebut bisa jadi tidak lagi dapat digunakan**
110+
- Tingkatan stabil:
111+
- Nama dari versi ini mengandung string `vX` dimana `X` merupakan bilangan bulat.
112+
- Fitur yang ada pada tingkatan ini akan selalu muncul di rilis berikutnya.
113+
114+
## <i>API groups</i>
115+
116+
Untuk memudahkan proses ekstensi suatu API Kubernetes, kami mengimplementasikan [*API groups*](https://git.k8s.io/community/contributors/design-proposals/api-machinery/api-group.md).
117+
<i>API group</i> ini dispesifikasikan di dalam <i>path</i> <i>REST</i> serta di dalam <i>field</i> `apiVersion` dari sebuah obyek yang sudah diserialisasi.
118+
119+
Saat ini, terdapat beberapa <i>API groups</i> yang digunakan:
120+
121+
1. Kelompok *core*, seringkali disebut sebagai *legacy group*, berada pada <i>path</i> <i>REST</i> `/api/v1` serta menggunakan `apiVersion: v1`.
122+
123+
1. <i>Named groups</i> berada pada <i>path</i> <i>REST</i> `/apis/$GROUP_NAME/$VERSION`, serta menggunakan `apiVersion: $GROUP_NAME/$VERSION`
124+
(misalnya `apiVersion: batch/v1`). Daftar menyeluruh mengenai apa saja <i>API groups</i> dapat dilihat di [Kubernetes API reference](/docs/reference/).
125+
126+
127+
Ekstensi API dengan custom resources dapat dilakukan melalui dua buah path:
128+
129+
1. [CustomResourceDefinition]()
130+
digunakan jika memerlukan seluruh set semantik Kubernetes API, pengguna boleh implementasi apiserver sendiri dengan menggunakan aggregator.
131+
1. Pengguna yang membutuhkan seperangkat semantik API Kubernetes API dapat mengimplementasikan <i>apiserver</i> mereka sendiri.
132+
dengan menggunakan [aggregator]()
133+
untuk membuat integrasi dengan klien menjadi lebih mudah.
134+
135+
136+
## Mengaktifkan <i> API groups</i>
137+
138+
Beberapa <i>resources</i> dan <i>API groups</i> sudah diaktifkan secara <i>default</i>.
139+
<i>Resource</i> dan <i>API groups</i> ini dapat diaktifkan dan dinonaktifkan dengan mengatur penanda `--runtime-config`
140+
pada <i>apiserver</i>. `--runtime-config` menerima nilai yang dipisahkan oleh koma. Sebagai contoh: untuk menonaktifkan batch/v1, tetapkan
141+
`--runtime-config=batch/v1=false`, untuk mengaktifkan batch/v2alpha1, tetapkan `--runtime-config=batch/v2alpha1`.
142+
Penanda menerima nilai yang dipisahkan oleh pasangan `key=value` yang mendeskripsikan konfigurasi <i>runtime</i> pada <i>apiserver</i>.
143+
144+
PENTING: Melakukan proses mengaktifkan atau menonaktifkan <i>groups</i> atau <i>resources</i>
145+
membutuhkan mekanisme <i>restart</i> <i>apiserver</i> dan <i>controller-manager</i>
146+
agar <i>apiserver</i> dapat menerima perubahan `--runtime-config`.
147+
148+
## Mengaktifkan <i>resources</i> di dalam <i>groups</i>
149+
150+
<i>DaemonSets</i>, <i>Deployments</i>, <i>HorizontalPodAutoscalers</i>,
151+
<i>Ingresses</i>, <i>Jobs</i>, dan <i>ReplicaSets</i> diaktifkan secara <i>default</i>.
152+
Ekstensi lain dapat diaktifkan penanda `--runtime-config` pada <i>apiserver</i>. Penanda `--runtime-config` menerima nilai yang dipisahkan oleh koma.
153+
Sebagai contoh untuk menonaktifkan <i>deployments</i> dan <i>ingress</i>, tetapkan.
154+
`--runtime-config=extensions/v1beta1/deployments=false,extensions/v1beta1/ingresses=false`
155+
156+
{{% /capture %}}

0 commit comments

Comments
 (0)