Initialize Working with Objects translations for Bahasa Indonesia. (#14125)
* Initialize Working with Objects translations for Bahasa Indonesia. * Address reviewer's suggestions. * Fix styling.
This commit is contained in:
committed by
Kubernetes Prow Robot
parent
581c6846bf
commit
21621012f4
@@ -0,0 +1,5 @@
|
||||
---
|
||||
title: "Menggunakan Objek-Objek Kubernetes"
|
||||
weight: 40
|
||||
---
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
---
|
||||
title: Memahami Konsep Objek-Objek yang ada pada Kubernetes
|
||||
content_template: templates/concept
|
||||
weight: 10
|
||||
card:
|
||||
name: concepts
|
||||
weight: 40
|
||||
---
|
||||
|
||||
{{% capture overview %}}
|
||||
Laman ini menjelaskan bagaimana objek-objek Kubernetes direpresentasikan di dalam API Kubernetes,
|
||||
dan bagaimana kamu dapat merepresentasikannya di dalam format `.yaml`.
|
||||
{{% /capture %}}
|
||||
|
||||
{{% capture body %}}
|
||||
## Memahami Konsep Objek-Objek yang Ada pada Kubernetes
|
||||
|
||||
Objek-objek Kubernetes adalah entitas persisten di dalam sistem Kubernetes.
|
||||
Kubernetes menggunakan entitas ini untuk merepresentasikan _state_ yang ada pada
|
||||
kluster kamu. Secara spesifik, hal itu dapat dideskripsikan sebagai:
|
||||
|
||||
* Aplikasi-aplikasi kontainer apa sajakah yang sedang dijalankan (serta pada _node_ apa aplikasi tersebut dijalankan)
|
||||
* _Resource_ yang tersedia untuk aplikasi tersebut
|
||||
* _Policy_ yang mengatur bagaimana aplikasi tersebut dijalankan, misalnya _restart_, _upgrade_, dan _fault-tolerance_.
|
||||
|
||||
Objek Kubernetes merupakan sebuah _"record of intent"_--yang mana sekali kamu membuat suatu objek,
|
||||
sistem Kubernetes akan bekerja secara konsisten untuk menjamin
|
||||
bahwa objek tersebut akan selalu ada. Dengan membuat sebuah objek, secara tak langsung kamu
|
||||
memberikan informasi pada sistem Kubernetes mengenai perilaku apakah yang kamu inginkan pada _workload_ kluster yang kamu miliki;
|
||||
dengan kata lain ini merupakan definisi _state_ kluster yang kamu inginkan.
|
||||
|
||||
Untuk menggunakan objek-objek Kubernetes--baik membuat, mengubah, atau menghapus objek-objek tersebut--kamu
|
||||
harus menggunakan [API Kubernetes](/docs/concepts/overview/kubernetes-api/).
|
||||
Ketika kamu menggunakan perintah `kubectl`, perintah ini akan melakukan _API call_ untuk perintah
|
||||
yang kamu berikan. Kamu juga dapat menggunakan API Kubernetes secara langsung pada program yang kamu miliki
|
||||
menggunakan salah satu [_library_ klien](/docs/reference/using-api/client-libraries/) yang disediakan.
|
||||
|
||||
### _Spec_ dan Status Objek
|
||||
|
||||
Setiap objek Kubernetes memiliki _field_ berantai yang mengatur konfigurasi sebuah objek:
|
||||
_spec_ dan status. _Spec_, merupakan _field_ yang harus kamu sediakan, _field_ ini mendeskripsikan
|
||||
_state_ yang kamu inginkan untuk objek tersebut--karakteristik dari objek yang kamu miliki.
|
||||
Status mendeskripsikan _state_ yang sebenarnya dari sebuah objek, dan hal ini disediakan dan selalu diubah oleh
|
||||
sistem Kubernetes. Setiap saat, _Control Plane_ Kubernetes selalu memantau apakah _state_ aktual sudah sesuai dengan
|
||||
_state_ yang diinginkan.
|
||||
|
||||
Sebagai contoh, _Deployment_ merupakan sebuah objek yang merepresentasikan sebuah aplikasi yang dijalankan di kluster kamu.
|
||||
Ketika kamu membuat sebuah _Deployment_, kamu bisa saja memberikan _spec_ bagi _Deployment_ untuk memberikan spesifikasi
|
||||
berapa banyak _replica_ yang kamu inginkan. Sistem Kubernetes kemudian akan membaca konfigurasi yang kamu berikan
|
||||
dan mengaktifkan tiga buah instans untuk aplikasi yang kamu inginkan--mengubah status yang ada saat ini agar sesuai dengan apa yang kamu inginkan.
|
||||
Jika terjadi kegagalan dalam instans yang dibuat, sistem Kubernetes akan memberikan respons bahwa terdapat perbedaan antara _spec_ dan status serta
|
||||
melakukan penyesuaian dengan cara memberikan instans pengganti.
|
||||
|
||||
Informasi lebih lanjut mengenai _spec_ objek, status, dan _metadata_ dapat kamu baca di [Konvensi API Kubernetes](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md).
|
||||
|
||||
### Mendeskripsikan Objek Kubernetes
|
||||
|
||||
Ketika kamu membuat sebuah objek di Kubernetes, kamu harus menyediakan _spec_ objek yang
|
||||
mendeskripsikan _state_ yang diinginkan, serta beberapa informasi tentang objek tersebut (seperti nama).
|
||||
Ketika kamu menggunakan API Kubernetes untuk membuat objek tersebut (baik secara langsung atau menggunakan perintah
|
||||
`kubectl`), _request_ API yang dibuat harus mencakup informasi seperti _request body_ dalam format JSON.
|
||||
Apabila kamu memberikan **informasi dalam bentuk `.yaml` ketika menggunakan perintah `kubectl`** maka `kubectl`
|
||||
akan mengubah informasi yang kamu berikan ke dalam format JSON ketika melakukan _request_ API.
|
||||
|
||||
Berikut merupakan contoh _file_ `.yaml` yang menunjukkan _field_ dan _spec_ objek untuk _Deployment_:
|
||||
|
||||
{{< codenew file="application/deployment.yaml" >}}
|
||||
|
||||
Salah satu cara untuk membuat _Deployment_ menggunakan _file_ `.yaml`
|
||||
seperti yang dijabarkan di atas adalah dengan menggunakan perintah
|
||||
[`kubectl apply`](/docs/reference/generated/kubectl/kubectl-commands#apply)
|
||||
pada _command-line interface_ `kubectl` kamu menerapkan _file_ `.yaml` sebagai sebuah argumen.
|
||||
Berikut merupakan contoh penggunaannya:
|
||||
|
||||
```shell
|
||||
kubectl apply -f https://k8s.io/examples/application/deployment.yaml --record
|
||||
```
|
||||
|
||||
Keluaran yang digunakan kurang lebih akan ditampilkan sebagai berikut:
|
||||
|
||||
```shell
|
||||
deployment.apps/nginx-deployment created
|
||||
```
|
||||
|
||||
### _Field-Field_ yang dibutuhkan
|
||||
|
||||
Pada _file_ `.yaml` untuk objek Kubernetes yang ingin kamu buat, kamu perlu
|
||||
menyediakan _value_ untuk _field-field_ berikut:
|
||||
|
||||
* _apiVersion_ - Version API Kubernetes mana yang kamu gunakan untuk membuat objek tersebut
|
||||
* _kind_ - Objek apakah yang ingin kamu buat
|
||||
* _metadata_ - Data yang dapat kamu gunakan untuk melakukan identifikasi objek termasuk _name_ dalam betuk string, _UID_, dan _namespace_ yang bersifat opsional
|
||||
|
||||
Kamu juga harus menyediakan _field_ _spec_. Format spesifik dari _spec_ sebuah objek akan berbeda bergantung
|
||||
pada objek apakah yang ingin kamu buat, serta mengandung _field_ berantai yang spesifik bagi objek tersebut.
|
||||
[Referensi API Kubernetes](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) memberikan penjelasan
|
||||
lebih lanjut mengenai format _spec_ untuk semua objek Kubernetes yang dapat kamu buat. Misalnya saja format _spec_
|
||||
untuk _Pod_ dapat kamu temukan [di sini](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podspec-v1-core),
|
||||
dan format _spec_ untuk _Deployment_ dapat ditemukan
|
||||
[di sini](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#deploymentspec-v1-apps).
|
||||
|
||||
{{% /capture %}}
|
||||
|
||||
{{% capture whatsnext %}}
|
||||
* Pelajari lebih lanjut mengenai dasar-dasar penting bagi objek Kubernetes, seperti [Pod](/docs/concepts/workloads/pods/pod-overview/).
|
||||
{{% /capture %}}
|
||||
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: nginx-deployment
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: nginx
|
||||
replicas: 2 # tells deployment to run 2 pods matching the template
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: nginx
|
||||
spec:
|
||||
containers:
|
||||
- name: nginx
|
||||
image: nginx:1.7.9
|
||||
ports:
|
||||
- containerPort: 80
|
||||
Reference in New Issue
Block a user