@@ -48,59 +48,59 @@ min-kubernetes-server-version: 1.18
48
48
49
49
## 업그레이드할 버전 결정
50
50
51
- 1 . 최신의 안정 버전인 1.18을 찾는다.
51
+ 최신의 안정 버전인 1.18을 찾는다.
52
52
53
- {{< tabs name="k8s_install_versions" >}}
54
- {{% tab name="Ubuntu, Debian 또는 HypriotOS" %}}
53
+ {{< tabs name="k8s_install_versions" >}}
54
+ {{% tab name="Ubuntu, Debian 또는 HypriotOS" %}}
55
55
apt update
56
56
apt-cache madison kubeadm
57
57
# 목록에서 최신 버전 1.18을 찾는다
58
58
# 1.18.x-00과 같아야 한다. 여기서 x는 최신 패치이다.
59
- {{% /tab %}}
60
- {{% tab name="CentOS, RHEL 또는 Fedora" %}}
59
+ {{% /tab %}}
60
+ {{% tab name="CentOS, RHEL 또는 Fedora" %}}
61
61
yum list --showduplicates kubeadm --disableexcludes=kubernetes
62
62
# 목록에서 최신 버전 1.18을 찾는다
63
63
# 1.18.x-0과 같아야 한다. 여기서 x는 최신 패치이다.
64
- {{% /tab %}}
65
- {{< /tabs >}}
64
+ {{% /tab %}}
65
+ {{< /tabs >}}
66
66
67
67
## 컨트롤 플레인 노드 업그레이드
68
68
69
69
### 첫 번째 컨트롤 플레인 노드 업그레이드
70
70
71
- 1 . 첫 번째 컨트롤 플레인 노드에서 kubeadm을 업그레이드한다.
71
+ - 첫 번째 컨트롤 플레인 노드에서 kubeadm을 업그레이드한다.
72
72
73
- {{< tabs name="k8s_install_kubeadm_first_cp" >}}
74
- {{% tab name="Ubuntu, Debian 또는 HypriotOS" %}}
73
+ {{< tabs name="k8s_install_kubeadm_first_cp" >}}
74
+ {{% tab name="Ubuntu, Debian 또는 HypriotOS" %}}
75
75
# 1.18.x-00에서 x를 최신 패치 버전으로 바꾼다.
76
76
apt-mark unhold kubeadm && \
77
77
apt-get update && apt-get install -y kubeadm=1.18.x-00 && \
78
78
apt-mark hold kubeadm
79
-
79
+ -
80
80
# apt-get 버전 1.1부터 다음 방법을 사용할 수도 있다
81
81
apt-get update && \
82
82
apt-get install -y --allow-change-held-packages kubeadm=1.18.x-00
83
- {{% /tab %}}
84
- {{% tab name="CentOS, RHEL 또는 Fedora" %}}
83
+ {{% /tab %}}
84
+ {{% tab name="CentOS, RHEL 또는 Fedora" %}}
85
85
# 1.18.x-0에서 x를 최신 패치 버전으로 바꾼다.
86
86
yum install -y kubeadm-1.18.x-0 --disableexcludes=kubernetes
87
- {{% /tab %}}
88
- {{< /tabs >}}
87
+ {{% /tab %}}
88
+ {{< /tabs >}}
89
89
90
- 1 . 다운로드하려는 버전이 잘 받아졌는지 확인한다.
90
+ - 다운로드하려는 버전이 잘 받아졌는지 확인한다.
91
91
92
92
``` shell
93
93
kubeadm version
94
94
```
95
95
96
- 1. 컨트롤 플레인 노드를 드레인(drain)한다.
96
+ - 컨트롤 플레인 노드를 드레인(drain)한다.
97
97
98
98
` ` ` shell
99
99
# <cp-node-name>을 컨트롤 플레인 노드 이름으로 바꾼다.
100
100
kubectl drain < cp-node-name> --ignore-daemonsets
101
101
` ` `
102
102
103
- 1. 컨트롤 플레인 노드에서 다음을 실행한다.
103
+ - 컨트롤 플레인 노드에서 다음을 실행한다.
104
104
105
105
` ` ` shell
106
106
sudo kubeadm upgrade plan
@@ -143,13 +143,13 @@ min-kubernetes-server-version: 1.18
143
143
144
144
이 명령은 클러스터를 업그레이드할 수 있는지를 확인하고, 업그레이드할 수 있는 버전을 가져온다.
145
145
146
- {{< note > }}
147
- 또한 ` kubeadm upgrade` 는 이 노드에서 관리하는 인증서를 자동으로 갱신한다.
148
- 인증서 갱신을 하지 않으려면 ` --certificate-renewal=false` 플래그를 사용할 수 있다.
149
- 자세한 내용은 [인증서 관리 가이드](/docs/tasks/administer-cluster/kubeadm/kubeadm-certs)를 참고한다.
150
- {{< / note > }}
146
+ {{< note > }}
147
+ 또한 ` kubeadm upgrade` 는 이 노드에서 관리하는 인증서를 자동으로 갱신한다.
148
+ 인증서 갱신을 하지 않으려면 ` --certificate-renewal=false` 플래그를 사용할 수 있다.
149
+ 자세한 내용은 [인증서 관리 가이드](/docs/tasks/administer-cluster/kubeadm/kubeadm-certs)를 참고한다.
150
+ {{< / note > }}
151
151
152
- 1. 업그레이드할 버전을 선택하고, 적절한 명령을 실행한다. 예를 들면 다음과 같다.
152
+ - 업그레이드할 버전을 선택하고, 적절한 명령을 실행한다. 예를 들면 다음과 같다.
153
153
154
154
` ` ` shell
155
155
# 이 업그레이드를 위해 선택한 패치 버전으로 x를 바꾼다.
@@ -238,15 +238,15 @@ min-kubernetes-server-version: 1.18
238
238
[upgrade/kubelet] Now that your control plane is upgraded, please proceed with upgrading your kubelets if you haven' t already done so.
239
239
```
240
240
241
- 1. CNI 제공자 플러그인을 수동으로 업그레이드한다.
241
+ - CNI 제공자 플러그인을 수동으로 업그레이드한다.
242
242
243
243
CNI(컨테이너 네트워크 인터페이스) 제공자는 자체 업그레이드 지침을 따를 수 있다.
244
244
[애드온](/docs/concepts/cluster-administration/addons/) 페이지에서
245
245
사용하는 CNI 제공자를 찾고 추가 업그레이드 단계가 필요한지 여부를 확인한다.
246
246
247
247
CNI 제공자가 데몬셋(DaemonSet)으로 실행되는 경우 추가 컨트롤 플레인 노드에는 이 단계가 필요하지 않다.
248
248
249
- 1. 컨트롤 플레인 노드에 적용된 cordon을 해제한다.
249
+ - 컨트롤 플레인 노드에 적용된 cordon을 해제한다.
250
250
251
251
` ` ` shell
252
252
# <cp-node-name>을 컨트롤 플레인 노드 이름으로 바꾼다.
@@ -255,46 +255,46 @@ min-kubernetes-server-version: 1.18
255
255
256
256
# ## 추가 컨트롤 플레인 노드 업그레이드
257
257
258
- 1. 첫 번째 컨트롤 플레인 노드와 동일하지만 다음을 사용한다.
258
+ 첫 번째 컨트롤 플레인 노드와 동일하지만 다음을 사용한다.
259
259
260
- ```
261
- sudo kubeadm upgrade node
262
- ```
260
+ ```
261
+ sudo kubeadm upgrade node
262
+ ```
263
263
264
- 아래 명령 대신 위의 명령을 사용한다.
264
+ 아래 명령 대신 위의 명령을 사용한다.
265
265
266
- ```
267
- sudo kubeadm upgrade apply
268
- ```
266
+ ```
267
+ sudo kubeadm upgrade apply
268
+ ```
269
269
270
- 또한 ` sudo kubeadm upgrade plan` 은 필요하지 않다.
270
+ 또한 `sudo kubeadm upgrade plan` 은 필요하지 않다.
271
271
272
272
### kubelet과 kubectl 업그레이드
273
273
274
- 1. 모든 컨트롤 플레인 노드에서 kubelet 및 kubectl을 업그레이드한다.
274
+ 모든 컨트롤 플레인 노드에서 kubelet 및 kubectl을 업그레이드한다.
275
275
276
- {{< tabs name=" k8s_install_kubelet" > }}
277
- {{% tab name=" Ubuntu, Debian 또는 HypriotOS" %}}
276
+ {{< tabs name="k8s_install_kubelet" >}}
277
+ {{% tab name="Ubuntu, Debian 또는 HypriotOS" %}}
278
278
# 1.18.x-00의 x를 최신 패치 버전으로 바꾼다
279
279
apt-mark unhold kubelet kubectl && \
280
280
apt-get update && apt-get install -y kubelet=1.18.x-00 kubectl=1.18.x-00 && \
281
281
apt-mark hold kubelet kubectl
282
-
282
+ -
283
283
# apt-get 버전 1.1부터 다음 방법을 사용할 수도 있다
284
284
apt-get update && \
285
285
apt-get install -y --allow-change-held-packages kubelet=1.18.x-00 kubectl=1.18.x-00
286
- {{% /tab %}}
287
- {{% tab name=" CentOS, RHEL 또는 Fedora" %}}
286
+ {{% /tab %}}
287
+ {{% tab name="CentOS, RHEL 또는 Fedora" %}}
288
288
# 1.18.x-0에서 x를 최신 패치 버전으로 바꾼다
289
289
yum install -y kubelet-1.18.x-0 kubectl-1.18.x-0 --disableexcludes=kubernetes
290
- {{% /tab %}}
291
- {{< /tabs > }}
290
+ {{% /tab %}}
291
+ {{< /tabs >}}
292
292
293
- 1. kubelet을 다시 시작한다.
293
+ kubelet을 다시 시작한다.
294
294
295
- ` ` ` shell
296
- sudo systemctl restart kubelet
297
- ` ` `
295
+ ```shell
296
+ sudo systemctl restart kubelet
297
+ ```
298
298
299
299
## 워커 노드 업그레이드
300
300
@@ -303,28 +303,28 @@ min-kubernetes-server-version: 1.18
303
303
304
304
### kubeadm 업그레이드
305
305
306
- 1. 모든 워커 노드에서 kubeadm을 업그레이드한다.
306
+ - 모든 워커 노드에서 kubeadm을 업그레이드한다.
307
307
308
- {{< tabs name=" k8s_install_kubeadm_worker_nodes" > }}
309
- {{% tab name=" Ubuntu, Debian 또는 HypriotOS" %}}
308
+ {{< tabs name="k8s_install_kubeadm_worker_nodes" >}}
309
+ {{% tab name="Ubuntu, Debian 또는 HypriotOS" %}}
310
310
# 1.18.x-00의 x를 최신 패치 버전으로 바꾼다
311
311
apt-mark unhold kubeadm && \
312
312
apt-get update && apt-get install -y kubeadm=1.18.x-00 && \
313
313
apt-mark hold kubeadm
314
-
314
+ -
315
315
# apt-get 버전 1.1부터 다음 방법을 사용할 수도 있다
316
316
apt-get update && \
317
317
apt-get install -y --allow-change-held-packages kubeadm=1.18.x-00
318
- {{% /tab %}}
319
- {{% tab name=" CentOS, RHEL 또는 Fedora" %}}
318
+ {{% /tab %}}
319
+ {{% tab name="CentOS, RHEL 또는 Fedora" %}}
320
320
# 1.18.x-0에서 x를 최신 패치 버전으로 바꾼다
321
321
yum install -y kubeadm-1.18.x-0 --disableexcludes=kubernetes
322
- {{% /tab %}}
323
- {{< /tabs > }}
322
+ {{% /tab %}}
323
+ {{< /tabs >}}
324
324
325
325
### 노드 드레인
326
326
327
- 1. 스케줄 불가능(unschedulable)으로 표시하고 워크로드를 축출하여 유지 보수할 노드를 준비한다.
327
+ - 스케줄 불가능(unschedulable)으로 표시하고 워크로드를 축출하여 유지 보수할 노드를 준비한다.
328
328
329
329
``` shell
330
330
# <node-to-drain>을 드레이닝하려는 노드 이름으로 바꾼다.
@@ -349,34 +349,34 @@ min-kubernetes-server-version: 1.18
349
349
350
350
# ## kubelet과 kubectl 업그레이드
351
351
352
- 1. 모든 워커 노드에서 kubelet 및 kubectl을 업그레이드한다.
352
+ - 모든 워커 노드에서 kubelet 및 kubectl을 업그레이드한다.
353
353
354
- {{< tabs name=" k8s_kubelet_and_kubectl" > }}
355
- {{% tab name=" Ubuntu, Debian 또는 HypriotOS" %}}
354
+ {{< tabs name=" k8s_kubelet_and_kubectl" > }}
355
+ {{% tab name=" Ubuntu, Debian 또는 HypriotOS" %}}
356
356
# 1.18.x-00의 x를 최신 패치 버전으로 바꾼다
357
357
apt-mark unhold kubelet kubectl && \
358
358
apt-get update && apt-get install -y kubelet=1.18.x-00 kubectl=1.18.x-00 && \
359
359
apt-mark hold kubelet kubectl
360
-
360
+ -
361
361
# apt-get 버전 1.1부터 다음 방법을 사용할 수도 있다
362
362
apt-get update && \
363
363
apt-get install -y --allow-change-held-packages kubelet=1.18.x-00 kubectl=1.18.x-00
364
- {{% /tab %}}
365
- {{% tab name=" CentOS, RHEL 또는 Fedora" %}}
364
+ {{% /tab %}}
365
+ {{% tab name=" CentOS, RHEL 또는 Fedora" %}}
366
366
# 1.18.x-0에서 x를 최신 패치 버전으로 바꾼다
367
367
yum install -y kubelet-1.18.x-0 kubectl-1.18.x-0 --disableexcludes=kubernetes
368
- {{% /tab %}}
369
- {{< /tabs > }}
368
+ {{% /tab %}}
369
+ {{< /tabs > }}
370
370
371
- 1. kubelet을 다시 시작한다.
371
+ - kubelet을 다시 시작한다.
372
372
373
373
` ` ` shell
374
374
sudo systemctl restart kubelet
375
375
` ` `
376
376
377
377
# ## 노드에 적용된 cordon 해제
378
378
379
- 1. 스케줄 가능(schedulable)으로 표시하여 노드를 다시 온라인 상태로 만든다.
379
+ - 스케줄 가능(schedulable)으로 표시하여 노드를 다시 온라인 상태로 만든다.
380
380
381
381
` ` ` shell
382
382
# <node-to-drain>을 노드의 이름으로 바꾼다.
0 commit comments