본문 바로가기

Kubernetes

쿠버네티스 포드 디자인 패턴 및 포드 설계

포드 디자인 패턴

 

포드 디자인 패턴에는 크게 세 종류가 있다.

 

종류 개요
사이드카 패턴(sidecar pattern) 메인 컨테이너에 기능을 추가한다
앰배서더 패턴(ambassador pattern) 외부 시스템과의 통신을 중계한다
어댑터 패턴(adapter pattern) 외부 접속을 위한 인터페이스를 제공한다

 

사이드카 패턴

 

사이드카 패턴은 메인 컨테이너 외에 보조적인 기능을 추가하는 서브 컨테이너를 포함하는 패턴이다

 

사이드카 패턴 예시

 

예를 들어 특정 변경 사항을 감지하여 동적으로 설정을 변경하는 컨테이너, 깃 저장소와 로컬 스토리지를 동기화하는 컨테이너, 애플리케이션의 로그 파일을 오브젝트 스토리지로 전송하는 컨테이너 등등 추가적이고 독립적으로 운영될 수 있는 서브 컨테이너를 사이드카로 이용하여 포드를 구성한다.

 

앰배서더 패턴

 

앰배서더 패턴은 메인 컨테이너가 외부 시스템과 접속할 때 대리로 중계해주는 서브 컨테이너를 포함한 패턴이다. 예를 들어 앰배서더 컨테이너를 데이터베이스로 접속하는 인터페이스 혹은 Proxy로 생각하고 구축하면 메인 컨테이너는 항상 localhost를 지정하여 앰배서더 컨테이너로만 접속하고 앰버서더 컨테이너가 여러 목적지에 중계하여 연결하도록 구성하면 느슨한 결합을 유지할 수 있다. 

 

어댑터 패턴

 

어댑터 패턴은 서로 다른 데이터 형식을 변환해주는 컨테이너를 포함하는 패턴이다. 예를 들어 프로메테우스 등의 모니터링 소프트웨어에서 정의된 형식에 맞게 메트릭을 수집하기 위해 어댑터 컨테이너를 사용해 외부 요청에 맞게 데이터 형식으로 변환하고 데이터를 반환해준다.