
Kubernetes Monitoring Tool 개발 (KMP)
Kubernetes를 운영하면서 자주 반복적으로 사용하는 명령어들이 있습니다. 그때마다 매번 머릿속의 kubectl 명령어를 직접 입력하거나, 미리 정리해둔 명령어를 복사해서 사용하는 경우가 많았습니다. 그러던 중 문득 “자주 쓰는 명령어를 나만의 alias로 등록하거나 간단한 CLI 툴로 만들어보면 어떨까?” 라는 생각이 들었고, 이를 계기로 평소...
Kubernetes를 운영하면서 자주 반복적으로 사용하는 명령어들이 있습니다. 그때마다 매번 머릿속의 kubectl 명령어를 직접 입력하거나, 미리 정리해둔 명령어를 복사해서 사용하는 경우가 많았습니다. 그러던 중 문득 “자주 쓰는 명령어를 나만의 alias로 등록하거나 간단한 CLI 툴로 만들어보면 어떨까?” 라는 생각이 들었고, 이를 계기로 평소...
External Secrets는 쿠버네티스 클러스터에서 외부 시크릿 관리 시스템과 통합하여 시크릿을 관리해주는 오픈소스 도구입니다. AWS Secrets Manager, AWS SSM Parameter Store, HashiCorp Vault, Google Secret Manager 등의 외부 시크릿 관리 서비스의 값을 가져와 Kubernetes Se...
저번 시간에(Keycloak 개념, Helm으로 배포하기) Keycloak을 배포하고 기본적인 설정을 해보았습니다. 이번 시간에는 Keycloak과 ArgoCD를 연동하여 SSO를 구현해보도록 하겠습니다. 실행 환경 ArgoCD, Keycloak이 배포되어있는 Kubernetes 환경에서 시작하도록 하겠습니다. Kubernetes...
Grafana, ArgoCD 등의 다양한 서비스를 사용하다 보면, 각각의 서비스마다 인증 및 권한 관리를 별도로 구현해야 하는 번거로움이 있습니다. 이떄 Keycloak을 사용하여 SSO(Single Sign On)를 구현하면, 각 서비스마다 인증 및 권한 관리를 효율적으로 관리할 수 있습니다. Keycloak은 Rad Hat이 개발한 오픈소스 Id...
Cloud 환경에서 Terraform을 사용하여 인프라를 관리하다 보면, 기존에 수동으로 생성한 리소스를 Terraform 코드로 관리해야 하는 경우가 있습니다. 이때 terraform import 명령어를 사용하면 기존 리소스를 Terraform 상태 파일(.tfstate)에 추가할 수 있습니다. 이번 포스팅에서는 terraform import 의...
Terraform에서 인프라 코드를 작성하다 보면 간단한 리소스 정의는 HCL(HashiCorp Configuration Language)로도 충분히 표현할 수 있습니다. 하지만 실제 운영 환경에서는 배포 초기에 실행해야 하는 스크립트나, 규모가 큰 애플리케이션 설정 파일 등을 다루어야 할 때가 많습니다. HCL 내부에 길고 복잡한 내용 설정들을 넣는...
Helm은 Kubernetes의 패키지 매니저로, 애플리케이션의 배포 및 관리를 간편하게 해주는 도구입니다. Kubernetes의 리소스를 정의하는 Manifest 파일을 템플릿화하여 재사용성과 유지보수성을 높이는 데 도움을 줍니다. 일반적으로 패키지 매니저를 사용하지 않고 Dev, Stage, Prod 등의 다양한 환경에서 Kubernetes Ma...
Kubernetes 환경에서 Helm을 Package Manager로 사용해 애플리케이션을 배포하는 과정에서 종종 데이터베이스 초기화, 스키마 마이그레이션, 캐시 무효화 등의 이유로 특정 리소스가 먼저 생성되어야 하는 경우를 마주할 때가 있습니다. 이때 Helm Hook을 사용하면 특정 이벤트(예: pre-install, post-install, p...
최근 SSD를 사용하게 되면서 기본 HDD의 용량을 어떻게 사용할 수 있을까? 라는 고민을 하던 중 Minio를 접하게 되었습니다. Minio는 단순히 오브젝트 스토리지(Object Storage)로 운영하는 방법뿐만 아니라, Kubernetes의 PV(퍼시스턴트 볼륨, PersistentVolume)로도 활용 가능합니다. 포스트를 2개로 나눠 이...
일반적으로 쿠버네티스 환경에서 애플리케이션을 노출할 때, Ingress Controller를 활용해 HTTP/HTTPS 트래픽을 라우팅합니다. 그런데 간단한 테스트나 내부용 서비스처럼 전체 인증/인가 시스템을 구축하기엔 오버지만, 그래도 외부에 바로 열고 싶지 않은 경우가 있습니다. 예컨대: 사내 POC 서비스나 개발용 애플리케이션을 일단 인...