발표자
- 박훈
- ZEPL
- 아파치 제플린 커미터
ZEPL에서 발생한 문제
- 엔터프라이즈 서비스 시 고객들이 멀티 클라우드를 사용한다는 이슈가 발생
- 이를 위해 멀티 클라우드 지원은 포기하고, 오케스트레이션 레이어를 정하고 컨테이너로 제공
- 고객에게 제공할 인프라에 쿠버네티스 구성을 해야하는 이슈 발생
어떻게 자동화 했나
레이어 분리
- 인프라 - 쿠버네티스 - 어플리케이션
Install
- Terraform
- Versionning = S3
- Locking = Dynamo
- Ansible
- ZK 클러스터링과 같은 프로비저닝에 사용
- kops
- 쿠버네티스 설치
- HELM
- 쿠버네티스로 구성된 어플리케이션 레이어의 설치
Monitor
- CloudWatch
- AWSLOG (AWS Log Agent)
- 인스턴스 구동 시 User Data에 부트스트랩 스크립트 실행을 넣어주어야함
- 기본 영구저장이라 테라폼을 사용해서 Expire 일 수 지정하는 것을 권장
- Disk, 메모리 모니터링을 위해서는 aws-script-mon 참고해서 EC2 User Data에 스크립트 추가
- Alert 설정은 Lambda를 이용해서 오토스케일링 시 등록
- Prometheus
- 어플리케이션 모니터링
- prometheus-operator를 사용하면 HELM으로 쉽게 설치 가능
- Grafana
- Import/Export 기능이 없어서 Wizzy 사용
Deploy
- Spinnaker
- 멀티 클라우드 배포
- 구성이 어려워서 현재 진행 중
- Helm Chart 또는 Operator
- 온프레미스 배포
- MINIO
- K8s 위에서 S3 사용
그 외
- k8s와 ECS를 병행해서 사용하는 이유
- 내부 시스템으로는 k8s를 사용하지만 사용자에게 컨테이너를 제공해주기때문에 k8s를 사용하면 해당 호스트의 모든 권한이 사용자에게도 부여됨
- 이를 해결하는 방법이 여러가지 있지만 현재 도입을 못해서 ECS를 사용
참고
- 발표자료 : http://bit.ly/2NSgPue
'Work > Conference' 카테고리의 다른 글
마소콘(MASOCON) 2018 세션 내용 요약 정리 (0) | 2018.12.17 |
---|---|
HashiCorp 밋업 - 왜 테라폼인가? (2) | 2018.08.15 |
HashCorp 밋업 - 데브시스터즈 Valut 사용기 (0) | 2018.08.15 |
HashoCorp 밋업 - 레거시 위에서 재현 가능한 환경 구축하기 (0) | 2018.08.15 |
HashiCorp 밋업 - 당근마켓에서 Packer와 Vagrant 사용기 (0) | 2018.08.15 |
댓글