Windows 노드 업그레이드하기
Windows 노드 업그레이드하기 (Upgrading Windows nodes)
이 페이지는 kubeadm으로 생성한 Windows 노드를 업그레이드하는 방법을 설명해요.
출처: 문서
본문
시작하기 전에
모든 노드에 대한 셸 접근이 필요하고, kubectl 명령줄 도구가 클러스터와 통신하도록 설정돼 있어야 해요. 이 튜토리얼은 제어 플레인 호스트 역할을 하지 않는 노드가 최소 두 개 있는 클러스터에서 실행하는 것을 권장해요. 쿠버네티스 서버는 버전 1.17 이상이어야 해요. 버전을 확인하려면 kubectl version을 입력하세요.
- kubeadm 클러스터의 나머지를 업그레이드하는 과정을 숙지하세요. Windows 노드를 업그레이드하기 전에 제어 플레인 노드를 업그레이드하려고 할 거예요.
워커 노드 업그레이드하기
kubeadm 업그레이드
Windows 노드에서 kubeadm을 업그레이드하세요.
# 1.37.0 을 원하는 버전으로 교체하세요
curl.exe -Lo <path-to-kubeadm.exe> "https://dl.k8s.io/v1.37.0/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 구성 업그레이드
Windows 노드에서 다음 명령을 호출해 새 kubelet 구성을 동기화하세요.
kubeadm upgrade node
kubelet과 kube-proxy 업그레이드
Windows 노드에서 kubelet을 업그레이드하고 재시작하세요.
stop-service kubelet
curl.exe -Lo <path-to-kubelet.exe> "https://dl.k8s.io/v1.37.0/bin/windows/amd64/kubelet.exe"
restart-service kubelet
Windows 노드에서 kube-proxy를 업그레이드하고 재시작하세요.
stop-service kube-proxy
curl.exe -Lo <path-to-kube-proxy.exe> "https://dl.k8s.io/v1.37.0/bin/windows/amd64/kube-proxy.exe"
restart-service kube-proxy
참고:
노드 uncordon하기
쿠버네티스 API에 접근 권한이 있는 머신에서, 노드를 스케줄 가능으로 표시해 다시 온라인으로 가져오세요.
# <node-to-drain> 을 노드의 이름으로 교체하세요
kubectl uncordon <node-to-drain>
더 알아보기 (Learn more)
- Linux 노드 업그레이드 방법을 확인하세요.