devops 2

고객사 솔루션 설치 지원 업무

고객사에 쿠버네티스 기반의 솔루션을 설치하면서 경험한 이슈들을 회고합니다. 우리 솔루션은 "kubectl 만 주어지면 설치할 수 있다!" 라는 대명사와 함께 다양한 클라우드 환경에 대응할 수 있도록 설계되었고, 실제 설치에는 AWS의 EKS와 Azure의 AKS 같은 Kubernetes 서비스를 사용했습니다. 고객사의 환경은 크게 두가지로 나뉘었습니다. 1. 외부망을 사용할 수 있는 환경이 경우 자사 Harbor 에 있는 Helm Chart, Docker Image 들을 사용했기 때문에개발서버를 구축하는 것과 크게 다름이 없어서 수월했습니다. 2. 외부망을 사용할 수 없는 환경(폐쇄망)이 경우 필요한 모든 이미지와 바이너리 파일들을 미리 패키징하여 반입 절차를 거친 후 설치했습니다. 사전 준비 설치 전,..

회고 2025.06.29

Helm Chart Versioning 전략

팀에서 솔루션 개발과 DevOps 를 함께 수행하게 되면서 Helm 을 이용한 배포 자동화와 함께 솔루션의 버전 관리 역시 제 역할이 되었습니다. 우리의 솔루션은 쿠버네티스 기반의 솔루션이었기 때문에 전체적인 구조의 버전관리는 Helm Chart 단위로 관리했습니다. Helm 차트는 기본적으로 values.yaml 을 통해 각 어플리케이션의 설정을 유연하게 바꿀 수 있지만, 실제 현업에서는 고객사마다 요구사항이 상이하여 동일한 솔루션 버전에 일부 어플리케이션의 버전만 다르게 구성하는 경우 가 자주 발생하였고, 이러한 차이점을 문서로만 관리하기엔 휴먼 에러의 위험이 있었습니다. 이를 해결하기 위해 차트 전체를 버전 단위로 관리하는 전략을 선택했습니다. 예를 들어, 다음과 같이 버전을 정의했습니다.1.0.0..

회고 2025.06.29