그라파나에서 스케일아웃된 파드를 내눈으로 직접 보기
https://pushvalue.tistory.com/104
도커,쿠버 클러스터 오토스케일링, 모니터링 구축
pushvalue.tistory.com
에서 이어지는 내용
이 전글에서는 도커 클러스터구성, 부하테스트, 오토스케일링 모니터링을 시도 했다
하지만 결과를 모니터링 하는것에 어려움이 있었다
부하를 주었을때 어디가 변하며 그것이 어떻게 시각화 차트로 나오는지, 그것을 어떻게 봐야 하는지
이러한 정보들로 어떤 상황임을 단정 지을 수 있고 어떤 조치를 취해야 하는지 전혀 감이 오지 않았다
나는 "그라파나를 사용했지만 노드 대시보드를 보고있어 파드의 증가를 보지못하고 있고
프로매태우스가 파드의 데이터를 개더링하는 쿼리가 있는지 찾아보고
있으면 파드갯수의 변화를 차트로 볼 수 있을것" 이라고 선생님이 말씀하셨다 (더 깊은뜻이 있을 수 도 있음)
그리고 내 환경을 설명 드릴때 쿠버 대시보드를 띄울 수 있냐고 질문 하셨는데
그때 나는 쿠버대시보드를 굳이 올리지않았다
아마 상태를 볼 수 있는 가장 익숙하거나 쉬운 방법이었을것이라 생각한다
하지만 내가 그라파나로 차트를 보려고 하니까 저 답변을 주신것 같다
그래서 내가 할 일은
쿠버대시보드로 파드 모니터링, 그라파나 파드 모니터링, 그리고 그 둘의 비교 가 되겠다
쿠버 대시보드 설치
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.6.1/aio/deploy/recommended.yaml
어드민 계정과 클러스터링 룰 생성
kubectl create namespace kubernetes-dashboard --dry-run=client -o yaml | kubectl apply -f -
kubectl -n kubernetes-dashboard create serviceaccount admin-user
kubectl create clusterrolebinding admin-user \
--clusterrole=cluster-admin \
--serviceaccount=kubernetes-dashboard:admin-user
어드민 토큰 생성
kubectl -n kubernetes-dashboard create token admin-user
프록시로 열기
kubectl proxy
접속 확인
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/workloads?namespace=default


그라파나 파드 상태 보기
해당 페이지 에서 ctrl + k (우측 위 pods 검색)


이제 파드를 모니터링 할 수 있게 되었으니 스트레스 테스트를 해본다

막 늘어나는 파드들
???


늘어나는 파드를 gui에서 보는것으로 내 목표는 완수 했다만
부하테스트가 끝나고 시간이 지나며 다시 줄어드는 파드도 봤다만
하나의 문제가 apache의 파드수는 400개의요청을 보내는 당시에도 1개를 유지하고 nginx의 파드수는 10개였다
nginx가 더 가벼우니까 최적의 선택을 하는 알고리즘인가?
부하 테스트 중일때 웹으로 직접 접근하면 nginx와 apache가 번갈아가면서 거의 균등하게 접속된다만
왜 nginx의 파드만 증가 하는가
해당 문제의 원인을 찾아보았다
원인은 apache의 HPA가 설정되지않았다 HPA는 한 노드당 하나의 HPA로
apache hpa를 설정해줬다


부하테스트에서 정상적으로 늘어나고 있는 파드

hpa 를 추가해 파드가 증가하는것을 볼 수 있었다
최대 부하에서 둘다 10개까지 늘어났다

hpa를 노드와 1대1로 물리는것이 일반적이고
cpu가 50%이상 사용할 때 파드를 최대 10개까지 늘리도록 했고 그것을 다양한 방법으로 관찰했다
이번 과정에서는 외부에서의 요청이 아닌 wsl K6상에서 내부로 저사양의 파드에 5회/1초 * 600개의 유저 (최대 일때)
만큼의 부하를 줘 오토스케일링되는 파드를 다양한 방법으로 관찰 했으며
관찰중 시스템 구조의 문제를 발견해 수정하는 과정을 경험 했다
그라파나가 더 도움이 될거라 생각했지만 쿠버대시보드가 더 직관적 이었다
선생님이 대시보드를 띄어볼 수 있냐고 하신 이유가 이것이라 생각함
그라파나는 대시보드의 커스텀들어가야 좀더 유용하게 사용할 수 있을것이다

