This PR adds new Indonesian translation of
content/id/docs/tasks/configure-pod-container/quality-service-pod.mdpull/25082/head
parent
84836f92e6
commit
64bf813157
|
@ -0,0 +1,259 @@
|
|||
---
|
||||
title: Konfigurasi Quality of Service untuk Pod
|
||||
content_type: task
|
||||
weight: 30
|
||||
---
|
||||
|
||||
Laman ini menunjukkan bagaimana mengonfigurasi Pod agar ditempatkan pada kelas _Quality of Service_ (QoS) tertentu.
|
||||
Kubernetes menggunakan kelas QoS untuk membuat keputusan tentang
|
||||
penjadwalan dan pengeluaran Pod.
|
||||
|
||||
## {{% heading "prerequisites" %}}
|
||||
|
||||
|
||||
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
|
||||
|
||||
## Kelas QoS {#qos-classes}
|
||||
|
||||
Saat membuat Pod, Kubernetes menempatkan salah satu kelas QoS berikut untuknya:
|
||||
|
||||
* Guaranteed
|
||||
* Burstable
|
||||
* BestEffort
|
||||
|
||||
|
||||
## Membuat sebuah Namespace
|
||||
|
||||
Buat sebuah Namespace sehingga sumber daya yang kamu buat dalam latihan ini
|
||||
terisolasi dari klaster kamu yang lain.
|
||||
|
||||
```shell
|
||||
kubectl create namespace qos-example
|
||||
```
|
||||
|
||||
## Membuat sebuah Pod yang mendapatkan penempatan kelas QoS Guaranteed
|
||||
|
||||
Agar sebuah Pod memiliki kelas QoS Guaranteed:
|
||||
|
||||
* Setiap Container, termasuk Container pemulai, di dalam Pod harus memiliki batasan memori dan permintaan memori dengan nilai yang sama.
|
||||
* Setiap Container, termasuk Container pemulai, di dalam Pod harus memiliki batasan CPU dan permintaan CPU dengan nilai yang sama.
|
||||
|
||||
Berikut adalah berkas konfigurasi untuk sebuah Pod dengan satu Container. Container tersebut memiliki sebuah batasan memori dan sebuah
|
||||
permintaan memori, keduanya sama dengan 200MiB. Container itu juga mempunyai batasan CPU dan permintaan CPU yang sama sebesar 700 milliCPU:
|
||||
|
||||
{{< codenew file="pods/qos/qos-pod.yaml" >}}
|
||||
|
||||
|
||||
Buatlah Pod:
|
||||
|
||||
```shell
|
||||
kubectl create -f https://k8s.io/examples/pods/qos/qos-pod.yaml --namespace=qos-example
|
||||
```
|
||||
|
||||
|
||||
Tampilkan informasi detail Pod yang telah dibuat:
|
||||
|
||||
```shell
|
||||
kubectl get pod qos-demo --namespace=qos-example --output=yaml
|
||||
```
|
||||
|
||||
|
||||
Keluaran dari perintah di atas menunjukkan Kubernetes memberikan kelas QoS Guaranteed pada Pod. Keluaran tersebut juga
|
||||
membuktikan bahwa Container pada Pod memiliki permintaan memori yang sesuai dengan batasan memori dan permintaan CPU yang juga sesuai dengan batasan CPU yang dispesifikasikan.
|
||||
|
||||
```yaml
|
||||
spec:
|
||||
containers:
|
||||
...
|
||||
resources:
|
||||
limits:
|
||||
cpu: 700m
|
||||
memory: 200Mi
|
||||
requests:
|
||||
cpu: 700m
|
||||
memory: 200Mi
|
||||
...
|
||||
status:
|
||||
qosClass: Guaranteed
|
||||
```
|
||||
|
||||
{{< note >}}
|
||||
Jika sebuah Container hanya menspesifikasikan batasan memori tanpa menentukan permintaan memori, maka Kubernetes akan
|
||||
secara otomatis menetapkan permintaan memori yang sesuai dengan batasan memori yang dicantumkan. Sama halnya jika sebuah Container menspesifikasikan batasan
|
||||
CPU tanpa menentukan permintaan CPU, maka Kubernetes akan secara otomatis menetapkan permintaan CPU yang sesuai
|
||||
dengan batasan CPU yang dicantumkan.
|
||||
{{< /note >}}
|
||||
|
||||
|
||||
Hapuslah Pod:
|
||||
|
||||
```shell
|
||||
kubectl delete pod qos-demo --namespace=qos-example
|
||||
```
|
||||
|
||||
## Membuat sebuah Pod yang mendapatkan penempatan kelas Qos Burstable
|
||||
Sebuah Pod akan mendapatkan kelas QoS Burstable apabila:
|
||||
|
||||
* Pod tidak memenuhi kriteria untuk kelas QoS Guaranteed.
|
||||
* Setidaknya ada satu Container di dalam Pod dengan permintaan memori atau CPU.
|
||||
|
||||
Berikut adalah berkas konfigurasi untuk Pod dengan satu Container. Container yang dimaksud memiliki batasan memori sebesar 200MiB
|
||||
dan permintaan memori sebesar 100MiB.
|
||||
|
||||
{{< codenew file="pods/qos/qos-pod-2.yaml" >}}
|
||||
|
||||
|
||||
Buatlah Pod:
|
||||
|
||||
```shell
|
||||
kubectl create -f https://k8s.io/examples/pods/qos/qos-pod-2.yaml --namespace=qos-example
|
||||
```
|
||||
|
||||
|
||||
Tampilkan informasi detail Pod yang telah dibuat:
|
||||
|
||||
```shell
|
||||
kubectl get pod qos-demo-2 --namespace=qos-example --output=yaml
|
||||
```
|
||||
|
||||
|
||||
Keluaran dari perintah di atas menunjukkan Kubernetes memberikan kelas QoS Burstable pada Pod.
|
||||
|
||||
```yaml
|
||||
spec:
|
||||
containers:
|
||||
- image: nginx
|
||||
imagePullPolicy: Always
|
||||
name: qos-demo-2-ctr
|
||||
resources:
|
||||
limits:
|
||||
memory: 200Mi
|
||||
requests:
|
||||
memory: 100Mi
|
||||
...
|
||||
status:
|
||||
qosClass: Burstable
|
||||
```
|
||||
|
||||
Hapuslah Pod:
|
||||
|
||||
```shell
|
||||
kubectl delete pod qos-demo-2 --namespace=qos-example
|
||||
```
|
||||
|
||||
## Membuat sebuah Pod yang mendapatkan penempatan kelas QoS BestEffort
|
||||
|
||||
Agar Pod mendapatkan kelas QoS BestEffort, Container dalam pod tidak boleh
|
||||
memiliki batasan atau permintaan memori atau CPU.
|
||||
|
||||
Berikut adalah berkas konfigurasi untuk Pod dengan satu Container. Container yang dimaksud tidak memiliki batasan atau permintaan memori atau CPU apapun.
|
||||
{{< codenew file="pods/qos/qos-pod-3.yaml" >}}
|
||||
|
||||
Buatlah Pod:
|
||||
|
||||
```shell
|
||||
kubectl create -f https://k8s.io/examples/pods/qos/qos-pod-3.yaml --namespace=qos-example
|
||||
```
|
||||
|
||||
Tampilkan informasi detail Pod yang telah dibuat:
|
||||
|
||||
```shell
|
||||
kubectl get pod qos-demo-3 --namespace=qos-example --output=yaml
|
||||
```
|
||||
|
||||
Keluaran dari perintah di atas menunjukkan Kubernetes memberikan kelas QoS BestEffort pada Pod.
|
||||
|
||||
```yaml
|
||||
spec:
|
||||
containers:
|
||||
...
|
||||
resources: {}
|
||||
...
|
||||
status:
|
||||
qosClass: BestEffort
|
||||
```
|
||||
|
||||
Hapuslah Pod:
|
||||
|
||||
```shell
|
||||
kubectl delete pod qos-demo-3 --namespace=qos-example
|
||||
```
|
||||
|
||||
## Membuat sebuah Pod yang memiliki dua Container
|
||||
|
||||
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.
|
||||
|
||||
{{< codenew file="pods/qos/qos-pod-4.yaml" >}}
|
||||
|
||||
Perhatikan bahwa Pod ini memenuhi kriteria untuk kelas QoS Burstable. Maksudnya, Container tersebut tidak memenuhi
|
||||
kriteria untuk kelas QoS Guaranteed, dan satu dari Container tersebut memiliki permintaan memori.
|
||||
|
||||
Buatlah Pod:
|
||||
|
||||
```shell
|
||||
kubectl create -f https://k8s.io/examples/pods/qos/qos-pod-4.yaml --namespace=qos-example
|
||||
```
|
||||
|
||||
Tampilkan informasi detail Pod yang telah dibuat:
|
||||
|
||||
```shell
|
||||
kubectl get pod qos-demo-4 --namespace=qos-example --output=yaml
|
||||
```
|
||||
|
||||
Keluaran dari perintah di atas menunjukkan Kubernetes memberikan kelas QoS Burstable pada Pod.
|
||||
|
||||
```yaml
|
||||
spec:
|
||||
containers:
|
||||
...
|
||||
name: qos-demo-4-ctr-1
|
||||
resources:
|
||||
requests:
|
||||
memory: 200Mi
|
||||
...
|
||||
name: qos-demo-4-ctr-2
|
||||
resources: {}
|
||||
...
|
||||
status:
|
||||
qosClass: Burstable
|
||||
```
|
||||
|
||||
Hapuslah Pod:
|
||||
|
||||
```shell
|
||||
kubectl delete pod qos-demo-4 --namespace=qos-example
|
||||
```
|
||||
|
||||
## Membersihkan
|
||||
|
||||
Hapuslah Namespace:
|
||||
|
||||
```shell
|
||||
kubectl delete namespace qos-example
|
||||
```
|
||||
|
||||
## {{% heading "whatsnext" %}}
|
||||
|
||||
### Untuk pengembang aplikasi
|
||||
|
||||
* [Menetapkan sumber daya memori ke Container dan Pod](/id/docs/tasks/configure-pod-container/assign-memory-resource/)
|
||||
|
||||
* [Menetapkan permintaan CPU pada Container dan Pod](/docs/tasks/configure-pod-container/assign-cpu-resource/)
|
||||
|
||||
### Untuk administrator klaster
|
||||
|
||||
* [Mengonfigurasi permintaan dan batasan bawaan memori untuk Namespace](/id/docs/tasks/administer-cluster/manage-resources/memory-default-namespace/)
|
||||
|
||||
* [Mengonfigurasi permintaan dan batasan bawaan CPU untuk Namespace](/id/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace/)
|
||||
|
||||
* [Mengonfigurasi batasan memori minimum dan maksimum untuk Namespace](/id/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace/)
|
||||
|
||||
* [Mengonfigurasi batasan CPU minimum dan maksimum untuk Namespace](/id/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace/)
|
||||
|
||||
* [Mengonfigurasi kuota CPU dan memori untuk Namespace](/id/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/)
|
||||
|
||||
* [Mengonfigurasi kuota Pod untuk Namespace](/id/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace/)
|
||||
|
||||
* [Mengonfigurasi kuota untuk objek API](/id/docs/tasks/administer-cluster/quota-api-object/)
|
||||
|
||||
* [Kebijakan Pengaturan Manajemen Topologi pada sebuah Node](/id/docs/tasks/administer-cluster/topology-manager/)
|
Loading…
Reference in New Issue