[참고] Openshift 의 Service 와 Route 차이점 / Ingress 와 Route 차이점

리눅스/OpenShift|2023. 5. 10. 10:27
반응형

1. Openshift 에서 Service 와 Route 의 차이점

 

1) 서비스 (Service)

노출된 서비스에 대한 내부 클러스터 IP를 생성하고, 클러스터 내에서 해당 서비스를 사용할 수 있는 DNS 이름을 제공합니다.

서비스는 이러한 내부 IP 및 DNS 이름을 사용하여, 클러스터 내에서 포드(Pod) 간 통신을 할 수 있도록 합니다.

2) 라우트 (Route)

서비스를 클러스터 외부로 노출시키는 방법 중 하나입니다. 라우트는 클러스터 내부의 서비스를 외부에서 접근 가능한 URL로 노출시키는 역할을 합니다. 라우트를 생성하면 외부에서 해당 URL로 접근할 수 있으며, 이를 통해 클러스터 내부에 있는 서비스를 사용할 수 있습니다.

 

3) 정리
간단하게 말하자면 아래와 같습니다.

- 서비스 : 클러스터 내에서 포드 간 통신을 위한 논리적인 개념

- 라우트 : 외부에서 클러스터 내부의 서비스에 접근하기 위한 논리적인 개념
- 사용법 : 클러스터 내부에서만 사용해야 하는 서비스의 경우에는 서비스만 생성하고, 외부에서 접근이 필요한 경우에는 라우트를 생성하면 됩니다.

- 생성 순서 : 라우트는 서비스가 존재해야 생성 가능합니다. 서비스가 없다면 먼저 서비스를 생성해주어야 합니다.

 

 

2. Openshift 에서 Ingress 와 Route 의 차이점

 

1) 인그레스 (Ingress)

클러스터 외부에서 내부로 들어오는 네트워크 트래픽을 컨트롤러가 실행 중인 서비스로 라우팅하는 방법을 정의하는 API 오브젝트입니다.

Ingress 는 일반적으로 http(s) 요청을 처리하며 http(s) 요청을 서비스로 라우팅하고 SSL 암호화 및 트래픽 로드밸런싱과 같은 기능을 제공합니다. 따라서 Ingress 는 외부에서 클러스터로의 트래픽을 효과적으로 관리하고 컨트롤할 수 있도록 도와줍니다.

 

2) 라우트 (Route)

서비스를 클러스터 외부로 노출시키는 방법 중 하나입니다. 라우트는 클러스터 내부의 서비스를 외부에서 접근 가능한 URL로 노출시키는 역할을 합니다. 라우트를 생성하면 외부에서 해당 URL로 접근할 수 있으며, 이를 통해 클러스터 내부에 있는 서비스를 사용할 수 있습니다.

 

3) 비교

Ingress 와 Route 는 둘 다 클러스터 외부에서 클러스터 내부에 있는 서비스에 접근할 수 있도록 해주는 기능을 제공합니다.

다음은 Ingress 와 Route 의 차이점입니다.

 

- Ingress 는 http 와 https 프로토콜을 지원하고 Route 는 http, https, TLS 등 다양한 프로토콜을 지원합니다.
- Ingress 는 클러스터 레벨에서 관리하며, Route 는 프로젝트 내에서 관리됩니다.
- Ingress 는 Nginx, Traefik, Istio 등과 같은 인그레스 컨트롤러를 사용하여 구현되며, Route 는 OpenShift Router 를 사용하여 구현됩니다.
- Ingress 는 서비스의 라벨 셀렉터를 기반으로 경로를 분배하며, Route 는 서비스를 기반으로 경로를 분배합니다.

  또한 Route 는 서비스 포트와 경로를 연결하여 사용자가 노출시키려는 서비스를 선택할 수 있습니다.
- Ingress 는 기본적으로 Kubernetes API 오브젝트이며, Route 는 Openshift API 오브젝트입니다.

 

따라서 Ingress와 Route는 비슷한 역할을 하지만, 세부적인 구현 방식과 관리 방법에서 차이가 있습니다.

 

반응형

댓글()