Kubernetes 이야기

Ingress vs Service Mesh 본문

Kubernetes/일반

Ingress vs Service Mesh

kmaster 2022. 12. 28. 21:07
반응형

 

Service Mesh  Ingress 는 Kubernetes의 애플리케이션 네트워킹 영역에서 사용되는 두 가지 솔루션이다.

Service Mesh

애플리케이션을 배포할 때 앱이 서로 통신하는 일반적인 방식은 Service를 이용하는 방법이다. 여기에서 문제는 Service를 통해 애플리케이션간 모든 트래픽은 암호화되지 않는다는 것이다.

 

Service Mesh는 대표적으로 다음과 같은 기능을 한다.

  • 마이크로서비스 간 트래픽 암호화
  • 트래픽 관리
  • Kubernetes 서비스를 안전하게 연결
  • 추적 및 경고를 위한 관찰 가능성

서비스 메시는 주로 HTTP(S) 또는 gRPC와 같은 프로토콜을 사용하여 OSI 모델의 레이어 7을 다루기 때문에 애플리케이션 중심에 중점을 둔다.

 

특정 서비스 메시 구현 ( Istio, Linkerd등) 이 클러스터에 설치되면 사이드카 역할을 하는 추가 컨테이너가 각 Pod에 자동으로 주입된다.  순방향 및 역방향 모드에서 모두 작동하는 일종의 프록시입니다. 

 

참고 : https://codilime.com/blog/service-mesh-vs-kubernetes-ingress-difference/

Ingress

마이크로 서비스 간의 통신 외에도 Front-end 앱과 상호 작용하는 애플리케이션 통신 방법이 필요하다. 

Public Cloud에서는 Load Balancer 타입을 사용하여 외부와 연결할 수 있도록 구성한다. ( 물론 NodePort도 사용할 수 있지만 대부분은 Load Balancer 로 서비스를 제공한다. )

 

Public Cloud에서 제공하는 Load Balancer는 비용을 지불해야 한다. 서비스가 많아지면 지불해야 하는 비용도 많아지게 된다. 

Kubernetes Ingress Controller를 사용하면 이런 문제를 해결할 수 있다.

  • 로드 밸런서 1개
  • 이를 가리키는 여러 애플리케이션(Kubernetes Services)

하나의 로드 밸런서를 생성하고 모든 Kubernetes Service가 이를 가리키도록 할 수 있다.

 

참고 : https://codilime.com/blog/service-mesh-vs-kubernetes-ingress-difference/

 

 

그럼, Ingress나 Service Mesh 중 어떤 것을 선택해야 할까? 이것을 선택하는 기준은 애플리케이션 구조에 따라 달라질 수 있다.

 

만약 마이크로 서비스 구조의 앱이라면 Ingress와 Service Mesh 모두를 적용하여 안전한 아키텍처를 구성할 수 있다.

 

 

참고

https://codilime.com/blog/service-mesh-vs-kubernetes-ingress-difference/

https://dev.to/thenjdevopsguy/kubernetes-ingress-vs-service-mesh-2ee2

반응형

'Kubernetes > 일반' 카테고리의 다른 글

Impersonation (Kubernetes Authentication)  (0) 2023.01.26
GitOps의 장단점  (0) 2023.01.10
Kubernetes와 Edge computing  (0) 2022.12.09
Data Prepper  (0) 2022.11.22
OpenSaerch 설치  (0) 2022.11.19
Comments