인프라&운영체제/Istio
-
[Istio] 세분화된 url 라우팅을 위한 Virtual Service 작성방법인프라&운영체제/Istio 2022. 2. 23. 00:06
요즘 회사에서 기존 서비스를 새로운 언어로 마이그레이션 작업을 하고 있다. istio를 통해 기존 서비스의 api를 신규 서비스에 새로 작성된 api로 라우팅을 해줘야하는 상황이었다. prefix를 통해 편하게 작성하면 좋았겠지만, 피처별로 완료한 개별 api 단위로 넘겨야했다. api를 작성하면 api url에 path variable이 끼어있는 케이스가 많기 때문에 중간에 path variable이 들어가도 정상적으로 라우팅 해주는 방법을 찾아야했다. 결론적으로 Virtual Service에서 제공하는 Regex(정규식) 방식으로 라우팅을 해주면 된다. 공식 레퍼런스에서 구글 Re2 정규식 스타일로 작성하면 된다고 표기 되어 있다. 근데 공식 레퍼런스에서는 딱히 예시가 보이지 않았고, 구글링을 해봐도..
-
[Istio] gateway tls 설정 방법인프라&운영체제/Istio 2022. 1. 29. 15:01
gateway에 인증서를 설치해서 통신하도록 하는 설정 방법이다. 도메인에 맞는 인증서를 먼저 다운받아야한다. 1. 다운받은 인증서 파일 압축을 풀고 key와 crt를 쿠버네티스의 secret으로 등록해주어야한다. (네임스페이스는 istio-system 아래 생성) $ kubectl create -n istio-system secret tls {secret 이름} --key={인증서 key 파일명} --cert={인증서 crt 파일명} 아래는 예시. zorba.com이라는 도메인을 사용한다는 전제 $ kubectl create -n istio-system secret tls zorba-com-credential --key=STAR.zorba.com_key.pem --cert=STAR.zorba.com_c..
-
[Istio] gateway 사용법인프라&운영체제/Istio 2022. 1. 29. 14:51
istio-ingressgateway는 아래에서 설명할 gateway와는 다른 개념이다. istio-ingressgateway는 Cluster의 entry point가 된다. 쿠버네티스에서 nginx ingress controller와 동일하게 ingress controller 역할을 수행한다. 로드밸런서 역할을 수행하며 pod로서 동작한다. istio 공식 사이트에 설명이 잘 나와있긴 하지만, 일단 정리해둔다. istio에서는 gateway와 virtual service를 통해 트래픽을 컨트롤 한다. virtual service로 패턴에 맞춰 어느 호스트 또는 서비스로 라우팅할지, 트래픽 비중(weight)을 어느정도로 할지 룰을 지정하고, gateway는 단어처럼 어느 호스트의 요청, 포트 등을 처리..
-
[Istio] Istio란?인프라&운영체제/Istio 2022. 1. 28. 12:50
Istio는 마이크로서비스 간 데이터 공유를 제어하는 기반을 제공하는 오픈소스 서비스 메쉬 플랫폼이다. 서비스 메쉬란? 애플리케이션의 다양한 부분들이 서로 데이터를 공유하는 방식을 제어하는 방법이다. 서비스 간 커뮤니케이션을 관리하는 다른 시스템들과 달리, 서비스 메쉬는 애플리케이션에 구축된 전용 인프라 계층을 말한다. 서비스 메쉬는 애플리케이션 간 통신을 위해 프록시 방식으로 구축되는데, 서비스 메쉬에서는 아래처럼 요청이 자체 인프라 계층의 프록시를 통해 마이크로서비스 간에 라우팅된다. 그래서 서비스 메쉬를 구성하는 개별 프록시는 서비스 내부가 아니라 각 서비스와 함께 실행되므로 'sidecar'라고도 불린다. 서비스가 직접 서비스 간에 커뮤니케이션 통신을 통제하는 코딩을 직접하지 않아도 되기 때문에 ..