윈도우 노드 업그레이드
FEATURE STATE:
Kubernetes v1.18 [beta]
이 페이지는 kubeadm으로 생성된 윈도우 노드를 업그레이드하는 방법을 설명한다.
시작하기 전에
쿠버네티스 클러스터가 필요하고, kubectl 커맨드-라인 툴이 클러스터와 통신할 수 있도록 설정되어 있어야 한다. 이 튜토리얼은 컨트롤 플레인 호스트가 아닌 노드가 적어도 2개 포함된 클러스터에서 실행하는 것을 추천한다. 만약, 아직 클러스터를 가지고 있지 않다면, minikube를 사용해서 생성하거나 다음의 쿠버네티스 플레이그라운드 중 하나를 사용할 수 있다.
쿠버네티스 서버의 버전은 다음과 같거나 더 높아야 함. 버전: 1.17. 버전 확인을 위해서, 다음 커맨드를 실행kubectl version
.
- 남은 kubeadm 클러스터를 업그레이드하는 프로세스에 익숙해져야 한다. 윈도우 노드를 업그레이드하기 전에 컨트롤 플레인 노드를 업그레이드해야 한다.
워커 노드 업그레이드
kubeadm 업그레이드
-
윈도우 노드에서, kubeadm을 업그레이드한다.
# replace v1.24.0 with your desired version curl.exe -Lo C:\k\kubeadm.exe https://dl.k8s.io//bin/windows/amd64/kubeadm.exe
노드 드레인
-
쿠버네티스 API에 접근할 수 있는 머신에서, 스케줄 불가능한 것으로 표시하고 워크로드를 축출하여 유지 보수할 노드를 준비한다.
# <node-to-drain>을 드레이닝하려는 노드 이름으로 바꾼다 kubectl drain <node-to-drain> --ignore-daemonsets
다음과 비슷한 출력이 표시되어야 한다.
node/ip-172-31-85-18 cordoned node/ip-172-31-85-18 drained
kubelet 구성 업그레이드
-
윈도우 노드에서, 다음의 명령을 호출하여 새 kubelet 구성을 동기화한다.
kubeadm upgrade node
kubelet 업그레이드
-
윈도우 노드에서, kubelet을 업그레이드하고 다시 시작한다.
stop-service kubelet curl.exe -Lo C:\k\kubelet.exe https://dl.k8s.io//bin/windows/amd64/kubelet.exe restart-service kubelet
노드에 적용된 cordon 해제
-
쿠버네티스 API에 접근할 수 있는 머신에서, 스케줄 가능으로 표시하여 노드를 다시 온라인으로 가져온다.
# <node-to-drain>을 노드의 이름으로 바꾼다 kubectl uncordon <node-to-drain>
kube-proxy 업그레이드
-
쿠버네티스 API에 접근할 수 있는 머신에서, 다음을 실행하여, v1.24.0을 원하는 버전으로 다시 바꾼다.
curl -L https://github.com/kubernetes-sigs/sig-windows-tools/releases/latest/download/kube-proxy.yml | sed 's/VERSION/v1.24.0/g' | kubectl apply -f -
최종 수정 July 10, 2020 at 12:38 PM PST: Seventh Korean l10n work for release 1.18 (f604a4b60)