개요
Spring Cloud MSA를 활용한 샵바이 시스템을 어떻게 쿠버네티스로 전환했는가?
왜 쿠버네티스로 전환했나요?

- 기존 환경은 HA를 구성하더라도 장애가 발생한 경우 유연한 대처가 어렵습니다.
- 쿠버네티스는 장애 상황을 캐치하고 복구할 수 있어서 전환했습니다.
- 원하는 서버의 댓수를 지정하면 가용 자원을 고려하여, 지속적으로 체크 + 복구하는 기능을 제공합니다.
- 샵바이 시스템은 낮 시간 트래픽이 높습니다. 따라서 이 때 필요한 오토 스케일링을 사용해 서버 자원의 효율적인 사용이 가능합니다.
- 이벤트와 같은 폭발적인 트래픽 서지에는 오토 스케일링으로 대처가 어렵습니다.
- 따라서 미리 스케일 아웃을 하는 과정이 필요합니다.
- 하지만 Private Cloud에서는 사내 프로세스로 인해 서버 증설이 쉽지 않습니다.
- 기존 과정은
서버 증설 → Network ACL → ANSIBLE → Jenkins 과정입니다.
- 쿠버네티스는
노드 증설 → 스케일 아웃 이 끝입니다.
쿠버네티스 전환 준비하기
-
고려했던 점은 아래 두 가지입니다.
- 코드 변경 없이 쿠버네티스 전환이 가능한가?
- 쿠버네티스의 빌트인 기능을 활용해 전환이 가능할까?
-
API Gateway

- Lua를 사용한 커스텀 필터의 경우는 별도의 유지보수 비용이 발생합니다.
쿠버네티스에 (애플리케이션) 배포하기

-
각 마이크로서비스를 배포할 때는 여러 쿠버네티스 리소스가 필요하게 됩니다.
-
Manifest 파일로 관리하려고 했으나, 마이크로서비스가 너무 많아서 유지보수 비용이 너무 컸습니다.
-
리소스 관리에 필요한 설정들은 Helm(쿠버네티스 리소스 패키지 도구) 템플릿 변수를 적용한 파일로 만들고 관리합니다.

- 배포 시에는
helm install ~ 명령어를 사용할 수 있습니다.