[참고]
본 글은 인프런의
<쿠버네티스 어나더 클래스 - Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)>
강의 내용과 실습을 바탕으로 정리한 기록입니다.

이번 섹션에선 개발 → 분석(모니터링, 로깅) 으로 연결되는 흐름을 실습해봅니다.
이 실습의 궁극적인 목표는 "쿠버네티스가 왜 편한가?"를 직접 체감하고 이해하는 것입니다.
- 하나의 프로젝트에 서로 다른 60개의 솔루션이 포함되어 있어도, 쿠버네티스 표준을 따른다면 관리하기 수월해진다고 하는데, 왜 그렇게 되는지?
모니터링 도구 설치 (Prometheus - with Grafana, Loki-Stack)
k8s-master 에서 다음 명령 실행
💻 Git REPO 받아오기
$ yum -y install git
# 로컬 저장소 생성
$ git init monitoring
$ git config --global init.defaultBranch main
$ cd monitoring
# remote 추가
$ git remote add -f origin https://github.com/k8s-1pro/install.git
# sparse checkout 설정
$ git config core.sparseCheckout true
$ echo "ground/k8s-1.27/prometheus-2.44.0" >> .git/info/sparse-checkout
$ echo "ground/k8s-1.27/loki-stack-2.6.1" >> .git/info/sparse-checkout
# 다운로드
$ git pull origin main
💻 Prometheus (with Grafana) 설치
# 설치
$ cd ~/monitoring
$ kubectl apply --server-side -f ground/k8s-1.27/prometheus-2.44.0/manifests/setup
$ kubectl wait --for condition=Established --all CustomResourceDefinition --namespace=monitoring
$ kubectl apply -f ground/k8s-1.27/prometheus-2.44.0/manifests
✅ 확인 결과

💻 Loki-Stack 설치
# 설치
$ cd ~/monitoring
$ kubectl apply -f ground/k8s-1.27/loki-stack-2.6.1
✅ 확인 결과

💻 Grafana 접속 후, Loki 연결



💻 임의로 deployment, replicaset, service 생성


💻 Grafana에서 잘 모니터링 되는지 확인

모니터링할 네임스페이스를 지정하면(namespace = default), 현재 쿠버네티스에 배포된 파드를 별도의 복잡한 설정 없이 바로 모니터링할 수 있습니다.
쿠버네티스 생태계가 편리한 진짜 이유는 새로운 앱이 추가되더라도 수동 작업 없이 대부분의 과정이 자동화되어 있기 때문입니다. 그리고 이 모든 자동화가 가능한 근본적인 이유는, 모든 애플리케이션이 쿠버네티스 표준 아키텍처를 준수하며 배포되기 때문입니다.

실제 실무에서는 기존 VM 환경처럼 ①번(OS, JDK, WAS 등) 환경 구축부터 IP 설정, 모니터링 연동까지 여러 서버에 걸쳐 수작업으로 진행하는 경우가 많았습니다. (특히 ①번을 여러 서버에 걸쳐 여러번 진행하고 매번 다른 내용을 지원해 주었습니다..)
하지만 쿠버네티스를 도입하면 이러한 반복적인 수동 설정 과정을 오케스트레이션 도구가 자동화해 주기 때문에, 운영 및 배포 생산성이 크게 향상됩니다.
결국 쿠버네티스 표준을 따른다는 것은, 반복되는 수작업에서 벗어나 애플리케이션 구축과 운영을 훨씬 빠르고 안정적으로 자동화할 수 있음을 의미합니다.