OCP4 3scale에서 API 도메인 중복 허용 하는 법

이종완·2022년 12월 12일
0

개발이야기

목록 보기
6/12

개요

쿠버네티스 베이스 플랫폼 서비스 OCP는 마이크로서비스 api들의 유지보수 편의성을 위해 내부에서 일종의 GW역할을 하는 3scale management 솔루션(백엔드 API 관리 및 인증인가, 스케일 관리)을 제공해준다.

해당 3scale 제품을 사용할 때, 제 아무리 다른 비즈니스 로직을 가진 마이크로서비스여도 같은 도메인으로 묶여야 할 때가 있다

이때, 3scale 에서 다수의 API프로덕트가 하나의 중복된 도메인을 공유 하는 방법을 알아본다

목표

3scale에 등록된 하나의 어드민 안에서, 여러 api끼리 같은 도메인을 공유하도록 설정한다

방법

도메인 중복을 허용하려는 환경(prod, staging)의 apicast pod에 대한 deployment config의 환경변수에 APICAST_PATH_ROUTING=true를 추가해준다

단, 공유하는 도메인 호스트에 대해 각자 서로 다른 path를 가지고 있어야 제대로 적용된다

예시가 다음과 같을때

  • 공유하려는 호스트: abc.com
  • 공유 원하는 3scale product: product A(+backend A), product B(+backend B)

각 프로덕트 A, B는 서로 다른 path를 가져야 한다

A: abc.com/aaa/*
B: abc.com/bbb/*

이때 각 API들의 매핑룰은 다음과 같이 설정한다

product A: /aaa/  ->  backend A: /aaa/...
product B: /bbb/  ->  backend B: /bbb/...

만약 path가 중복 될 경우가 궁금하여 테스트 해본 결과, product A, B 중 가장 최근에 업데이트(변경)된 프로덕트가 우선권이 높아 해당 프로덕트로 트래픽이 유입된 것을 확인할 수 있었다

참조

profile
안녕하세요...

0개의 댓글