Helm 4

Istio 기반 MSA 인증·인가 Keycloak 배포

이번 글에서는 Helm Chart를 이용해 Keycloak을 Kubernetes 클러스터에 배포하는 과정을 다룬다. 현재 사용 중인 클러스터는 여러 서비스가 함께 공유하는 환경이며,이미 운영 중인 공용 Ingress Controller가 존재한다.문제는 이 Ingress Controller가 SNAT(Source NAT) 처리를 수행하고 있어,클라이언트의 퍼블릭 IP가 Pod까지 전달되지 않는다는 점이다. Keycloak은 로그인 이력, 세션 추적, 보안 로그 등에서 클라이언트 IP를 사용하기 때문에이 IP 정보가 모두 Ingress 노드의 IP로 치환되면 추적이 불가능해진다.하지만 공용 Ingress 설정은 다른 워크로드와 공유 중이라,이를 직접 수정하거나 SNAT 동작을 끄는 것이 불가능했다. ..

auth-sevice 배포 및 Keycloak과 연동

1. 이미지 빌드 및 푸시MSA 연동 과정에서 사용했던 auth-service 코드를 그대로 사용이미지를 생성해서 푸시하는 과정이므로 로컬에서 작업해도 무관Buildpacks 방식bootBuildImage가 제공하는 Cloud Native Buildpacks를 활용하여 이미지를 직접 생성JDK/JRE 버전 관리, 이미지 레이어화, 보안 패치 자동 반영Dockerfile처럼 세세한 커스터마이징 불가# Buildpacks 이미지 생성./gradlew bootBuildImage --imageName /auth-service:1.0.0# Docker Hub 푸시docker push /auth-service:1.0.0Dockerfile 방식직접 작성한 Dockerfile을 기반으로 이미지를 빌드이미지 레이어/구성..

Helm으로 Keycloak 배포

들어가며이전에는 단일 인스턴스 환경에서 Docker를 이용해 Keycloak을 직접 띄워봤다.하지만 실제 운영 환경에서는 Keycloak을 클러스터 내부 서비스로 안정적으로 배포하고,다른 마이크로서비스들과 통합할 수 있는 구조가 필요하다. 이번 글에서는 Helm Chart를 이용해 Keycloak을 쿠버네티스 클러스터에 배포하는 과정을 다룬다.nginx ingress controller, cert-manager, PostgreSQL, values.yaml 구성까지 포함해Keycloak이 HTTPS 환경에서 외부 요청을 처리하고, 내부 서비스와 통신하도록 설정하는 방법을 정리했다. 이 과정은 DevOps 관점에서 보면,단순히 Keycloak을 “올리는” 작업이 아니라,인증 인프라를 클러스터 내 서비스 체계..