[Kubernetes] Kubespray로 노드 추가/삭제하기DevOps/Kubernetes2022. 5. 20. 12:07
Table of Contents
728x90
✔️ kubespray로 노드 추가/삭제하기
✔️ 노드 제거
ansible-playbook -i inventory/mycluster/hosts.yml remove-node.yml -b -v \
--private-key=~/.ssh/private_key \
--extra-vars "node=nodename,nodename2"
SSH key는 default key를 사용하고 있으면 설정할 필요가 없다.--extra-vars
: 제거할 노드를 지정한다. 인벤토리에 있는 노드를 지정한다.
만약 노드가 SSH 연결이되지 않으면 reset_node = false
리셋을 skip한다.
리셋이라는 것은 k8s 관련 구성요소들이 설치되어 있는 것을 제거하는 것이다.
명령을 실행해보자
vagrant@k8s-node1 ~/kubespray ➦ e7508d7d ansible-playbook -i inventory/mycluster/inventory.ini remove-node.yml -b --extra-vars='node=node3' --extra-vars reset_nodes=true
vagrant@k8s-node1 ~/kubespray ➦ e7508d7d watch -n1 -d kubectl get ds
Every 1.0s: kubectl get ds k8s-node1: Thu May 19 01:23:16 2022
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
myweb-ds 2 2 2 2 2 <none> 8m6s
node3를 제거하는 명령을 수행하고 watch
로 살펴보면 DS가 하나 줄어있는 것을 확인할 수 있다.
vagrant@k8s-node1 ~/kubespray ➦ e7508d7d kubectl get nodes
NAME STATUS ROLES AGE VERSION
node1 Ready control-plane,master 2d17h v1.22.8
node2 Ready <none> 2d17h v1.22.8
마찬가지로 node도 2개로 줄은 것을 확인할 수 있다.
만약 시스템에 문제가 생겼거나 해당 시스템이 필요없다면 제거할 수 있다.
시스템 자체(VM)는 존재하며 k8s 관련 설정을 모두 제거한 것이다.
✔️ 노드 추가
원래대로 다시 추가해보자
- Add the new worker node to your inventory in the appropriate group (or utilize a dynamic inventory
- Run the ansible-playbook command, substituting
cluster.yml
forscale.yml
:
vagrant@k8s-node1 ~/kubespray ➦ e7508d7d ansible-playbook inventory/mycluster/inventory.ini scale.yml -b
추가할 노드를 inventory
에 작성해야 한다.
Every 1.0s: kubectl get ds node1: Thu May 19 05:11:25 2022
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
myweb-ds 3 3 3 3 3 <none> 3h56m
vagrant@k8s-node1 ~/kubespray ➦ e7508d7d kubectl get nodes
NAME STATUS ROLES AGE VERSION
node1 Ready control-plane,master 2d21h v1.22.8
node2 Ready <none> 2d21h v1.22.8
node3 Ready <none> 61m v1.22.8
노드의 개수가 2 → 3 으로 늘어난 것을 확인할 수 있다.
728x90
'DevOps > Kubernetes' 카테고리의 다른 글
[Kubernetes] CronJob (크론잡) (0) | 2022.05.20 |
---|---|
[Kubernetes] Job (잡) (0) | 2022.05.20 |
[Kubernetes] DaemonSet (데몬셋) (0) | 2022.05.20 |
[Kubernetes] ReplicationController & ReplicaSets (0) | 2022.05.19 |
[Kubernetes] Pod의 LifeCycle (파드의 생명주기) (0) | 2022.05.19 |
@TTOII :: 뭉게뭉게 클라우드
영차영차 성장 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!