Skip to content

Commit 25c5aa7

Browse files
authored
Merge pull request #25082 from frbimo/id_qos_pod
[id] Indonesian translation of page quality-service-pod
2 parents 3523bd9 + 64bf813 commit 25c5aa7

File tree

5 files changed

+314
-0
lines changed

5 files changed

+314
-0
lines changed
Lines changed: 259 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,259 @@
1+
---
2+
title: Konfigurasi Quality of Service untuk Pod
3+
content_type: task
4+
weight: 30
5+
---
6+
7+
Laman ini menunjukkan bagaimana mengonfigurasi Pod agar ditempatkan pada kelas _Quality of Service_ (QoS) tertentu.
8+
Kubernetes menggunakan kelas QoS untuk membuat keputusan tentang
9+
penjadwalan dan pengeluaran Pod.
10+
11+
## {{% heading "prerequisites" %}}
12+
13+
14+
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
15+
16+
## Kelas QoS {#qos-classes}
17+
18+
Saat membuat Pod, Kubernetes menempatkan salah satu kelas QoS berikut untuknya:
19+
20+
* Guaranteed
21+
* Burstable
22+
* BestEffort
23+
24+
25+
## Membuat sebuah Namespace
26+
27+
Buat sebuah Namespace sehingga sumber daya yang kamu buat dalam latihan ini
28+
terisolasi dari klaster kamu yang lain.
29+
30+
```shell
31+
kubectl create namespace qos-example
32+
```
33+
34+
## Membuat sebuah Pod yang mendapatkan penempatan kelas QoS Guaranteed
35+
36+
Agar sebuah Pod memiliki kelas QoS Guaranteed:
37+
38+
* Setiap Container, termasuk Container pemulai, di dalam Pod harus memiliki batasan memori dan permintaan memori dengan nilai yang sama.
39+
* Setiap Container, termasuk Container pemulai, di dalam Pod harus memiliki batasan CPU dan permintaan CPU dengan nilai yang sama.
40+
41+
Berikut adalah berkas konfigurasi untuk sebuah Pod dengan satu Container. Container tersebut memiliki sebuah batasan memori dan sebuah
42+
permintaan memori, keduanya sama dengan 200MiB. Container itu juga mempunyai batasan CPU dan permintaan CPU yang sama sebesar 700 milliCPU:
43+
44+
{{< codenew file="pods/qos/qos-pod.yaml" >}}
45+
46+
47+
Buatlah Pod:
48+
49+
```shell
50+
kubectl create -f https://k8s.io/examples/pods/qos/qos-pod.yaml --namespace=qos-example
51+
```
52+
53+
54+
Tampilkan informasi detail Pod yang telah dibuat:
55+
56+
```shell
57+
kubectl get pod qos-demo --namespace=qos-example --output=yaml
58+
```
59+
60+
61+
Keluaran dari perintah di atas menunjukkan Kubernetes memberikan kelas QoS Guaranteed pada Pod. Keluaran tersebut juga
62+
membuktikan bahwa Container pada Pod memiliki permintaan memori yang sesuai dengan batasan memori dan permintaan CPU yang juga sesuai dengan batasan CPU yang dispesifikasikan.
63+
64+
```yaml
65+
spec:
66+
containers:
67+
...
68+
resources:
69+
limits:
70+
cpu: 700m
71+
memory: 200Mi
72+
requests:
73+
cpu: 700m
74+
memory: 200Mi
75+
...
76+
status:
77+
qosClass: Guaranteed
78+
```
79+
80+
{{< note >}}
81+
Jika sebuah Container hanya menspesifikasikan batasan memori tanpa menentukan permintaan memori, maka Kubernetes akan
82+
secara otomatis menetapkan permintaan memori yang sesuai dengan batasan memori yang dicantumkan. Sama halnya jika sebuah Container menspesifikasikan batasan
83+
CPU tanpa menentukan permintaan CPU, maka Kubernetes akan secara otomatis menetapkan permintaan CPU yang sesuai
84+
dengan batasan CPU yang dicantumkan.
85+
{{< /note >}}
86+
87+
88+
Hapuslah Pod:
89+
90+
```shell
91+
kubectl delete pod qos-demo --namespace=qos-example
92+
```
93+
94+
## Membuat sebuah Pod yang mendapatkan penempatan kelas Qos Burstable
95+
Sebuah Pod akan mendapatkan kelas QoS Burstable apabila:
96+
97+
* Pod tidak memenuhi kriteria untuk kelas QoS Guaranteed.
98+
* Setidaknya ada satu Container di dalam Pod dengan permintaan memori atau CPU.
99+
100+
Berikut adalah berkas konfigurasi untuk Pod dengan satu Container. Container yang dimaksud memiliki batasan memori sebesar 200MiB
101+
dan permintaan memori sebesar 100MiB.
102+
103+
{{< codenew file="pods/qos/qos-pod-2.yaml" >}}
104+
105+
106+
Buatlah Pod:
107+
108+
```shell
109+
kubectl create -f https://k8s.io/examples/pods/qos/qos-pod-2.yaml --namespace=qos-example
110+
```
111+
112+
113+
Tampilkan informasi detail Pod yang telah dibuat:
114+
115+
```shell
116+
kubectl get pod qos-demo-2 --namespace=qos-example --output=yaml
117+
```
118+
119+
120+
Keluaran dari perintah di atas menunjukkan Kubernetes memberikan kelas QoS Burstable pada Pod.
121+
122+
```yaml
123+
spec:
124+
containers:
125+
- image: nginx
126+
imagePullPolicy: Always
127+
name: qos-demo-2-ctr
128+
resources:
129+
limits:
130+
memory: 200Mi
131+
requests:
132+
memory: 100Mi
133+
...
134+
status:
135+
qosClass: Burstable
136+
```
137+
138+
Hapuslah Pod:
139+
140+
```shell
141+
kubectl delete pod qos-demo-2 --namespace=qos-example
142+
```
143+
144+
## Membuat sebuah Pod yang mendapatkan penempatan kelas QoS BestEffort
145+
146+
Agar Pod mendapatkan kelas QoS BestEffort, Container dalam pod tidak boleh
147+
memiliki batasan atau permintaan memori atau CPU.
148+
149+
Berikut adalah berkas konfigurasi untuk Pod dengan satu Container. Container yang dimaksud tidak memiliki batasan atau permintaan memori atau CPU apapun.
150+
{{< codenew file="pods/qos/qos-pod-3.yaml" >}}
151+
152+
Buatlah Pod:
153+
154+
```shell
155+
kubectl create -f https://k8s.io/examples/pods/qos/qos-pod-3.yaml --namespace=qos-example
156+
```
157+
158+
Tampilkan informasi detail Pod yang telah dibuat:
159+
160+
```shell
161+
kubectl get pod qos-demo-3 --namespace=qos-example --output=yaml
162+
```
163+
164+
Keluaran dari perintah di atas menunjukkan Kubernetes memberikan kelas QoS BestEffort pada Pod.
165+
166+
```yaml
167+
spec:
168+
containers:
169+
...
170+
resources: {}
171+
...
172+
status:
173+
qosClass: BestEffort
174+
```
175+
176+
Hapuslah Pod:
177+
178+
```shell
179+
kubectl delete pod qos-demo-3 --namespace=qos-example
180+
```
181+
182+
## Membuat sebuah Pod yang memiliki dua Container
183+
184+
Berikut adalah konfigurasi berkas untuk Pod yang memiliki dua Container. Satu Container menentukan permintaan memori sebesar 200MiB. Container yang lain tidak menentukan permintaan atau batasan apapun.
185+
186+
{{< codenew file="pods/qos/qos-pod-4.yaml" >}}
187+
188+
Perhatikan bahwa Pod ini memenuhi kriteria untuk kelas QoS Burstable. Maksudnya, Container tersebut tidak memenuhi
189+
kriteria untuk kelas QoS Guaranteed, dan satu dari Container tersebut memiliki permintaan memori.
190+
191+
Buatlah Pod:
192+
193+
```shell
194+
kubectl create -f https://k8s.io/examples/pods/qos/qos-pod-4.yaml --namespace=qos-example
195+
```
196+
197+
Tampilkan informasi detail Pod yang telah dibuat:
198+
199+
```shell
200+
kubectl get pod qos-demo-4 --namespace=qos-example --output=yaml
201+
```
202+
203+
Keluaran dari perintah di atas menunjukkan Kubernetes memberikan kelas QoS Burstable pada Pod.
204+
205+
```yaml
206+
spec:
207+
containers:
208+
...
209+
name: qos-demo-4-ctr-1
210+
resources:
211+
requests:
212+
memory: 200Mi
213+
...
214+
name: qos-demo-4-ctr-2
215+
resources: {}
216+
...
217+
status:
218+
qosClass: Burstable
219+
```
220+
221+
Hapuslah Pod:
222+
223+
```shell
224+
kubectl delete pod qos-demo-4 --namespace=qos-example
225+
```
226+
227+
## Membersihkan
228+
229+
Hapuslah Namespace:
230+
231+
```shell
232+
kubectl delete namespace qos-example
233+
```
234+
235+
## {{% heading "whatsnext" %}}
236+
237+
### Untuk pengembang aplikasi
238+
239+
* [Menetapkan sumber daya memori ke Container dan Pod](/id/docs/tasks/configure-pod-container/assign-memory-resource/)
240+
241+
* [Menetapkan permintaan CPU pada Container dan Pod](/docs/tasks/configure-pod-container/assign-cpu-resource/)
242+
243+
### Untuk administrator klaster
244+
245+
* [Mengonfigurasi permintaan dan batasan bawaan memori untuk Namespace](/id/docs/tasks/administer-cluster/manage-resources/memory-default-namespace/)
246+
247+
* [Mengonfigurasi permintaan dan batasan bawaan CPU untuk Namespace](/id/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace/)
248+
249+
* [Mengonfigurasi batasan memori minimum dan maksimum untuk Namespace](/id/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace/)
250+
251+
* [Mengonfigurasi batasan CPU minimum dan maksimum untuk Namespace](/id/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace/)
252+
253+
* [Mengonfigurasi kuota CPU dan memori untuk Namespace](/id/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/)
254+
255+
* [Mengonfigurasi kuota Pod untuk Namespace](/id/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace/)
256+
257+
* [Mengonfigurasi kuota untuk objek API](/id/docs/tasks/administer-cluster/quota-api-object/)
258+
259+
* [Kebijakan Pengaturan Manajemen Topologi pada sebuah Node](/id/docs/tasks/administer-cluster/topology-manager/)
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
apiVersion: v1
2+
kind: Pod
3+
metadata:
4+
name: qos-demo-2
5+
namespace: qos-example
6+
spec:
7+
containers:
8+
- name: qos-demo-2-ctr
9+
image: nginx
10+
resources:
11+
limits:
12+
memory: "200Mi"
13+
requests:
14+
memory: "100Mi"
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
apiVersion: v1
2+
kind: Pod
3+
metadata:
4+
name: qos-demo-3
5+
namespace: qos-example
6+
spec:
7+
containers:
8+
- name: qos-demo-3-ctr
9+
image: nginx
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
apiVersion: v1
2+
kind: Pod
3+
metadata:
4+
name: qos-demo-4
5+
namespace: qos-example
6+
spec:
7+
containers:
8+
9+
- name: qos-demo-4-ctr-1
10+
image: nginx
11+
resources:
12+
requests:
13+
memory: "200Mi"
14+
15+
- name: qos-demo-4-ctr-2
16+
image: redis
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
apiVersion: v1
2+
kind: Pod
3+
metadata:
4+
name: qos-demo
5+
namespace: qos-example
6+
spec:
7+
containers:
8+
- name: qos-demo-ctr
9+
image: nginx
10+
resources:
11+
limits:
12+
memory: "200Mi"
13+
cpu: "700m"
14+
requests:
15+
memory: "200Mi"
16+
cpu: "700m"

0 commit comments

Comments
 (0)