Skip to content

Commit cfc4d90

Browse files
committed
ID localization for administer cluster - high available master
Fix translation word. Small change to initiate hugo deploy. Addressing several comments.
1 parent 332cba8 commit cfc4d90

File tree

1 file changed

+177
-0
lines changed

1 file changed

+177
-0
lines changed
Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
---
2+
title: Mengatur Control Plane Kubernetes dengan Ketersediaan Tinggi (High-Availability)
3+
content_type: task
4+
---
5+
6+
<!-- overview -->
7+
8+
{{< feature-state for_k8s_version="v1.5" state="alpha" >}}
9+
10+
Kamu dapat mereplikasi _control plane_ Kubernetes dalam skrip `kube-up` atau `kube-down` untuk Google Compute Engine (GCE).
11+
Dokumen ini menjelaskan cara menggunakan skrip kube-up/down untuk mengelola _control plane_ dengan ketersedian tinggi atau _high_availability_ (HA) dan bagaimana _control plane_ HA diimplementasikan untuk digunakan dalam GCE.
12+
13+
14+
15+
## {{% heading "prerequisites" %}}
16+
17+
18+
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
19+
20+
21+
22+
<!-- steps -->
23+
24+
## Memulai klaster yang kompatibel dengan HA
25+
26+
Untuk membuat klaster yang kompatibel dengan HA, kamu harus mengatur tanda ini pada skrip `kube-up`:
27+
28+
* `MULTIZONE=true` - untuk mencegah penghapusan replika _control plane_ kubelet dari zona yang berbeda dengan zona bawaan server.
29+
Ini diperlukan jika kamu ingin menjalankan replika _control plane_ pada zona berbeda, dimana hal ini disarankan.
30+
31+
* `ENABLE_ETCD_QUORUM_READ=true` - untuk memastikan bahwa pembacaan dari semua server API akan mengembalikan data terbaru.
32+
Jika `true`, bacaan akan diarahkan ke replika pemimpin dari etcd.
33+
Menetapkan nilai ini menjadi `true` bersifat opsional: pembacaan akan lebih dapat diandalkan tetapi juga akan menjadi lebih lambat.
34+
35+
Sebagai pilihan, kamu dapat menentukan zona GCE tempat dimana replika _control plane_ pertama akan dibuat.
36+
Atur tanda berikut:
37+
38+
* `KUBE_GCE_ZONE=zone` - zona tempat di mana replika _control plane_ pertama akan berjalan.
39+
40+
Berikut ini contoh perintah untuk mengatur klaster yang kompatibel dengan HA pada zona GCE europe-west1-b:
41+
42+
```shell
43+
MULTIZONE=true KUBE_GCE_ZONE=europe-west1-b ENABLE_ETCD_QUORUM_READS=true ./cluster/kube-up.sh
44+
```
45+
46+
Perhatikan bahwa perintah di atas digunakan untuk membuat klaster dengan sebuah _control plane_;
47+
Namun, kamu bisa menambahkan replika _control plane_ baru ke klaster dengan perintah berikutnya.
48+
49+
50+
## Menambahkan replika _control plane_ yang baru
51+
52+
Setelah kamu membuat klaster yang kompatibel dengan HA, kamu bisa menambahkan replika _control plane_ ke sana.
53+
Kamu bisa menambahkan replika _control plane_ dengan menggunakan skrip `kube-up` dengan tanda berikut ini:
54+
55+
* `KUBE_REPLICATE_EXISTING_MASTER=true` - untuk membuat replika dari _control plane_ yang sudah ada.
56+
57+
* `KUBE_GCE_ZONE=zone` - zona di mana replika _control plane_ itu berjalan.
58+
Region ini harus sama dengan region dari zona replika yang lain.
59+
60+
Kamu tidak perlu mengatur tanda `MULTIZONE` atau `ENABLE_ETCD_QUORUM_READS`,
61+
karena tanda itu diturunkan pada saat kamu memulai klaster yang kompatible dengan HA.
62+
63+
Berikut ini contoh perintah untuk mereplikasi _control plane_ pada klaster sebelumnya yang kompatibel dengan HA:
64+
65+
```shell
66+
KUBE_GCE_ZONE=europe-west1-c KUBE_REPLICATE_EXISTING_MASTER=true ./cluster/kube-up.sh
67+
```
68+
69+
## Menghapus replika _control plane_
70+
71+
Kamu dapat menghapus replika _control plane_ dari klaster HA dengan menggunakan skrip `kube-down` dengan tanda berikut:
72+
73+
* `KUBE_DELETE_NODES=false` - untuk mencegah penghapusan kubelet.
74+
75+
* `KUBE_GCE_ZONE=zone` - zona di mana replika _control plane_ akan dihapus.
76+
77+
* `KUBE_REPLICA_NAME=replica_name` - (opsional) nama replika _control plane_ yang akan dihapus.
78+
Jika kosong: replika mana saja dari zona yang diberikan akan dihapus.
79+
80+
Berikut ini contoh perintah untuk menghapus replika _control plane_ dari klaster HA yang sudah ada sebelumnya:
81+
82+
```shell
83+
KUBE_DELETE_NODES=false KUBE_GCE_ZONE=europe-west1-c ./cluster/kube-down.sh
84+
```
85+
86+
## Mengatasi replika _control plane_ yang gagal
87+
88+
Jika salah satu replika _control plane_ di klaster HA kamu gagal,
89+
praktek terbaik adalah menghapus replika dari klaster kamu dan menambahkan replika baru pada zona yang sama.
90+
Berikut ini contoh perintah yang menunjukkan proses tersebut:
91+
92+
1. Menghapus replika yang gagal:
93+
94+
```shell
95+
KUBE_DELETE_NODES=false KUBE_GCE_ZONE=replica_zone KUBE_REPLICA_NAME=replica_name ./cluster/kube-down.sh
96+
```
97+
98+
2. Menambahkan replika baru untuk menggantikan replika yang lama
99+
100+
```shell
101+
KUBE_GCE_ZONE=replica-zone KUBE_REPLICATE_EXISTING_MASTER=true ./cluster/kube-up.sh
102+
```
103+
104+
## Praktek terbaik untuk mereplikasi _control plane_ untuk klaster HA
105+
106+
* Usahakan untuk menempatkan replika _control plane_ pada zona yang berbeda. Pada saat terjadi kegagalan zona, semua _control plane_ yang ditempatkan dalam zona tersebut akan gagal pula.
107+
Untuk bertahan dari kegagalan pada sebuah zona, tempatkan juga Node pada beberapa zona yang lain
108+
(Lihatlah [multi-zona](/id/docs/setup/best-practices/multiple-zones/) untuk lebih detail).
109+
110+
* Jangan gunakan klaster dengan dua replika _control plane_. Konsensus pada klaster dengan dua replika membutuhkan kedua replika tersebut berjalan pada saat mengubah keadaan yang persisten.
111+
Akibatnya, kedua replika tersebut diperlukan dan kegagalan salah satu replika mana pun mengubah klaster dalam status kegagalan mayoritas.
112+
Dengan demikian klaster dengan dua replika lebih buruk, dalam hal HA, daripada klaster dengan replika tunggal.
113+
114+
* Ketika kamu menambahkan sebuah replika _control plane_, status klaster (etcd) disalin ke sebuah _instance_ baru.
115+
Jika klaster itu besar, mungkin butuh waktu yang lama untuk menduplikasi keadaannya.
116+
Operasi ini dapat dipercepat dengan memigrasi direktori data etcd, seperti yang dijelaskan [di sini](https://coreos.com/etcd/docs/latest/admin_guide.html#member-migration)
117+
(Kami sedang mempertimbangkan untuk menambahkan dukungan untuk migrasi direktori data etcd di masa mendatang).
118+
119+
120+
121+
<!-- discussion -->
122+
123+
## Catatan implementasi
124+
125+
![ha-master-gce](/images/docs/ha-master-gce.png)
126+
127+
### Ikhtisar
128+
129+
Setiap replika _control plane_ akan menjalankan komponen berikut dalam mode berikut:
130+
131+
* _instance_ etcd: semua _instance_ akan dikelompokkan bersama menggunakan konsensus;
132+
133+
* server API : setiap server akan berbicara dengan lokal etcd - semua server API pada cluster akan tersedia;
134+
135+
* pengontrol (_controller_), penjadwal (_scheduler_), dan _scaler_ klaster automatis: akan menggunakan mekanisme sewa - dimana hanya satu _instance_ dari masing-masing mereka yang akan aktif dalam klaster;
136+
137+
* manajer tambahan (_add-on_): setiap manajer akan bekerja secara independen untuk mencoba menjaga tambahan dalam sinkronisasi.
138+
139+
Selain itu, akan ada penyeimbang beban (_load balancer_) di depan server API yang akan mengarahkan lalu lintas eksternal dan internal menuju mereka.
140+
141+
142+
### Penyeimbang Beban
143+
144+
Saat memulai replika _control plane_ kedua, penyeimbang beban yang berisi dua replika akan dibuat
145+
dan alamat IP dari replika pertama akan dipromosikan ke alamat IP penyeimbang beban.
146+
Demikian pula, setelah penghapusan replika _control plane_ kedua yang dimulai dari paling akhir, penyeimbang beban akan dihapus dan alamat IP-nya akan diberikan ke replika terakhir yang ada.
147+
Mohon perhatikan bahwa pembuatan dan penghapusan penyeimbang beban adalah operasi yang rumit dan mungkin perlu beberapa waktu (~20 menit) untuk dipropagasikan.
148+
149+
150+
### Service _control plane_ & kubelet
151+
152+
Daripada sistem mencoba untuk menjaga daftar terbaru dari apiserver Kubernetes yang ada dalam Service Kubernetes,
153+
sistem akan mengarahkan semua lalu lintas ke IP eksternal:
154+
155+
* dalam klaster dengan satu _control plane_, IP diarahkan ke _control plane_ tunggal.
156+
157+
* dalam klaster dengan multiple _control plane_, IP diarahkan ke penyeimbang beban yang ada di depan _control plane_.
158+
159+
Demikian pula, IP eksternal akan digunakan oleh kubelet untuk berkomunikasi dengan _control plane_.
160+
161+
162+
### Sertifikat _control plane_
163+
164+
Kubernetes menghasilkan sertifikat TLS _control plane_ untuk IP publik eksternal dan IP lokal untuk setiap replika.
165+
Tidak ada sertifikat untuk IP publik sementara (_ephemeral_) dari replika;
166+
Untuk mengakses replika melalui IP publik sementara, kamu harus melewatkan verifikasi TLS.
167+
168+
### Pengklasteran etcd
169+
170+
Untuk mengizinkan pengelompokkan etcd, porta yang diperlukan untuk berkomunikasi antara _instance_ etcd akan dibuka (untuk komunikasi dalam klaster).
171+
Untuk membuat penyebaran itu aman, komunikasi antara _instance_ etcd diotorisasi menggunakan SSL.
172+
173+
## Bacaan tambahan
174+
175+
[Dokumen desain - Penyebaran master HA automatis](https://git.k8s.io/community/contributors/design-proposals/cluster-lifecycle/ha_master.md)
176+
177+

0 commit comments

Comments
 (0)