9.6 사이드카 컨테이너
175
9.6
사이드카 컨테이너
응용 프로그램 컨테이너(주 컨테이너 )의 작업 일부를 떼어서 맡긴 보조 컨테이너를
사이드카
컨테이너
라고 부른다. 이때 원활한 작업을 위해 주 컨테이너의 이름공간 하나 또는 여러 개에
대한 접근 권한을 의도적으로 보조 컨테이너에 부여한다. 마이크로서비스 아키텍처에서는, 모
든 마이크로서비스에서 재사용할 어떤 기능성이 있는 경우 그 기능성을 사이드카 컨테이너 이
미지에 넣어서 다른 마이크로서비스 컨테이너들이 손쉽게 재사용하게 만드는 패턴이 흔히 쓰
인다. 다음은 사이드카 컨테이너 활용 패턴의 몇 가지 예이다.
●
응용 프로그램 컨테이너의 네트워킹 기능을 서비스 메시
service
mesh
사이드카 컨테이너에
맡긴다. 서비스 메시는 예를 들어 모든 네트워크 연결이 상호
TLS
(
mutual
TLS
, 줄여서
mTLS
)를 사용하도록 강제하는 역할을 한다. 이런 기능을 사이드카에 맡기면, 컨테이너
를 사이드카와 함께 배치하기만 하면 보안
TLS
연결이 강제되는 효과가 생긴다. 개별 응
용 프로그램 개발팀이 자신의 응용 프로그램 코드에서 이 기능을 활성화하느라 시간을 허
비할 필요가 없다. (서비스 메시에 관해서는 다음 장의 §
10
.
8
서비스 메시(
p
.193
)에서
좀 더 이야기한다. )
●
로깅, 추적, 측정치 수집의 대상 지정과 설정 작업을 관측 가능성 (
observability
) 사이
드카에 맡긴다. 예를 들어
Prometheus
(
https
://
oreil
.
ly
/
Jn10W
)와
OpenTelemetry ...