Ingress 3

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

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

Keycloak 기반 Kubernetes RBAC 연동 초기 설정

Keycloak에서 발급받은 토큰을 기반으로 Kubernetes 클러스터 내 리소스에 접근할 수 있는 RBAC을 연동해보자. 1. namespace 생성Keycloak 리소스를 전용 네임스페이스에 모아 관리Context를 설정해 매번 -n keycloak 옵션 없이 명령 실행kubectl create namespace keycloakkubectl config set-context --current --namespace=keycloak2. cluster-issuer.yamlClusterIssuer는 cert-manager가 인증서를 발급할 때 참조하는 설정ACME 프로토콜을 사용해 Let’s Encrypt에서 인증서 자동 발급http01 방식 → Ingress를 통해 인증 검증cert-manager가..