본문 바로가기

IT Note/Cloud

[1분 IT] MultiCluster Monitoring에 대해 알아보기... 근데 실습을 곁들인

전하! (전기톱맨 하이라는 뜻..) 

클라우드 여썰고.. 저썰고..

 

글을 뭐를 써야할지라고 생각했을때 쓰고 싶은 주제가 많습니다. 앞에 1분으로 붙였지만 거짓말입니다. 죄송합니다.

설날에 20시간이 넘게 누워있을때 허리가 지끈 아파오기 시작했습니다.

산데비스탄 공짜로 쓸수있잖아 ㄹㅇ ㅋㅋ

인팁인 저는 누워서 망상을 합니다. 그러면서 주제를 정리해봅니다.

1. MultiCluster Monitoring

2. ELK Stack을 하려다가 나와버린 Opensearch Stack + fluent-bit / fluentd

3. Helm Chart

4. NodeAffinity 및 Label Select

5. Proxmox로 Homeserver 구축기...

6. Ansible or ArgoCD

7. Python의 객체지향성

8. Ruby로 1분만에 홈페이지 만들고 호스팅하기

---

머릿속에는 엄청나게 많은 주제들이 떠돌고 있지만 행동으로 옮기긴 쉽지 않습니다.

돈주면 좋더라고요...

코딩을 좋아하려고 노력하지만 쉽지 않습니다.

그래도 이 일을 하면서 돈을벌고 좋아하려고 노력하고 꾸준히 글을 쓰려합니다.

시즌 10번째 거짓말


각설하고 MultiCluster Monitoring에 대해 말해보겠습니다.

 



기존 시스템에서 서버를 물리적공간안에 쓰던걸 외부 클라우드 공급자가 엄청나게 서버를 놓고 돈주고 빌려쓰는게 클라우드 시대로의 도입을 이끌었죠. 이제 우리는 원, 위안, 달러를 가지고 빌려쓰면 그만입니다. 클릭 5번 안에 컴퓨터를 뚝딱이 아빠보다 더 빨리 만들수 있습니다. 이 서버에 이 application 저 application 어중이 떠중이 다 모아다 쓰려니깐 매니저가 필요합니다.

 

Kubernetes,, K와s 사이에 8글자가 있어서 k8s로 쓰임

Boat Cloud Steering wheel을 잘 돌리는게 좋은 클라우드 엔지니어가 되는 길 중 하나입니다. 

전기톱맨 클러스터

쿠버네티스 환경에서는 많은 서버에서 많은 Node를 나누고 Pod을 띄워 Container환경을 운영합니다. 

그리고 논리적으로 Namespace라는 부분을 나누어 클러스터를 운영하게 됩니다.

저 또한 proxmox라는 opensource로 홈서버를 운영중입니다.

홈서버로 3개의 Master-Worker-Worker Node를 운영하고 있는데 이게 한 클러스터입니다.

[root@Masternode ~]$ kubectl get nodes
NAME         STATUS   ROLES                  AGE    VERSION
masternode   Ready    control-plane,master   188d   v1.22.1
worker1      Ready    <none>                 188d   v1.22.1
worker2      Ready    <none>                 188d   v1.22.1
### Home k8s cluster

이렇게 클러스터를 운영하게 되면 구성해놓은 application에 따라 CPU / Memory / Disk를 분배하게 됩니다.

 

[root@Masternode ~]$ kubectl top nodes
NAME         CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%
masternode   179m         4%     3500Mi          45%
worker1      53m          1%     1622Mi          21%
worker2      40m          1%     1101Mi          30%

가장 쉽게 top 커맨드를 통해 node의 메모리와 CPU사용량을 살펴볼 수 있습니다.

 

쓰는 application이 다양해지고 tenant(세입자, 사용자)들이 많아질수록 그리고 서비스의 중요도가 올라갈수록

application이 running중 중지되는걸 막아야합니다. 

 

그래서 금융시스템같은 경우엔 엄청 비싼 서버한대를 온전히 서비스 하나에 올인하곤 합니다. 

잉여 리소스들을 팍팍 쏟아부어서 서비스가 중단되지 않도록 하는거죠.

버릇이 없는 금수저 금융시스템들...

하지만 클라우드판에는 그딴거 없습니다. 최대한 자원을 효율적으로 사용하고 애플리케이션 팍팍 쏟아서 스까먹어야 합니다.

치킨에 밥 비벼보시라니깐요.. (전 안먹음)

 

 

그래도 서비스가 중단되는걸 막고 중단이 된다면 이유를 알고 다시 실행시켜야겠죠.

 

그래서 쓰는 오픈소스들이 Prometheus이고 이것을 시각화 대시보드하는 Grafana입니다.

 

참고로 오픈소스는 CNCF라는 Cloud Native Computing Foundation이라는 데에서 투자 및 관리하고 졸업시키고 프로덕트화(상업화)되기도 합니다. (쿠버네티스는 2015년 첫 졸업프로젝트 From google, 프로메테우스는 2018년 졸업(두번째 졸업생입니다), 

불을 되찾아준 프로메테우스.. 그만큼 안정적인 운영을 위해 많이 사용됩니다.
그라파나는 ldap연결도 쉽고.. 시각화도 꽤나 쉽습니다.

 

이런 오픈소스들로 쉽게 클러스터안의 자원들을 모니터링하고 쉽게 대시보드에 띄워놓을 수 있습니다.

왠만한 기업에 방문하면 대시보드들을 다 띄워놓습니다.

(아무도 안봅니다... 왜냐면 이상이 있으면 메일로 보내고 여러가지 방어장치가 있기 때문에)

 

클러스터안에 노드 조인하고 metric설치하고 여러가지 자료들을 좀 만드는데 5시간 이상이 걸려서 2탄으로 가서 싱글클러스터에서 실제 프로메테우스를 통해 메트릭을 받아오고 그라파나로 시각화해보겠습니다.

 

3탄에서는 이 글의 제목인 멀티클러스터 통합 모니터링을 본격적으로 해보겠습니다. with Thanos

 

새해복 많이받으세요 !

반응형