Skip to content

Commit d8c50a1

Browse files
authored
Merge pull request #19799 from ariscahyadi/trans-id-controller-container
Translate controller and container overview to ID localization
2 parents 2dc543f + 41ed409 commit d8c50a1

File tree

4 files changed

+258
-1
lines changed

4 files changed

+258
-1
lines changed
Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
---
2+
title: Controller
3+
content_template: templates/concept
4+
weight: 30
5+
---
6+
7+
{{% capture overview %}}
8+
9+
Dalam bidang robotika dan otomatisasi, _control loop_ atau kontrol tertutup adalah
10+
lingkaran tertutup yang mengatur keadaan suatu sistem.
11+
12+
Berikut adalah salah satu contoh kontrol tertutup: termostat di sebuah ruangan.
13+
14+
Ketika kamu mengatur suhunya, itu mengisyaratkan ke termostat
15+
tentang *keadaan yang kamu inginkan*. Sedangkan suhu kamar yang sebenarnya
16+
adalah *keadaan saat ini*. Termostat berfungsi untuk membawa keadaan saat ini
17+
mendekati ke keadaan yang diinginkan, dengan menghidupkan atau mematikan
18+
perangkat.
19+
20+
Di Kubernetes, _controller_ adalah kontrol tertutup yang mengawasi keadaan klaster
21+
{{< glossary_tooltip term_id="cluster" text="klaster" >}} kamu, lalu membuat atau meminta
22+
perubahan jika diperlukan. Setiap _controller_ mencoba untuk memindahkan status
23+
klaster saat ini mendekati keadaan yang diinginkan.
24+
25+
{{< glossary_definition term_id="controller" length="short">}}
26+
27+
{{% /capture %}}
28+
29+
30+
{{% capture body %}}
31+
32+
## Pola _controller_
33+
34+
Sebuah _controller_ melacak sekurang-kurangnya satu jenis sumber daya dari
35+
Kubernetes.
36+
[objek-objek](/docs/concepts/overview/working-with-objects/kubernetes-objects/) ini
37+
memiliki *spec field* yang merepresentasikan keadaan yang diinginkan. Satu atau
38+
lebih _controller_ untuk *resource* tersebut bertanggung jawab untuk membuat
39+
keadaan sekarang mendekati keadaan yang diinginkan.
40+
41+
_Controller_ mungkin saja melakukan tindakan itu sendiri; namun secara umum, di
42+
Kubernetes, _controller_ akan mengirim pesan ke
43+
{{< glossary_tooltip text="API server" term_id="kube-apiserver" >}} yang
44+
mempunyai efek samping yang bermanfaat. Kamu bisa melihat contoh-contoh
45+
di bawah ini.
46+
47+
{{< comment >}}
48+
Beberapa _controller_ bawaan, seperti _controller namespace_, bekerja pada objek
49+
yang tidak memiliki *spec*. Agar lebih sederhana, halaman ini tidak
50+
menjelaskannya secara detail.
51+
{{< /comment >}}
52+
53+
### Kontrol melalui server API
54+
55+
_Controller_ {{< glossary_tooltip term_id="job" >}} adalah contoh dari _controller_
56+
bawaan dari Kubernetes. _Controller_ bawaan tersebut mengelola status melalui
57+
interaksi dengan server API dari suatu klaster.
58+
59+
Job adalah sumber daya dalam Kubernetes yang menjalankan a
60+
{{< glossary_tooltip term_id="pod" >}}, atau mungkin beberapa Pod sekaligus,
61+
untuk melakukan sebuah pekerjaan dan kemudian berhenti.
62+
63+
(Setelah [dijadwalkan](../../../../en/docs/concepts/scheduling/), objek Pod
64+
akan menjadi bagian dari keadaan yang diinginkan oleh kubelet).
65+
66+
Ketika _controller job_ melihat tugas baru, maka _controller_ itu memastikan bahwa,
67+
di suatu tempat pada klaster kamu, kubelet dalam sekumpulan Node menjalankan
68+
Pod-Pod dengan jumlah yang benar untuk menyelesaikan pekerjaan. _Controller job_
69+
tidak menjalankan sejumlah Pod atau kontainer apa pun untuk dirinya sendiri.
70+
Namun, _controller job_ mengisyaratkan kepada server API untuk membuat atau
71+
menghapus Pod. Komponen-komponen lain dalam
72+
{{< glossary_tooltip text="control plane" term_id="control-plane" >}}
73+
bekerja berdasarkan informasi baru (adakah Pod-Pod baru untuk menjadwalkan dan
74+
menjalankan pekerjan), dan pada akhirnya pekerjaan itu selesai.
75+
76+
Setelah kamu membuat Job baru, status yang diharapkan adalah bagaimana
77+
pekerjaan itu bisa selesai. _Controller job_ membuat status pekerjaan saat ini
78+
agar mendekati dengan keadaan yang kamu inginkan: membuat Pod yang melakukan
79+
pekerjaan yang kamu inginkan untuk Job tersebut, sehingga Job hampir
80+
terselesaikan.
81+
82+
_Controller_ juga memperbarui objek yang mengkonfigurasinya. Misalnya: setelah
83+
pekerjaan dilakukan untuk Job tersebut, _controller job_ memperbarui objek Job
84+
dengan menandainya `Finished`.
85+
86+
(Ini hampir sama dengan bagaimana beberapa termostat mematikan lampu untuk
87+
mengindikasikan bahwa kamar kamu sekarang sudah berada pada suhu yang kamu
88+
inginkan).
89+
90+
### Kontrol Langsung
91+
92+
Berbeda dengan sebuah Job, beberapa dari _controller_ perlu melakukan perubahan
93+
sesuatu di luar dari klaster kamu.
94+
95+
Sebagai contoh, jika kamu menggunakan kontrol tertutup untuk memastikan apakah
96+
cukup {{< glossary_tooltip text="Node" term_id="node" >}}
97+
dalam kluster kamu, maka _controller_ memerlukan sesuatu di luar klaster saat ini
98+
untuk mengatur Node-Node baru apabila dibutuhkan.
99+
100+
_controller_ yang berinteraksi dengan keadaan eksternal dapat menemukan keadaan
101+
yang diinginkannya melalui server API, dan kemudian berkomunikasi langsung
102+
dengan sistem eksternal untuk membawa keadaan saat ini mendekat keadaan yang
103+
diinginkan.
104+
105+
(Sebenarnya ada sebuah _controller_ yang melakukan penskalaan node secara
106+
horizontal dalam klaster kamu. Silahkan lihat
107+
[_autoscaling_ klaster](/docs/tasks/administer-cluster/cluster-management/#cluster-autoscaling)).
108+
109+
## Status sekarang berbanding status yang diinginkan {#sekarang-banding-diinginkan}
110+
111+
Kubernetes mengambil pandangan sistem secara _cloud-native_, dan mampu menangani
112+
perubahan yang konstan.
113+
114+
Klaster kamu dapat mengalami perubahan kapan saja pada saat pekerjaan sedang
115+
berlangsung dan kontrol tertutup secara otomatis memperbaiki setiap kegagalan.
116+
Hal ini berarti bahwa, secara potensi, klaster kamu tidak akan pernah mencapai
117+
kondisi stabil.
118+
119+
Selama _controller_ dari klaster kamu berjalan dan mampu membuat perubahan yang
120+
bermanfaat, tidak masalah apabila keadaan keseluruhan stabil atau tidak.
121+
122+
## Perancangan
123+
124+
Sebagai prinsip dasar perancangan, Kubernetes menggunakan banyak _controller_ yang
125+
masing-masing mengelola aspek tertentu dari keadaan klaster. Yang paling umum,
126+
kontrol tertutup tertentu menggunakan salah satu jenis sumber daya
127+
sebagai suatu keadaan yang diinginkan, dan memiliki jenis sumber daya yang
128+
berbeda untuk dikelola dalam rangka membuat keadaan yang diinginkan terjadi.
129+
130+
Sangat penting untuk memiliki beberapa _controller_ sederhana daripada hanya satu
131+
_controller_ saja, dimana satu kumpulan monolitik kontrol tertutup saling
132+
berkaitan satu sama lain. Karena _controller_ bisa saja gagal, sehingga Kubernetes
133+
dirancang untuk memungkinkan hal tersebut.
134+
135+
Misalnya: _controller_ pekerjaan melacak objek pekerjaan (untuk menemukan
136+
adanya pekerjaan baru) dan objek Pod (untuk menjalankan pekerjaan tersebut dan
137+
kemudian melihat lagi ketika pekerjaan itu sudah selesai). Dalam hal ini yang
138+
lain membuat pekerjaan, sedangkan _controller_ pekerjaan membuat Pod-Pod.
139+
140+
{{< note >}}
141+
Ada kemungkinan beberapa _controller_ membuat atau memperbarui jenis objek yang
142+
sama. Namun di belakang layar, _controller_ Kubernetes memastikan bahwa mereka
143+
hanya memperhatikan sumbr daya yang terkait dengan sumber daya yang mereka
144+
kendalikan.
145+
146+
Misalnya, kamu dapat memiliki Deployment dan Job; dimana keduanya akan membuat
147+
Pod. _Controller Job_ tidak akan menghapus Pod yang dibuat oleh Deployment kamu,
148+
karena ada informasi ({{< glossary_tooltip term_id="label" text="labels" >}})
149+
yang dapat oleh _controller_ untuk membedakan Pod-Pod tersebut.
150+
{{< /note >}}
151+
152+
## Berbagai cara menjalankan beberapa _controller_ {#menjalankan-_controller_}
153+
154+
Kubernetes hadir dengan seperangkat _controller_ bawaan yang berjalan di dalam
155+
{{< glossary_tooltip term_id="kube-controller-manager" >}}. Beberapa _controller_
156+
bawaan memberikan perilaku inti yang sangat penting.
157+
158+
_Controller Deployment_ dan _controller Job_ adalah contoh dari _controller_ yang
159+
hadir sebagai bagian dari Kubernetes itu sendiri (_controller_ "bawaan").
160+
Kubernetes memungkinkan kamu menjalankan _control plane_ yang tangguh, sehingga
161+
jika ada _controller_ bawaan yang gagal, maka bagian lain dari _control plane_ akan
162+
mengambil alih pekerjaan.
163+
164+
Kamu juga dapat menemukan pengontrol yang berjalan di luar _control plane_, untuk
165+
mengembangkan lebih jauh Kubernetes. Atau, jika mau, kamu bisa membuat
166+
_controller_ baru sendiri. Kamu dapat menjalankan _controller_ kamu sendiri sebagai
167+
satu kumpulan dari beberapa Pod, atau bisa juga sebagai bagian eksternal dari
168+
Kubernetes. Manakah yang paling sesuai akan tergantung pada apa yang _controller_
169+
khusus itu lakukan.
170+
171+
{{% /capture %}}
172+
173+
{{% capture whatsnext %}}
174+
* Silahkan baca tentang [_control plane_ Kubernetes](/docs/concepts/#kubernetes-control-plane)
175+
* Temukan beberapa dasar tentang [objek-objek Kubernetes](/docs/concepts/#kubernetes-objects)
176+
* Pelajari lebih lanjut tentang [Kubernetes API](/docs/concepts/overview/kubernetes-api/)
177+
* Apabila kamu ingin membuat _controller_ sendiri, silakan lihat [pola perluasan](/docs/concepts/extend-kubernetes/extend-cluster/#extension-patterns) dalam memperluas Kubernetes.
178+
{{% /capture %}}

content/id/docs/concepts/containers/container-environment-variables.md renamed to content/id/docs/concepts/containers/container-environment.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Variabel Environment Kontainer
2+
title: Kontainer Environment
33
content_template: templates/concept
44
weight: 20
55
---
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
title: Ikhtisar Kontainer
3+
content_template: templates/concept
4+
weight: 1
5+
---
6+
7+
{{% capture overview %}}
8+
9+
Kontainer adalah teknologi untuk mengemas kode (yang telah dikompilasi) menjadi
10+
suatu aplikasi beserta dengan dependensi-dependensi yang dibutuhkannya pada saat
11+
dijalankan. Setiap kontainer yang Anda jalankan dapat diulang; standardisasi
12+
dengan menyertakan dependensinya berarti Anda akan mendapatkan perilaku yang
13+
sama di mana pun Anda menjalankannya.
14+
15+
Kontainer memisahkan aplikasi dari infrastruktur host yang ada dibawahnya. Hal
16+
ini membuat penyebaran lebih mudah di lingkungan cloud atau OS yang berbeda.
17+
18+
{{% /capture %}}
19+
20+
{{% capture body %}}
21+
22+
## Image-Image Kontainer
23+
24+
[Kontainer image](/docs/concepts/containers/images/) meruapakan paket perangkat lunak
25+
yang siap dijalankan, mengandung semua yang diperlukan untuk menjalankan
26+
sebuah aplikasi: kode dan setiap *runtime* yang dibutuhkan, *library* dari
27+
aplikasi dan sistem, dan nilai *default* untuk penganturan yang penting.
28+
29+
Secara desain, kontainer tidak bisa berubah: Anda tidak dapat mengubah kode
30+
dalam kontainer yang sedang berjalan. Jika Anda memiliki aplikasi yang
31+
terkontainerisasi dan ingin melakukan perubahan, maka Anda perlu membuat
32+
kontainer baru dengan menyertakan perubahannya, kemudian membuat ulang kontainer
33+
dengan memulai dari _image_ yang sudah diubah.
34+
35+
## Kontainer _runtime_
36+
37+
Kontainer *runtime* adalah perangkat lunak yang bertanggung jawab untuk
38+
menjalankan kontainer. Kubernetes mendukung beberapa kontainer *runtime*:
39+
{{< glossary_tooltip term_id="docker" >}},
40+
{{< glossary_tooltip term_id="containerd" >}},
41+
{{< glossary_tooltip term_id="cri-o" >}}, dan semua implementasi dari
42+
[Kubernetes CRI (Container Runtime Interface)](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-node/container-runtime-interface.md).
43+
44+
## Selanjutnya
45+
46+
- Baca tentang [image-image kontainer](https://kubernetes.io/docs/concepts/containers/images/)
47+
- Baca tentang [Pod](https://kubernetes.io/docs/concepts/workloads/pods/)
48+
49+
{{% /capture %}}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
title: Controller
3+
id: controller
4+
date: 2018-04-12
5+
full_link: /docs/concepts/architecture/controller/
6+
short_description: >
7+
Kontrol tertutup yang mengawasi kondisi bersama dari klaster melalui apiserver dan membuat perubahan yang mencoba untuk membawa kondisi saat ini ke kondisi yang diinginkan.
8+
9+
aka:
10+
tags:
11+
- architecture
12+
- fundamental
13+
---
14+
Di Kubernetes, _controller_ adalah kontrol tertutup yang mengawasi kondisi
15+
{{< glossary_tooltip term_id="cluster" text="klaster">}} anda, lalu membuat atau
16+
meminta perubahan jika diperlukan.
17+
Setiap _controller_ mencoba untuk memindahkan status klaster saat ini lebih
18+
dekat ke kondisi yang diinginkan.
19+
20+
<!--more-->
21+
22+
_Controller_ mengawasi keadaan bersama dari klaster kamu melalui
23+
{{< glossary_tooltip text="apiserver" term_id="kube-apiserver" >}} (bagian dari
24+
{{< glossary_tooltip term_id="control-plane" >}}).
25+
26+
Beberapa _controller_ juga berjalan di dalam _control plane_, menyediakan
27+
kontrol tertutup yang merupakan inti dari operasi Kubernetes. Sebagai contoh:
28+
_controller Deployment_, _controller daemonset_, _controller namespace_, dan
29+
_controller volume persisten_ (dan lainnya) semua berjalan di dalam
30+
{{< glossary_tooltip term_id="kube-controller-manager" >}}.

0 commit comments

Comments
 (0)