Skip to content

Commit 9bf6b9c

Browse files
authored
Merge pull request #22728 from irvifa/id/run-stateless-application-deployment
feat: Add ID translation for run stateless application deployment
2 parents cde38a9 + e53298d commit 9bf6b9c

File tree

4 files changed

+201
-0
lines changed

4 files changed

+201
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
title: "Menjalankan"
3+
description: Menjalankan dan mengatur aplikasi stateless dan stateful.
4+
weight: 40
5+
---
Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
---
2+
title: Menjalankan Aplikasi Stateless Menggunakan Deployment
3+
min-kubernetes-server-version: v1.9
4+
content_type: tutorial
5+
weight: 10
6+
---
7+
8+
<!-- overview -->
9+
10+
Dokumen ini menunjukkan cara bagaimana cara menjalankan sebuah aplikasi menggunakan objek Deployment Kubernetes.
11+
12+
13+
14+
15+
## {{% heading "objectives" %}}
16+
17+
18+
* Membuat sebuah Deployment Nginx.
19+
* Menggunakan kubectl untuk mendapatkan informasi mengenai Deployment.
20+
* Mengubah Deployment.
21+
22+
23+
24+
25+
## {{% heading "prerequisites" %}}
26+
27+
28+
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
29+
30+
31+
32+
33+
<!-- lessoncontent -->
34+
35+
## Membuat dan Menjelajahi Deployment Nginx
36+
37+
Kamu dapat menjalankan aplikasi dengan membuat sebuah objek Deployment Kubernetes, dan kamu
38+
dapat mendeskripsikan sebuah Deployment di dalam berkas YAML. Sebagai contohnya, berkas
39+
YAML berikut mendeskripsikan sebuah Deployment yang menjalankan _image_ Docker nginx:1.14.2:
40+
41+
{{< codenew file="application/deployment.yaml" >}}
42+
43+
44+
1. Buatlah sebuah Deployment berdasarkan berkas YAML:
45+
46+
kubectl apply -f https://k8s.io/examples/application/deployment.yaml
47+
48+
2. Tampilkan informasi dari Deployment:
49+
50+
kubectl describe deployment nginx-deployment
51+
52+
Keluaran dari perintah tersebut akan menyerupai:
53+
54+
user@computer:~/website$ kubectl describe deployment nginx-deployment
55+
Name: nginx-deployment
56+
Namespace: default
57+
CreationTimestamp: Tue, 30 Aug 2016 18:11:37 -0700
58+
Labels: app=nginx
59+
Annotations: deployment.kubernetes.io/revision=1
60+
Selector: app=nginx
61+
Replicas: 2 desired | 2 updated | 2 total | 2 available | 0 unavailable
62+
StrategyType: RollingUpdate
63+
MinReadySeconds: 0
64+
RollingUpdateStrategy: 1 max unavailable, 1 max surge
65+
Pod Template:
66+
Labels: app=nginx
67+
Containers:
68+
nginx:
69+
Image: nginx:1.14.2
70+
Port: 80/TCP
71+
Environment: <none>
72+
Mounts: <none>
73+
Volumes: <none>
74+
Conditions:
75+
Type Status Reason
76+
---- ------ ------
77+
Available True MinimumReplicasAvailable
78+
Progressing True NewReplicaSetAvailable
79+
OldReplicaSets: <none>
80+
NewReplicaSet: nginx-deployment-1771418926 (2/2 replicas created)
81+
No events.
82+
83+
3. Lihatlah daftar Pod-Pod yang dibuat oleh Deployment:
84+
85+
kubectl get pods -l app=nginx
86+
87+
Keluaran dari perintah tersebut akan menyerupai:
88+
89+
NAME READY STATUS RESTARTS AGE
90+
nginx-deployment-1771418926-7o5ns 1/1 Running 0 16h
91+
nginx-deployment-1771418926-r18az 1/1 Running 0 16h
92+
93+
4. Tampilkan informasi mengenai Pod:
94+
95+
kubectl describe pod <nama-pod>
96+
97+
dimana `<nama-pod>` merupakan nama dari Pod kamu.
98+
99+
## Mengubah Deployment
100+
101+
Kamu dapat mengubah Deployment dengan cara mengaplikasikan berkas YAML yang baru.
102+
Berkas YAML ini memberikan spesifikasi Deployment untuk menggunakan Nginx versi 1.16.1.
103+
104+
{{< codenew file="application/deployment-update.yaml" >}}
105+
106+
1. Terapkan berkas YAML yang baru:
107+
108+
kubectl apply -f https://k8s.io/examples/application/deployment-update.yaml
109+
110+
2. Perhatikan bahwa Deployment membuat Pod-Pod dengan nama baru dan menghapus Pod-Pod lama:
111+
112+
kubectl get pods -l app=nginx
113+
114+
## Meningkatkan Jumlah Aplikasi dengan Meningkatkan Ukuran Replika
115+
116+
Kamu dapat meningkatkan jumlah Pod di dalam Deployment dengan menerapkan
117+
berkas YAML baru. Berkas YAML ini akan meningkatkan jumlah replika menjadi 4,
118+
yang nantinya memberikan spesifikasi agar Deployment memiliki 4 buah Pod.
119+
120+
{{< codenew file="application/deployment-scale.yaml" >}}
121+
122+
1. Terapkan berkas YAML:
123+
124+
kubectl apply -f https://k8s.io/examples/application/deployment-scale.yaml
125+
126+
2. Verifikasi Deployment kamu saat ini yang memiliki empat Pod:
127+
128+
kubectl get pods -l app=nginx
129+
130+
Keluaran dari perintah tersebut akan menyerupai:
131+
132+
NAME READY STATUS RESTARTS AGE
133+
nginx-deployment-148880595-4zdqq 1/1 Running 0 25s
134+
nginx-deployment-148880595-6zgi1 1/1 Running 0 25s
135+
nginx-deployment-148880595-fxcez 1/1 Running 0 2m
136+
nginx-deployment-148880595-rwovn 1/1 Running 0 2m
137+
138+
## Menghapus Deployment
139+
140+
Menghapus Deployment dengan nama:
141+
142+
kubectl delete deployment nginx-deployment
143+
144+
## Cara Lama Menggunakan: ReplicationController
145+
146+
Cara yang dianjurkan untuk membuat aplikasi dengan replika adalah dengan menggunakan Deployment,
147+
yang nantinya akan menggunakan ReplicaSet. Sebelum Deployment dan ReplicaSet ditambahkan
148+
ke Kubernetes, aplikasi dengan replika dikonfigurasi menggunakan [ReplicationController](/id/docs/concepts/workloads/controllers/replicationcontroller/).
149+
150+
151+
152+
153+
## {{% heading "whatsnext" %}}
154+
155+
156+
* Pelajari lebih lanjut mengenai [objek Deployment](/id/docs/concepts/workloads/controllers/deployment/).
157+
158+
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
apiVersion: apps/v1 # untuk versi sebelum 1.9.0 gunakan apps/v1beta2
2+
kind: Deployment
3+
metadata:
4+
name: nginx-deployment
5+
spec:
6+
selector:
7+
matchLabels:
8+
app: nginx
9+
replicas: 4 # Memperbarui replica dari 2 menjadi 4
10+
template:
11+
metadata:
12+
labels:
13+
app: nginx
14+
spec:
15+
containers:
16+
- name: nginx
17+
image: nginx:1.14.2
18+
ports:
19+
- containerPort: 80
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
apiVersion: apps/v1 # untuk versi sebelum 1.9.0 gunakan apps/v1beta2
2+
kind: Deployment
3+
metadata:
4+
name: nginx-deployment
5+
spec:
6+
selector:
7+
matchLabels:
8+
app: nginx
9+
replicas: 2
10+
template:
11+
metadata:
12+
labels:
13+
app: nginx
14+
spec:
15+
containers:
16+
- name: nginx
17+
image: nginx:1.16.1 # Memperbarui versi nginx dari 1.14.2 ke 1.16.1
18+
ports:
19+
- containerPort: 80

0 commit comments

Comments
 (0)