들어가며EKS에서 Ingress를 쓰려면 AWS Load Balancer Controller가 필요합니다. 그리고 Controller가 ALB를 만들려면 IAM 권한이 있어야 해요.이 글에서는 기존 IRSA(OIDC) 방식 대신 EKS Pod Identity를 사용해 권한을 연결하는 방법을 다룹니다.Ingress Controller가 뭔가요?Ingress Controller는 AWS 리소스(ALB)와 Kubernetes 사이의 중개 역할을 하는 컴포넌트입니다.Ingress 리소스를 배포해도 Controller가 없으면 AWS 콘솔에 아무것도 생기지 않아요. 클러스터 생성 시 자동으로 설치되지 않기 때문에 직접 설치해야 합니다.Controller가 하는 일: 역할 설명 이벤트 감..
TLS 인증서 파헤치기들어가며브라우저 주소창에 자물쇠 아이콘이 뜨면 "안전하다"고 느끼죠. 그런데 그게 왜 안전한 건지 설명할 수 있나요?그 핵심에 TLS 인증서가 있습니다. 이 글에서는 TLS가 뭔지, 인증서가 어떻게 신뢰를 만들어내는지를 최대한 쉽게 풀어봅니다.TLS가 뭔가요? SSL이랑 다른 건가요?TLS(Transport Layer Security)는 네트워크 통신을 암호화하는 프로토콜입니다. SSL(Secure Sockets Layer)의 후속 버전인데, SSL이라는 이름이 워낙 익숙해져서 지금도 혼용해서 부르는 경우가 많아요.정리하면:SSL → 오래된 버전, 현재는 보안 취약점으로 사용 안 함TLS 1.2 → 현재도 널리 쓰임TLS 1.3 → 최신 버전, 더 빠르고 안전함"SSL 인증서 발급받..
Helm upgrade, 이것만 알면 됩니다들어가며Helm은 Kubernetes 패키지 매니저로, helm upgrade 명령을 통해 배포된 애플리케이션을 업데이트합니다.시작 전에 확인할 것들# 현재 설치된 릴리스 목록 확인helm list -n # 릴리스의 현재 values 확인helm get values -n # 현재 사용 중인 차트 버전 확인helm get chart -n 이미지 태그만 바꾸고 싶을 때차트 버전은 그대로 두고 컨테이너 이미지만 교체할 때 사용합니다.helm upgrade \ -n \ --reuse-values \ --set image.tag=--reuse-values: 기존 values를 그대로 유지하면서 지정한 값만 덮어씁니다.설정 여러 개를 한 번에 바꾸려면변경 사..
📚 GitOps / ArgoCD 시리즈 1편 — ArgoCD Helm 설치 시 생성되는 컴포넌트 역할 정리 2편 — ArgoCD Application, AppProject 개념 정리 3편 — ApplicationSet으로 멀티 클러스터 배포 자동화 4편 — ArgoCD Notifications Slack 연동 가이드 (현재 글) ArgoCD는 기본적으로 배포 결과를 알려주지 않습니다. argocd-notifications-controller를 설정하면 Sync 성공/실패, Health 상태 변화를 Slack으로 받을 수 있습니다. 이 글에서는 Slack Webhook 방식으로 알림을 설정하는 방법을 단계별로 정리합니다. ArgoCD Notifications는 trigger(..
📚 GitOps / ArgoCD 시리즈 1편 — ArgoCD Helm 설치 시 생성되는 컴포넌트 역할 정리 2편 — ArgoCD Application, AppProject 개념 정리 3편 — ApplicationSet으로 멀티 클러스터 배포 자동화 (현재 글) 4편 — ArgoCD Notifications Slack 연동 가이드 Application을 하나씩 수동으로 만들다 보면 클러스터나 환경이 늘어날수록 관리가 힘들어집니다. ApplicationSet은 이 문제를 해결하는 ArgoCD의 자동화 리소스입니다. Generator가 만들어내는 파라미터 목록을 템플릿에 주입해서 Application을 자동으로 생성·삭제합니다. ApplicationSet의 핵심 구조: Gener..
📚 GitOps / ArgoCD 시리즈 1편 — ArgoCD Helm 설치 시 생성되는 컴포넌트 역할 정리 2편 — ArgoCD Application, AppProject 개념 정리 (현재 글) 3편 — ApplicationSet으로 멀티 클러스터 배포 자동화 4편 — ArgoCD Notifications Slack 연동 가이드 ArgoCD를 처음 쓰면 Application과 AppProject가 헷갈립니다. 이 두 가지는 ArgoCD의 핵심 커스텀 리소스로, 이 개념을 잘 이해해야 멀티 팀 환경에서 ArgoCD를 제대로 운영할 수 있습니다. 이 글에서는 ArgoCD의 두 핵심 CRD인 Application과 AppProject의 역할과 관계, 그리고 실무에서 어떻게 구성하..
📚 GitOps / ArgoCD 시리즈 1편 — ArgoCD Helm 설치 시 생성되는 컴포넌트 역할 정리 (현재 글) 2편 — ArgoCD Application, AppProject 개념 정리 3편 — ApplicationSet으로 멀티 클러스터 배포 자동화 4편 — ArgoCD Notifications Slack 연동 가이드 Helm으로 ArgoCD를 설치하면 한 namespace 안에 여러 Deployment와 StatefulSet이 생깁니다. 처음 보면 뭐가 뭔지 헷갈리는데, 각 컴포넌트가 담당하는 역할이 명확히 나뉩니다. 이 글에서는 kubectl get pod -n argocd 했을 때 보이는 각 파드가 무슨 일을 하는지 정리합니다. 테스트 환경: ArgoCD v..
Helm으로 Loki를 설치하면 loki-write, loki-backend StatefulSet과 loki-read Deployment가 생깁니다. 처음 보면 "왜 파드가 이렇게 많지?" 싶은데, 이건 Loki의 Simple Scalable 배포 모드 때문입니다.이 글에서는 세 가지 배포 모드가 무엇인지, 그리고 각 StatefulSet이 내부적으로 어떤 컴포넌트를 묶어놓은 건지 정리합니다. 테스트 환경: Loki v3.x, loki-stack Helm chartLoki의 3가지 배포 모드Loki는 하나의 바이너리로 배포 모드를 target 파라미터로 제어합니다.1. Monolithic (단일 모드)모든 컴포넌트가 하나의 파드에서 실행됩니다. 개발 환경이나 소규모 로그 수집에 적합하지만 수평 확장이 ..
