강지원
Terraform을 사용한 인프라 구성
1. 기존 방식의 문제점
- 클라우드 리소스를 GUI로 수작업으로 생성.
- 일관성 문제: 환경 간 설정이 다를 수 있어 오류 발생 가능.
- 변경 사항 추적 어려움: 리소스 변경 내역을 기록하거나 관리하기 어려움.
- 재현성 부족: 동일한 환경을 반복적으로 생성하기 어려움.
2. Terraform 도입 후 개선점
- 코드로 관리 및 버전 관리 가능
- 모든 인프라를 코드로 작성하여 Git으로 버전 관리 가능.
- 변경 사항을 추적하고, 실수로 잘못된 설정을 덮어쓰는 문제 방지.
- 환경 간 일관성 보장
- 동일한 코드를 사용해 개발, 테스트, 프로덕션 환경 생성.
- 예측 가능한 결과로 배포 안정성 향상.
- 자동화와 효율성 증가
terraform plan
명령으로 변경 사항을 사전 확인.
terraform apply
로 필요한 작업만 자동 실행.
- 수작업 시간 감소로 배포 속도 향상.
- Kubernetes 리소스 관리 통합
- Kubernetes 리소스를 포함한 네트워크, 스토리지, 모니터링 구성 요소를 Terraform으로 관리.
- 모든 구성 요소를 하나의 워크플로로 통합하여 관리 효율성 증대.
3. 결과
- Terraform을 통해 배포 속도와 안정성이 크게 향상.
- 팀원 간 효율적인 협업 가능.
- 프로젝트의 인프라 관리가 체계적이고 재현 가능한 방식으로 개선됨.
GKE 클러스터 최적화를 위한 머신 타입 선택 과정
한달 + a 기간동안 구글 제공 크레딧으로 40만원($300)으로 운영해야하는 제한된 상황에서 Kubernetes(GKE) 클러스터의 리소스 사용량을 최적화하고 비용 효율을 높이기 위해 머신 타입을 변경하는 과정을 기록합니다. 이 글은 비용과 성능을 고려하여 e2-standard-2 머신 타입을 선택하기까지의 분석과 결론을 공유합니다.
1. 기존 상태