Skip to content

Commit b72cd20

Browse files
authored
Merge pull request #49757 from ridwanbejo/id/translate-protocols-for-services-page
ID / translate protocols for services page
2 parents 88052d9 + 7252545 commit b72cd20

File tree

1 file changed

+89
-0
lines changed

1 file changed

+89
-0
lines changed
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
---
2+
title: Protokol untuk Service
3+
content_type: reference
4+
weight: 10
5+
---
6+
7+
<!-- overview -->
8+
Jika Anda mengonfigurasi {{< glossary_tooltip text="Service" term_id="service" >}},
9+
Anda dapat memilih protokol jaringan manapun selama didukung oleh Kubernetes.
10+
11+
Berikut ini adalah protokol yang didukung Kubernetes untuk digunakan oleh Service:
12+
13+
- [`SCTP`](#protocol-sctp)
14+
- [`TCP`](#protocol-tcp) _(protokol bawaan)_
15+
- [`UDP`](#protocol-udp)
16+
17+
Ketika Anda mendefinisikan Service, Anda juga dapat menggunakan
18+
[protokol aplikasi](/docs/concepts/services-networking/service/#application-protocol) untuk Service.
19+
20+
Halaman ini menjelaskan beberapa kasus khusus, dimana kebanyakan kasus yang terjadi adalah saat penggunaan TCP sebagai protokol *transport*:
21+
22+
- [HTTP](#protocol-http-special) dan [HTTPS](#protocol-http-special)
23+
- [protokol PROXY](#protocol-proxy-special)
24+
- terminasi [TLS](#protocol-tls-special) di *load balancer*
25+
26+
<!-- body -->
27+
## Protokol yang didukung {#protocol-support}
28+
29+
Ada 3 protokol valid yang dapat digunakan *port* suatu Service:
30+
31+
### `SCTP` {#protocol-sctp}
32+
33+
{{< feature-state for_k8s_version="v1.20" state="stable" >}}
34+
35+
Ketika menggunakan *plugin* jaringan yang mendukung SCTP, Anda dapat menggunakan SCTP untuk sebagian besar Service. Untuk Service dengan `type: LoadBalancer` , dukungan SCTP tersedia apabila penyedia *cloud* menyediakan protokol ini. (Kebanyakan dari mereka tidak menyediakan dukungan untuk protokol ini).
36+
37+
SCTP tidak tersedia untuk *node* yang menjalankan Windows.
38+
39+
#### Dukungan untuk asosiasi *multihomed SCTP* {#caveat-sctp-multihomed}
40+
41+
Dukungan untuk asosiasi *multihomed SCTP* memerlukan *plugin* CNI agar mendukung penempatan banyak *interface* dan alamat IP ke sebuah Pod.
42+
43+
NAT untuk asosiasi *multihomed SCTP* memerlukan logika khusus di modul Kernel terkait.
44+
45+
### `TCP` {#protocol-tcp}
46+
47+
Anda dapat menggunakan TCP untuk berbagai macam Service, dan ini adalah protokol jaringan bawaan.
48+
49+
### `UDP` {#protocol-udp}
50+
51+
Anda dapat menggunakan UDP untuk sebagian besar Service. Untuk Service dengan `type: LoadBalancer`, dukungan UDP tersedia apabila penyedia *cloud* menyediakan protokol ini
52+
53+
## Kasus Khusus
54+
55+
### HTTP {#protocol-http-special}
56+
57+
Jika penyedia *cloud* mendukung protokol ini, Anda dapat menggunakan Service dengan mode *LoadBalancer* untuk mengonfigurasi *load balancer* yang berada di luar klaster Kubernetes, dengan menggunakan mode khusus dimana *load balancer* yang disediakan penyedia *cloud* telah mengimplementasi HTTP / HTTPS *proxying*, dimana lalu lintas paket diteruskan ke *backend endpoint* untuk Service tersebut.
58+
59+
Biasanya, Anda mengatur protokol untuk Service dengan TCP dan menambahkan
60+
*{{< glossary_tooltip text="annotation" term_id="annotation" >}}*
61+
(biasanya tergantung ke penyedia *cloud*) yang mengonfigurasi *load balancer* untuk menangani lalu lintas paket di tingkat HTTP.
62+
Konfigurasi ini menyediakan juga HTTPS (HTTP di atas TLS) dan *reverse-proxying* HTTP sederhana untuk *workload* Anda.
63+
64+
{{< note >}}
65+
Anda juga dapat menggunakan *{{< glossary_tooltip term_id="ingress" >}}* untuk mengekspos Service dengan HTTP/HTTPS.
66+
{{< /note >}}
67+
68+
Anda juga mungkin ingin mengatur [protokol aplikasi](/docs/concepts/services-networking/service/#application-protocol) suatu koneksi dengan `http` atau `https`. Gunakan `http` jika *session* dari *load balancer* untuk *workload* Anda adalah HTTP tanpa TLS. Dan gunakan `https` jika *session* dari *load balancer* untuk *workload* Anda menggunakan enkripsi TLS.
69+
70+
### protokol PROXY {#protocol-proxy-special}
71+
72+
Jika penyedia *cloud* Anda mendukung protokol ini, Anda dapat menggunakan Service dengan `type: LoadBalancer`
73+
untuk mengonfigurasi *load balancer* diluar klaster Kubernetes sendiri, yang akan meneruskan koneksi yang dibungkus oleh
74+
[protokol PROXY](https://www.haproxy.org/download/2.5/doc/proxy-protocol.txt).
75+
76+
Kemudian *Load balancer* mengirim rangkaian oktet awal yang menggambarkan koneksi kedatangan, mirip dengan contoh dibawah ini (protokol PROXY v1):
77+
78+
```
79+
PROXY TCP4 192.0.2.202 10.0.42.7 12345 7\r\n
80+
```
81+
Data yang masuk setelah pembukaan protokol PROXY adalah data asli dari klien. Ketika kedua sisi menutup koneksi, *load balancer* juga memicu penutupan koneksi dan mengirim sisa data ketika memungkinkan.
82+
83+
Biasanya, Anda mendefinisikan Service dengan protokol TCP. Anda juga dapat menambahkan *annotation*, yang khusus untuk penyedia *cloud* Anda, yang mengonfigurasi *load balancer* dengan membungkus setiap koneksi yang datang dengan protokol PROXY.
84+
85+
### TLS {#protocol-tls-special}
86+
87+
Jika penyedia *cloud* Anda mendukung protokol ini, Anda dapat menggunakan protokol ini pada Service sebagai cara untuk membangun *reverse proxying* eksternal, dimana koneksi yang datang dari klien ke *load balancer* terenkripsi dengan TLS dan *load balancer* adalah TLS *server peer*. Koneksi dari *load balancer* yang menuju *workload* Anda dapat juga berupa TLS, atau teks biasa. Pilihan yang tersedia untuk Anda tergantung dari *penyedia cloud* atau implementasi kustom suatu Service.
88+
89+
Biasanya, Anda mengatur protokol ke `TCP` dan menambahkan *annotation* (biasanya khusus untuk penyedia *cloud* Anda) yang mengonfigurasi *load balancer* untuk berjalan sebagai *server* TLS. Anda juga dapat mengonfigurasi identitas TLS (sebagai server, dan mungkin juga sebagai klien yang terhubung ke *workload* Anda) dengan menggunakan mekanisme yang tersedia khusus untuk penyedia *cloud* Anda.

0 commit comments

Comments
 (0)