본문 바로가기
  • 오늘처럼
소프트웨어 아키텍처/Kubernetes

[Kubernetes] 1-08. 마스터 노드 정보 확인하기

by bluefriday 2022. 5. 3.
반응형

이번에는 마스터 컴포넌트의 구성요소인 kubelet, kube-apiserver, kube-scheduler, kube-controller-manager, entcd 에 대한 정보를 확인해본다.

먼저 마스터노드에 접속하여 프로세스로 kubelet이 구동되어 있는지 확인한다.

### 프로세스 확인
ssh <마스터노드>
root@localhost:~# ps -ef | grep kubelet

### systemd 확인
root@localhost:~# find /etc/systemd/system/ | grep kube
/etc/systemd/system/kubelet.service.d
/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
/etc/systemd/system/multi-user.target.wants/kubelet.service

root@localhost:~# find /etc/systemd/system/ | grep etcd

위와 같이 kubelet 이 systemd로 구성되어 있는 것을 확인하였으나 다른 kube service 들이나 etcd를 확인할 수 없다. kubeadm 으로 설치되어있다고 유추하고 kubeadm 의 manifest 디렉토리를 확인한다.

kubeadm 의 디렉토리는 기본값에서 변경되었을 수 있으므로 systemd 명령으로 kubelet을 조회하여 kubelet 실행 파라미터의 '--pod-manifest-path' 를 확인하는 것이 더 정확하다.

root@localhost:~# find /etc/kubernetes/manifests/
/etc/kubernetes/manifests/
/etc/kubernetes/manifests/kube-controller-manager.yaml
/etc/kubernetes/manifests/etcd.yaml
/etc/kubernetes/manifests/kube-apiserver.yaml
/etc/kubernetes/manifests/kube-scheduler.yaml

위 내용을 통해 주요 구성요소인 kube-controller-manager, kube-scheduler, kube-apiserver 등이 static pod 로 구성되어 있음을 확인할 수 있다. 실제 kube-system namespace에서 확인한다.

root@localhost:~# kubectl -n kube-system get pod -o wide | grep master1
coredns-5644d7b6d9-28fh4                   1/1     Running            ...   master1
coredns-5644d7b6d9-093jf                   1/1     Running            ...   master1
etcd-cluster1-master1                      1/1     Running            ...   master1
kube-apiserver-cluster1-master1            1/1     Running            ...   master1
kube-controller-manager-cluster1-master1   1/1     Running            ...   master1
kube-proxy-cds92                           1/1     Running            ...   master1
kube-scheduler-cluster1-master1            1/1     Running            ...   master1
weave-net-9hjue                            2/2     Running            ...   master1

위 결과에서 coredns 가 dns application 으로 사용됨을 확인할 수 있다. 또한 하단의 명령을 통해 coredns가 static pod 가 아닌 deployment 에 의해 구동된 일반 pods 임을 알수 있다.

root@localhost$ kubectl -n kube-system get deploy
NAME      READY   UP-TO-DATE   AVAILABLE   AGE
coredns   2/2     2            2           155m

 

마스터 노드의 정보에 대하여 하단과 같이 확인 가능하다.

kubelet: process
kube-apiserver: static-pod
kube-scheduler: static-pod
kube-controller-manager: static-pod
etcd: static-pod
dns: pod coredns

 

댓글