[CKA] 마이크로서비스를 쿠버네티스에 배포할 때의 연결

여러 기술 스택으로 구성된 애플리케이션을 Deployment와 Service로 연결할 때 확인할 점을 정리합니다.

예제 애플리케이션은 Python 투표 앱, Redis, .NET 작업자, PostgreSQL, Node.js 결과 앱으로 구성됩니다. 배포할 때는 컨테이너를 올리는 것만큼 각 구성 요소의 연결 관계를 정확히 표현하는 일이 중요합니다.

  1. 각 구성 요소를 컨테이너로 배포합니다.
  2. 서로 연결되어야 하는 구성 요소와 포트를 확인합니다.
  3. 파드 교체와 확장을 고려해 내부 연결에는 ClusterIP Service와 서비스 이름을 사용합니다.
  4. 사용자가 접근할 구성 요소만 외부에 노출합니다.

파드를 직접 관리하면 업데이트와 확장 과정이 불편합니다. Deployment가 파드 복제본과 업데이트를 관리하도록 하고, Service의 selector가 Deployment 파드 템플릿의 라벨과 일치하는지 확인합니다.