더북(TheBook)

3.4.1 데몬셋

가장 먼저 살펴볼 것은 데몬셋(DaemonSet)입니다. 데몬셋은 디플로이먼트의 replicas가 노드 수만큼 정해져 있는 형태라고 할 수 있는데, 노드 하나당 파드 한 개만을 생성합니다.

데몬셋은 언제 사용할까요? 사실 데몬셋은 이미 여러 번 사용했습니다. Calico 네트워크 플러그인과 kube-proxy를 생성할 때 사용했고, MetalLB의 스피커에서도 사용했습니다. 이들의 공통점은 노드의 단일 접속 지점으로 노드 외부와 통신하는 것입니다. 따라서 파드가 1개 이상 필요하지 않습니다. 결국 노드를 관리하는 파드라면 데몬셋으로 만드는 게 가장 효율적입니다.

데몬셋을 만들어 보면서 데몬셋의 작동 원리를 확인해 보겠습니다.

1. kubectl get pods -n metallb-system -o wide를 실행해 현재 MetalLB의 스피커가 각 노드에 분포돼 있는 상태를 확인합니다.

[root@m-k8s ~]# kubectl get pods -n metallb-system -o wide
NAME                         …  STATUS    RESTARTS   AGE   IP               NODE   …
controller-65895b47d4-b845q  …  Running   0          47m   172.16.103.133   w2-k8s …
speaker-hzfmz                …  Running   0          47m   192.168.1.10     m-k8s  …
speaker-kqcxf                …  Running   0          47m   192.168.1.101    w1-k8s …
speaker-m7fxr                …  Running   0          47m   192.168.1.103    w3-k8s …
speaker-tsczn                …  Running   0          47m   192.168.1.102    w2-k8s …
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.