
Kubernetes Monitoring Tool 개발 (KMP)
Kubernetes를 운영할 때 kubectl 명령을 매번 조합하면, 장애 초기에 필요한 기본 정보를 확인하는 속도가 느려지기 쉽습니다. Kubernetes Monitoring Tool(KMP)은 이벤트, 재시작, 이전 컨테이너 로그, Pod와 Node 상태, 리소스 사용량을 한 메뉴에 모아 빠르게 조회하려고 만든 Python CLI입니다. GitH...

Kubernetes를 운영할 때 kubectl 명령을 매번 조합하면, 장애 초기에 필요한 기본 정보를 확인하는 속도가 느려지기 쉽습니다. Kubernetes Monitoring Tool(KMP)은 이벤트, 재시작, 이전 컨테이너 로그, Pod와 Node 상태, 리소스 사용량을 한 메뉴에 모아 빠르게 조회하려고 만든 Python CLI입니다. GitH...

Linux를 사용하며 알게 된 CLI 명령어들을 공유합니다. 1. 파일 및 디렉토리 관리 # 기본 파일 조작 ls # 현재 디렉토리 파일 목록 ls -la # 숨김 파일 포함...

External Secrets는 쿠버네티스 클러스터에서 외부 시크릿 관리 시스템과 통합해 시크릿을 관리하는 오픈소스 도구입니다. AWS Secrets Manager, AWS SSM Parameter Store, HashiCorp Vault, Google Secret Manager 같은 외부 시크릿 관리 서비스에서 값을 가져와 Kubernetes Sec...

Keycloak의 groups claim이 Argo CD RBAC role을 결정합니다 OIDC token에 group 정보가 들어 있어야 Argo CD가 사용자를 정책 role에 매핑할 수 있습니다. Browser Argo CD UI에서 로그인을 시작합니다. OIDC login 요청 ...

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...