한대의 노드가 정상적이지 않은 것 같아서 새로운 노드를 추가하고 문제있는 노드를 제거 하였다.
AWS를 사용하고 있고, 오토스케일링 그룹에 속해있는 노드라서,
오토스케일링 그룹에 신규 인스턴스가 추가 되도록 Desired Capacity 를 추가한다.
<추가된 인스턴스 상태 >
$ kubectl get nodes
ip-172-31-16-133.ap-northeast-2.compute.internal Ready <none> 16m v1.12.7
ip-172-31-24-205.ap-northeast-2.compute.internal Ready <none> 82d v1.12.7
ip-172-31-33-98.ap-northeast-2.compute.internal Ready <none> 27s v1.12.7
ip-172-31-42-90.ap-northeast-2.compute.internal Ready <none> 82d v1.12.7
ip-172-31-47-233.ap-northeast-2.compute.internal Ready <none> 16m v1.12.7
문제 있는 노드(ip-172-31-42-90.ap-northeast-2.compute.internal)가 스케쥴링 되지 않도록 설정
$ kubectl cordon ip-172-31-42-90.ap-northeast-2.compute.internal
node/ip-172-31-42-90.ap-northeast-2.compute.internal cordoned
$ kubcectl get nodes
NAME STATUS ROLES AGE VERSION
ip-172-31-16-133.ap-northeast-2.compute.internal Ready <none> 24m v1.12.7
ip-172-31-24-205.ap-northeast-2.compute.internal Ready <none> 82d v1.12.7
ip-172-31-33-98.ap-northeast-2.compute.internal Ready <none> 8m24s v1.12.7
ip-172-31-42-90.ap-northeast-2.compute.internal Ready,SchedulingDisabled <none> 82d v1.12.7
ip-172-31-47-233.ap-northeast-2.compute.internal Ready <none> 24m v1.12.7
문제 있는 노드 제거
$ kubectl drain ip-172-31-42-90.ap-northeast-2.compute.internal --ignore-daemonsets --delete-local-data
node/ip-172-31-42-90.ap-northeast-2.compute.internal already cordoned
WARNING: Ignoring DaemonSet-managed pods: aws-node-bjrrv, kube-proxy-stgz4, prometheus-node-exporter-lt9ls;
Deleting pods with local storage: metrics-server-7fbd9b8589-qjkvg, monitoring-influxdb-5c5bf4949d-fshbn
오토스케링링 그룹에서 문제 있는 노드(인스턴스)를 제거 (인스턴스가 제거 되고, 새로운 인스턴스가 추가됨)
인스턴스 삭제
오토 스케일링 Desired Capacity 원래대로 축소
'Kubernetes' 카테고리의 다른 글
kubectl 자동 완성 (0) | 2019.10.22 |
---|---|
실행되고 있는 pod 를 node 기준으로 sort 하여 보고 싶을 때 (0) | 2019.08.09 |
nodeAffinity 를 이용하여 pod 를 원하는 노드에 배포하기 (0) | 2019.07.31 |
쿠버네티스 대시보드 편하게 접속하기(#1) (0) | 2019.07.29 |
Service 재시작 하기 (0) | 2019.07.25 |