Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
Tags
- @Transactional
- mybatis
- docker
- JdbcTemplate
- cicd
- redis
- Spring
- MSA
- Spring Data JPA
- 스프링 부트
- JPQL
- k8s
- Helm
- Secret
- Web
- AWS
- 도메인
- Spring Container
- argocd
- DI
- JPA
- 컨테이너
- kafka
- 페이징
- JWT
- Iam
- CORS
- dockerhub
- 쿠버네티스
- securitycontextholderfilter
Archives
- Today
- Total
look-forest
Argo CD, 프로메테우스/그라파나 본문
Argo CD
- GitOps 방식(gitd을 중심으로 한 서버 운영)의 CD(Continuous Delivery) 도구
- k8s의 상태를 Git 저장소로부터 가져와 자동으로 Kubernetes에 배포
- github의 yml과 실제 클러스터가 sync가 안맞으면 argocd가 github기준으로 강제 sync
- 다만, 이때 github에 없는 리소스를 누가 만들었다고해서 삭제하지는 않음

장점
- 모든 Kubernetes 리소스 상태를 Git에서 관리하여 이력을 관리하고, 누군가 수동으로 클러스터 상태를 바꿔도 k8s자원 유지
- 개발자가 임의로 kubectl로 자원을 조작할 경우, 이력도 남지않고 히스토리 관리도 안된다.
-> 사람이 만지지마라. 이력을 만들어라. => 인프라 안정성 확보
- 개발자가 임의로 kubectl로 자원을 조작할 경우, 이력도 남지않고 히스토리 관리도 안된다.
- 웹 UI를 통해 애플리케이션 상태, 배포 이력, Sync 상태를 시각적으로 확인 가능

설치 및 환경 구성
- argocd관련 네임스페이스 생성
- argocd 자원 생성(인터넷에 있는거 그대로, 환경 설정은 3에서)
- argocd 관련 application 자원 생성
Argo CD에게 어떤 Git 저장소의 어떤 경로에 있는 K8s 자원을 바라봐야 할지 알려주는 선언
웹 UI 접속
- 로컬 대시보드 접속
- kubectl port-forward svc/argocd-server -n argocd 8080:443
포트포워딩으로 8080 포트와 argocd 서비스의 443 포트 매핑
- kubectl port-forward svc/argocd-server -n argocd 8080:443
- public 대시보드 접속
- https 관련 스크립트 수정 필요
- ingress에서 이미 복호화 함. 백엔드까지 암호화된 채로 전달하는 HTTPS → HTTPS는 불가
- argocd 서버는 내부적으로 https로 default 실행되므로 http로 변경
kubectl edit deployment argocd-server -n argocd
- https 관련 스크립트 수정 필요
프로메테우스/그라파나
Prometheu
- CPU 사용률, 메모리 등 시스템 정보 수집 시스템
- 각종 자원을 수집해주는 exporter들(process-exporter, nginx-exporter 등)과 연결하여 데이터 정제해 사용
- 대표적으로 Node Exporter는 노드(서버) 리소스 상태를 수집하여 Prometheus가 읽을 수 있게 변환해주는 프로그램
- 프로메테우스 파드에서 노드 내부의 노드 익스포터 파드에 접근 시, 서비스를 통하지 않고 노드 포트로 직접 연결하도록 포트 매핑
(서비스는 라운드 로빈으로 로드밸런싱하므로) - 프로메테우스가 노드에 접근할 수 있도록 RBAC 기반 권한 부여(prometheus-rbac)
- 프로메테우스 파드에서 노드 내부의 노드 익스포터 파드에 접근 시, 서비스를 통하지 않고 노드 포트로 직접 연결하도록 포트 매핑
Grafana
- Prometheus 등의 데이터 소스로부터 시각화를 제공하는 대시보드 도구
- Grafana에서 Prometheus 연동 -> 화면 접속 후 연결 설정
- 각 export 별 적절한 대시보드 템플릿 UI 선택


참고 자료 & 이미지 출처
EKS를 활용한 Spring 운영서버 배포 (feat. devops의 모든 것)
'Infra > Kubernetes' 카테고리의 다른 글
| 컨테이너 한방 정리 (0) | 2026.07.25 |
|---|---|
| EKS를 이용한 Spring Cloud MSA 서버 배포 (0) | 2026.07.19 |
| Auto Scale (Pod/Node) (0) | 2026.07.17 |
| 쿠버네티스 아키텍처와 리소스 (0) | 2026.07.05 |
| EKS를 활용한 Spring 운영 서버 배포(Monolithic) (0) | 2026.07.03 |
