Skip to content

Commit 71439bd

Browse files
committed
Translate cluster-ip-allocation page to Bahasa Indonesia
1 parent eb7a9c4 commit 71439bd

File tree

1 file changed

+131
-0
lines changed

1 file changed

+131
-0
lines changed
Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
---
2+
title: Alokasi ClusterIP pada servis (Service ClusterIP allocation)
3+
content_type: concept
4+
weight: 120
5+
---
6+
7+
8+
<!-- overview -->
9+
10+
Dalam Kubernetes, [Service](/docs/concepts/services-networking/service/) adalah cara abstrak untuk mengekspos aplikasi yang berjalan pada sekumpulan Pod. Service dapat memiliki alamat IP virtual yang berlaku dalam skala kluster (menggunakan Service dengan `type: ClusterIP`). Klien dapat terhubung menggunakan alamat IP virtual tersebut, dan Kubernetes kemudian mendistribusikan lalu lintas ke Service tersebut di antara berbagai Pod yang menjadi backend-nya.
11+
12+
<!-- body -->
13+
14+
## Bagaimana ClusterIP pada Service dialokasikan?
15+
16+
Ketika Kubernetes perlu menetapkan alamat IP virtual untuk sebuah Service, penetapan tersebut dapat dilakukan dengan dua cara:
17+
18+
_dinamis_
19+
: _Control plane_ kluster secara otomatis memilih alamat IP yang tersedia dari dalam rentang IP yang telah dikonfigurasi untuk Service dengan `type: ClusterIP`.
20+
21+
_statis_
22+
: Kamu yang menentukan sendiri alamat IP yang diinginkan, asalkan berada dalam rentang IP yang telah dikonfigurasi untuk Service.
23+
24+
Di seluruh kluster kamu, setiap `ClusterIP` untuk Service harus unik. Mencoba membuat Service dengan `ClusterIP` tertentu yang telah dialokasikan sebelumnya akan menghasilkan _error_.
25+
26+
## Mengapa Kamu Perlu Menetapkan Alamat IP Cluster Service?
27+
28+
Kamu terkadang ingin memiliki Service yang berjalan dengan alamat IP yang telah dikenal (_well-known IP addresses_), sehingga komponen lain dan pengguna dalam kluster dapat menggunakannya.
29+
30+
Contoh terbaiknya adalah Service DNS untuk kluster. Sebagai konvensi lunak, beberapa _installer_ Kubernetes menetapkan alamat IP ke-10 dari rentang IP Service untuk Service DNS. Misalnya, jika kamu mengonfigurasi kluster kamu dengan rentang IP Service 10.96.0.0/16 dan ingin alamat IP Service DNS kamu menjadi 10.96.0.10, kamu harus membuat Service seperti berikut:
31+
32+
```yaml
33+
apiVersion: v1
34+
kind: Service
35+
metadata:
36+
labels:
37+
k8s-app: kube-dns
38+
kubernetes.io/cluster-service: "true"
39+
kubernetes.io/name: CoreDNS
40+
name: kube-dns
41+
namespace: kube-system
42+
spec:
43+
clusterIP: 10.96.0.10
44+
ports:
45+
- name: dns
46+
port: 53
47+
protocol: UDP
48+
targetPort: 53
49+
- name: dns-tcp
50+
port: 53
51+
protocol: TCP
52+
targetPort: 53
53+
selector:
54+
k8s-app: kube-dns
55+
type: ClusterIP
56+
```
57+
58+
Namun, seperti yang telah dijelaskan sebelumnya, alamat IP 10.96.0.10 belum digunakan (_reserved_). Jika Service lain dibuat sebelum atau pararel dengan alokasi dinamis, ada kemungkinan mereka dapat menggunakan alamat IP ini. Akibatnya, kamu tidak akan dapat membuat Service DNS karena akan gagal dengan _error_ konflik.
59+
60+
## Bagaimana Cara Menghindari Konflik Alamat IP ClusterIP pada Service? {#hindari-konflik-ClusterIP}
61+
62+
Implementasi alokasi dalam Kubernetes untuk menetapkan ClusterIP ke Service mengurangi risiko konflik.
63+
64+
rentang IP `ClusterIP` dibagi, berdasarkan rumus `min(max(16, cidrSize / 16), 256)`,
65+
yang dijelaskan sebagai _tidak kurang dari 16 atau lebih dari 256 dengan tahap bertingkat di antara keduanya_.
66+
67+
Alokasi IP dinamis menggunakan pita atas secara _default_, setelah ini habis, akan menggunakan pita bawah. Ini akan memungkinkan pengguna untuk menggunakan alokasi statis pada pita bawah dengan risiko konflik yang rendah.
68+
69+
70+
## Contoh {#contoh-alokasi}
71+
72+
### Contoh 1 {#contoh-alokasi-1}
73+
74+
Contoh ini menggunakan rentang alamat IP: 10.96.0.0/24 (notasi CIDR) untuk alamat IP
75+
dari Service.
76+
77+
Ukuran Rentang: 2<sup>8</sup> - 2 = 254
78+
Offset Pita (band): `min(max(16, 256/16), 256)` = `min(16, 256)` = 16
79+
Awal pita statis: 10.96.0.1
80+
Akhir pita statis: 10.96.0.16
81+
Akhir Rentang: 10.96.0.254
82+
83+
{{< mermaid >}}
84+
pie showData
85+
title 10.96.0.0/24
86+
"Static" : 16
87+
"Dynamic" : 238
88+
{{< /mermaid >}}
89+
90+
### Contoh 2 {#contoh-alokasi-2}
91+
92+
Contoh ini menggunakan rentang alamat IP: 10.96.0.0/20 (notasi CIDR) untuk alamat IP
93+
dari Service.
94+
95+
Ukuran Rentang: 2<sup>12</sup> - 2 = 4094
96+
Offset Pita (band): `min(max(16, 4096/16), 256)` = `min(256, 256)` = 256
97+
Awal pita statis: 10.96.0.1
98+
Akhir pita statis: 10.96.1.0
99+
Akhir Rentang: 10.96.15.254
100+
101+
{{< mermaid >}}
102+
pie showData
103+
title 10.96.0.0/20
104+
"Static" : 256
105+
"Dynamic" : 3838
106+
{{< /mermaid >}}
107+
108+
### Contoh 3 {#contoh-alokasi-3}
109+
110+
Contoh ini menggunakan rentang alamat IP: 10.96.0.0/16 (notasi CIDR) untuk alamat IP
111+
dari Service.
112+
113+
Ukuran Rentang: 2<sup>16</sup> - 2 = 65534
114+
Offset Pita (band): `min(max(16, 65536/16), 256)` = `min(4096, 256)` = 256
115+
Awal pita statis: 10.96.0.1
116+
Akhir pita statis: 10.96.1.0
117+
Akhir Rentang: 10.96.255.254
118+
119+
{{< mermaid >}}
120+
pie showData
121+
title 10.96.0.0/16
122+
"Static" : 256
123+
"Dynamic" : 65278
124+
{{< /mermaid >}}
125+
126+
## {{% heading "whatsnext" %}}
127+
128+
* Baca mengenai [Service External Traffic Policy](/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip)
129+
* Baca mengenai [Connecting Applications with Services](/docs/tutorials/services/connect-applications-service/)
130+
* Baca mengenai [Services](/docs/concepts/services-networking/service/)
131+

0 commit comments

Comments
 (0)