티스토리 뷰
Node Cordon, Drain
Node 살펴보기.
kubectl get nodes
pod 목록 보기.
kubectl get pods -o wide
Cordon
cordon 은 특정 node 에 스케줄 되지 않도록 한다.
kubectl cordon node01
Drain
drain 은 cordon 처럼 pod가 특정 노드로 스케줄 되지 않도록 하며, 또한 해당 노드에서 수행중인 pod 를 다른 pod로 이주 시키는 역할을 한다.
kubectl drain node01 --ignore-daemonsets
위와 같이 수행되는 경우 ReplicaSet 이나 ReplicaController 에 의해서 관리되는 pod 는 자동으로 다른 node로 스케줄링이 수행이 된다.
그러나 단일 pod 로 수행중인 pod 가 존재하면 해당 node 는 drain 을 수행할 수 없다는 경고가 나온다.
kubectl drain node01 --ignore-daemonsets
....생략
error: cannot delete Pods not managed by ReplicationController, ReplicaSet, Job, DaemonSet or StatefulSet (use to override): default/test-pod
위의 경우에는 강제로 drain 을 수행할 수 있다.
kubectl drain node01 --ignore-daemonsets --force
위와 같이 하면 강제로 해당 pod 를 해당 노드에서 제거한다.
중요한 것은 drain 으로 인해서 pod 가 제거되면 다시 생성이 되지 않는다는 점이다.
node 다시 스케줄 되도록 하기.
kubectl uncordon node01
위와 같이 수행하면 node01 로 다시 스케줄이 진행이 된다.
'Kubernetes' 카테고리의 다른 글
[Kubernetes] Kubernetes DaemonSet 실습 (0) | 2022.04.11 |
---|---|
[Kubernetes] Kubernet ConfigMap 실습 (0) | 2022.04.11 |
[Kubernetes] Kubernetes Secrets 실습 (0) | 2022.04.11 |
[Kubernetes] Kong Ingress Controller 설치 (0) | 2022.04.11 |
[Kubernetes] 쿠버네티스 Overview (0) | 2022.04.11 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- kubernetes
- Spring
- docker
- deploy
- declative
- kafka-springboot
- Database
- AWS
- D3
- MySQL
- docker-compose
- argocd
- gitops
- kubectl
- CD
- Gorilla
- java
- tfsec
- NodeSelector
- mongo
- Kafka
- MongoDB
- jenkins
- Terraform
- mapping
- Golang
- jpa
- springboot
- go
- CI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함