스택큐힙리스트

클러스터IP, 노드포트 및 로드밸런서 서비스 유형은 쿠버네티스에서 어떤 차이가 있습니까? 본문

카테고리 없음

클러스터IP, 노드포트 및 로드밸런서 서비스 유형은 쿠버네티스에서 어떤 차이가 있습니까?

스택큐힙리스트 2023. 10. 30. 22:55
반응형

NodePort 서비스 유형은 여전히 ClusterIP를 사용하지만 다른 포트로 열린 외부 클라이언트를 위해 사용됩니까? 그래서 이 경우에는 <NodeIP>:<NodePort><ClusterIP>:<NodePort>와 동일한 것입니까?


또는 NodeIP는 실제로 kubectl get nodes를 실행할 때 찾은 IP인가요? ClusterIP 서비스 유형에 사용되는 가상 IP가 아니라는 것입니까?


질문 2 - 또한 아래 링크의 다이어그램에서:


enter


ClientNode 내부에있는 특정한 이유가 있습니까? ClusterIP 서비스 유형의 경우 Cluster 내부에 있어야한다고 생각했습니다.

만약 노드포트에 대해 같은 다이어그램이 그려진다면, 클라이언트를 NodeCluster 외부에 완전히 그릴 수 있을까요? 아니면 저는 완전히 잘못 이해하고 있는 건가요?

답변 1

ClusterIP는 다음을 노출합니다:



  • spec.clusterIp:spec.ports[*].port


클러스터 내에서만이 서비스에 액세스 할 수 있습니다. spec.clusterIp 포트에서 액세스할 수 있습니다. spec.ports[*].targetPort가 설정되어있으면 이 포트에서 targetPort로 라우팅됩니다. kubectl get services를 호출할 때 얻는 CLUSTER-IP은 클러스터 내에서 이 서비스에 할당 된 IP입니다.


NodePort는 다음을 노출합니다:



  • <NodeIP>:spec.ports[*].nodePort

  • spec.clusterIp:spec.ports[*].port


Node의 외부 IP에서 nodePort를 통해이 서비스에 액세스하는 경우 요청은 spec.clusterIp:spec.ports[*].port로 라우팅되어 이후에 spec.ports[*].targetPort로 라우팅됩니다. 이 서비스는 ClusterIP와 동일한 방식으로 액세스할 수도 있습니다.

당신의 NodeIPs는 노드들의 외부 IP 주소입니다. spec.clusterIp:spec.ports[*].nodePort으로부터는 서비스에 접근할 수 없습니다.


로드 밸런서는 다음을 노출시킵니다:



  • spec.loadBalancerIp:spec.ports[*].port

  • <NodeIP>:spec.ports[*].nodePort

  • spec.clusterIp:spec.ports[*].port


로드 밸런서의 IP 주소를 통해 이 서비스에 접근할 수 있으며, 이는 요청을 nodePort로 라우팅하고, 다시 클러스터IP 포트로 라우팅합니다. 또한 NodePort나 ClusterIP 서비스와 마찬가지로 이 서비스에 접근할 수 있습니다.

답변 2

클러스터IP, 노드포트 및 로드밸런서 서비스 유형은 쿠버네티스에서 사용되는 서비스 유형입니다. 이들은 각각 다른 방식으로 내부 및 외부와의 통신을 관리합니다. 이에 대해 자세히 알아보겠습니다.
클러스터IP 서비스 유형은 쿠버네티스 클러스터 내부에서 사용됩니다. 이 서비스 유형은 기본적으로 클러스터 IP 주소를 사용하여 해당 서비스에 대한 내부 통신을 관리합니다. 클러스터 내부에서만 액세스할 수 있으므로 외부에서는 이 서비스에 직접 액세스할 수 없습니다. 일반적으로 클러스터의 다른 파드 간의 통신에 사용됩니다. 클러스터IP는 DNS 이름으로도 액세스할 수 있으며, DNS 이름은 서비스의 이름과 함께 생성됩니다.
노드포트 서비스 유형은 클러스터IP의 기능을 모두 포함하며, 추가적으로 서비스에 대한 외부 액세스를 제공합니다. 노드포트 서비스는 클러스터 내부에서 열린 포트 번호를 선택하고, 이 포트 번호를 모든 노드에 노출시켜 외부에서의 액세스를 허용합니다. 이 서비스 유형을 사용하면 외부 요청은 클러스터IP를 사용하여 백엔드 파드로 전달됩니다.
로드밸런서 서비스 유형은 외부와의 연결을 관리하기 위해 로드밸런서를 사용하는 특수한 경우에 사용됩니다. 로드밸런서는 네트워크 부하를 분산시키는 역할을 하며, 여러 노드에 분배된 트래픽을 처리합니다. 로드밸런서를 사용하여 여러 노드에 걸쳐 액세스를 분산시킴으로써 안정성과 성능을 향상시킬 수 있습니다. 로드밸런서는 외부에서 직접 액세스할 수 있으며, 클러스터IP 및 노드포트를 함께 사용할 수도 있습니다.
결론적으로, 클러스터IP는 클러스터 내부에서만 액세스 가능한 서비스에 사용되고, 노드포트는 외부 요청까지 허용하는 서비스에 사용됩니다. 로드밸런서는 외부에서의 액세스를 효율적으로 처리하기 위해 로드밸런서를 사용할 때 선택됩니다. 이 서비스 유형들은 쿠버네티스에서 다양한 애플리케이션 및 서비스의 요구에 맞게 선택하여 사용할 수 있습니다.

반응형
Comments