이번 포스팅에서는 기존에 연결 되어있는 k8s 인프라에서 worker node 서버를 제거하는 과정을 포스팅하겠습니다.
절차는 아래와 같습니다.
Master Server
# Node 연결상태 확인
k get nodes
# Node 스케줄링 비활성화
k drain {Node Name}
# daemonset으로 생성된 pod들은 제거할 수 없어 --ignore-daemonsets 옵션을 사용해야함
# empty-volume 이 연결된 pod들은 제거할 수 없어 --delete-local-data 옵션을 사용해함
# pdb(PodDisruptionBuget) pod들은 제거할 수 없어 해당 pod들은 직접 delete 명령으로 제거해 줘야 함
Ex)
k drain Server2
Server1 Ready <none> 287d v1.17.2
Server2 Ready,SchedulingDisabled <none> 2y38d v1.17.2
Server3 Ready <none> 2y38d v1.17.2
Server4 Ready <none> 2y38d v1.17.2
# Node 삭제
k delete node {Node Name}
Worker Node Server
# 제거한 Worker Node 서버에서 작업
# kubeamd init, join 명령에 의해 발생한 변경 사항을 초기화
kubeamd reset
Ex)
root@Server2:~# kubeadm reset
[reset] WARNING: Changes made to this host by 'kubeadm init' or 'kubeadm join' will be reverted.
[reset] Are you sure you want to proceed? [y/N]: y
[preflight] Running pre-flight checks
# ip table 정리
sudo iptables -F && sudo iptables -t nat -F && sudo iptables -t mangle -F && sudo iptables -X
# 정리 후 확인
iptables -L
Ex)
root@Server2:/etc# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
# IPVS를 설정한 경우
ipvsamd --clear
'Docker & Kubenetes' 카테고리의 다른 글
MLOps를 위한 EKS 클러스터 구축 - 1 (with. Kubeflow) (0) | 2024.04.19 |
---|---|
Deployments 와 StatefulSets (0) | 2024.04.17 |
Kubernetes - Static Pod (0) | 2024.01.12 |
Kubernetes - init container (0) | 2024.01.11 |
Kubernetes Highly Available Clusters - 고가용성(HA) 클러스터 구축 (1) | 2023.11.20 |