쿠버네티스의 서비스 타입을 알아보기 전에, 쿠버네티스의 서비스가 무엇을 의미하는지부터 알아보겠습니다.
쿠버네티스에서의 서비스는 pod들을 통해 실행되고 있는 어플리케이션을 네트워크에 노출시키는 방법이라고 볼 수 있습니다.
예를 들어, pod가 다른 pod를 찾을 때, IP나 호스트 이름같은 경우는 pod의 일회성 특징 때문에 언제든지 사라질 수 있습니다. 그렇기에 변하지 않는 진입점인 서비스라는 것을 통하여 해결을 하게 되는겁니다.
이러한 서비스는 크게 3가지로 분류됩니다. (External Name은 제외하겠습니다)
1. Cluster IP
2. Node Port
3. Load Balancer
1. Cluster IP
- pod들이 클러스터 내부의 다른 리소스들과 통신할 수 있도록 해주는 가상의 IP이며, 오직 클러스터 내부에서만 접근가능합니다.
- 외부 접근이 필요없는 형태인 경우 해당 방식으로 사용합니다.
- 예를 들면, 캐시 서버나, DB? 와 같은 내부 통신만 사용할때 주로 쓰이는 것 같습니다.
2. Node Port
- 외부에서 노드 IP의 특정 포트로 들어오는 것을 감지하여 해당 포트와 매칭되는 pod로 전달합니다.
- Node Port를 생성하면 쿠버네티스가 모든 노드에 특정 포트(모두 동일 번호)를 할당합니다.
- 각 노드의 포트로 서비스를 분기쳐주는 느낌인 것 같습니다.
3. Load Balancer
- Cloud LB가 외부에서 액세스가 가능 하면서, 자신의 IP를 갖고 리다이렉트 해줍니다.
- 이때 Node Port와 Cluster IP 역시 자동으로 생성됩니다.
- 다만 서비스 1개당 LB 1개 씩 필요합니다.
- 비용적으로 부담이 될 수 있습니다.
위 처럼 쿠버네티스에서는 서비스의 타입이 크게 3가지로 나뉘는데, 해당 서비스들만 사용하면 2% 모자란 느낌이 있습니다.
그렇기에 이를 아울러서 더 상위에서 관리할 수 있는 Ingress를 사용하는 것이 좋다고 생각합니다.
Ingress에 대해서는 다음 게시글에 작성하도록 하겠습니다.
혹시나 내용에 문제가 있거나, 잘못된 내용이 있다면 바로 수정하겠습니다.
감사합니다.
쿠버네티스의 서비스 타입을 알아보기 전에, 쿠버네티스의 서비스가 무엇을 의미하는지부터 알아보겠습니다.
쿠버네티스에서의 서비스는 pod들을 통해 실행되고 있는 어플리케이션을 네트워크에 노출시키는 방법이라고 볼 수 있습니다.
예를 들어, pod가 다른 pod를 찾을 때, IP나 호스트 이름같은 경우는 pod의 일회성 특징 때문에 언제든지 사라질 수 있습니다. 그렇기에 변하지 않는 진입점인 서비스라는 것을 통하여 해결을 하게 되는겁니다.
이러한 서비스는 크게 3가지로 분류됩니다. (External Name은 제외하겠습니다)
1. Cluster IP
2. Node Port
3. Load Balancer
1. Cluster IP
- pod들이 클러스터 내부의 다른 리소스들과 통신할 수 있도록 해주는 가상의 IP이며, 오직 클러스터 내부에서만 접근가능합니다.
- 외부 접근이 필요없는 형태인 경우 해당 방식으로 사용합니다.
- 예를 들면, 캐시 서버나, DB? 와 같은 내부 통신만 사용할때 주로 쓰이는 것 같습니다.
2. Node Port
- 외부에서 노드 IP의 특정 포트로 들어오는 것을 감지하여 해당 포트와 매칭되는 pod로 전달합니다.
- Node Port를 생성하면 쿠버네티스가 모든 노드에 특정 포트(모두 동일 번호)를 할당합니다.
- 각 노드의 포트로 서비스를 분기쳐주는 느낌인 것 같습니다.
3. Load Balancer
- Cloud LB가 외부에서 액세스가 가능 하면서, 자신의 IP를 갖고 리다이렉트 해줍니다.
- 이때 Node Port와 Cluster IP 역시 자동으로 생성됩니다.
- 다만 서비스 1개당 LB 1개 씩 필요합니다.
- 비용적으로 부담이 될 수 있습니다.
위 처럼 쿠버네티스에서는 서비스의 타입이 크게 3가지로 나뉘는데, 해당 서비스들만 사용하면 2% 모자란 느낌이 있습니다.
그렇기에 이를 아울러서 더 상위에서 관리할 수 있는 Ingress를 사용하는 것이 좋다고 생각합니다.
Ingress에 대해서는 다음 게시글에 작성하도록 하겠습니다.
혹시나 내용에 문제가 있거나, 잘못된 내용이 있다면 바로 수정하겠습니다.
감사합니다.