[펌] Istio 내부 구조

Cloud 2018.05.24 20:19




openshift에서 밀고 있는 istio의 개념을 살펴본다. (redhat 원래 발표자가 한 말은 아니지만 이해한 내용을 기반으로 거의 들어맞는 얘기를 해본다)




서비스에 다양한 기능(discovery, lb, resiliency, metrics, tracing)을 가진 jvm 애플리케이션에 docker로 개발하는 MSA를 진보적으로 바꿔보자. 





istio를 사용함으로서..

서비스만 jvm 애플리케이션으로 개발하고 나머지는 istio가 책임져 줄께.. 


kubenetes를 사용할꺼야. Pod 안에 jvm container 하나 있고, sidecar container(envoy)라는 것을 추가할 꺼야. 

sidecar container(envoy)를 사용하면 쉽게 MSA 서비스만 개발하면 될꺼야.





istio control plane이 쿼터 부터 api, config, rate limiting, ca 등등을 지원할꺼야. 


프로토콜? http는 물론 gRPC, TCP(TLS 포함)까지 지원한다.

근데 thrift는 지원하지 않아 보이지만.. 최근에 추가되었다.

https://github.com/istio/istio/tree/master/vendor/github.com/apache/thrift









실제 내부 구조는 다음과 같다. enovy와 Mixer가 핵심적인 서비스로 동작한다. 


https://developer.ibm.com/dwblog/2017/istio/







Posted by 김용환 '김용환'