
Keycloak 개념, Helm으로 배포하기
Grafana, ArgoCD 등의 다양한 서비스를 사용하다 보면, 각각의 서비스마다 인증 및 권한 관리를 별도로 구현해야 하는 번거로움이 있습니다. 이때 Keycloak을 사용하여 SSO(Single Sign On)를 구현하면, 각 서비스마다 인증 및 권한 관리를 효율적으로 관리할 수 있습니다. Keycloak은 Red Hat이 개발한 오픈소스 Id...

Grafana, ArgoCD 등의 다양한 서비스를 사용하다 보면, 각각의 서비스마다 인증 및 권한 관리를 별도로 구현해야 하는 번거로움이 있습니다. 이때 Keycloak을 사용하여 SSO(Single Sign On)를 구현하면, 각 서비스마다 인증 및 권한 관리를 효율적으로 관리할 수 있습니다. Keycloak은 Red Hat이 개발한 오픈소스 Id...

Cloud 환경에서 Terraform을 사용하여 인프라를 관리하다 보면, 기존에 수동으로 생성한 리소스를 Terraform 코드로 관리해야 하는 경우가 있습니다. 이때 terraform import 명령어를 사용하면 기존 리소스를 Terraform 상태 파일(.tfstate)에 추가할 수 있습니다. terraform import 의 기본 개념과 사용...

Terraform에서 인프라 코드를 작성하다 보면 간단한 리소스 정의는 HCL(HashiCorp Configuration Language)로도 충분히 표현할 수 있습니다. 하지만 실제 운영 환경에서는 배포 초기에 실행해야 하는 스크립트나, 규모가 큰 애플리케이션 설정 파일 등을 다루어야 할 때가 많습니다. HCL 내부에 길고 복잡한 내용 설정들을 넣는...

Helm provider가 release lifecycle을 Terraform state에 연결합니다 helm_release를 Terraform이 소유하므로 수동 helm upgrade는 다음 plan에서 drift로 보입니다. Terraform configuration helm_release resource와...

Helm hook은 release 앞뒤에서 별도 resource로 실행된다 helm install release 작업을 시작합니다. pre-install hook 실행 후 wait Pre-install hook Job이 성공해야 chart manifest를 적용합니다. ...

최근 SSD를 사용하게 되면서 기본 HDD의 용량을 어떻게 사용할 수 있을까? 라는 고민을 하던 중 Minio를 접하게 되었습니다. Minio는 단순히 오브젝트 스토리지(Object Storage)로 운영하는 방법뿐만 아니라, Kubernetes의 PV(퍼시스턴트 볼륨, PersistentVolume)로도 활용 가능합니다. 포스트를 2개로 나눠 M...

NGINX ingress controller가 backend 전에 Basic Auth를 확인한다 Browser 인증 실패 뒤 401을 받고 다시 입력합니다. Authorization header 전송 Authorization header Basic credential이 ...

Graceful Shutdown은 프로세스(애플리케이션)가 종료 요청을 받았을 때(예: SIGTERM), 바로 강제 종료되지 않고 일정 시간을 두어 정리 작업(예: DB Connection, Message Queue)을 수행한 뒤 종료되는 방식입니다. Graceful Shutdown이 이루어지지 않고 Ungraceful Shutdown이 이루어지게 되...

2024년 11월부터 12월까지 약 2개월간 Remember Me 프로젝트를 진행했습니다. 이 서비스는 AWS Lambda와 Amazon API Gateway 기반의 서버리스(Serverless) 웹 애플리케이션으로, 사용자가 단어를 외우고 관리합니다. 인프라 팀원으로서 HCP Terraform(Terraform Cloud)으로 AWS 인프라를 프로...

Pod의 Running 상태는 컨테이너 프로세스가 실행 중이라는 신호일 뿐, 요청을 안전하게 처리할 수 있다는 보장은 아닙니다. Kubernetes의 Probe는 kubelet이 컨테이너를 주기적으로 진단해 재시작이 필요한지와 Service 트래픽을 받을 준비가 되었는지를 별도로 판단하도록 합니다. TL;DR Startup Prob...