Updated:

less than 1 minute read

설명

  • Pod를 네트워크 서비스로 노출하는 방법
  • Pod는 비영구적 리소스이므로 직접 통신 보다 서비스를 생성하여 서비스를 통한 통신을 이용

종류

  • ClusterIP
    • 클러스터 내부에서 접근 가능한 아이피 할당
    • 서비스 이름으로 내부 도메인이 등록되어 파드 간에 도메인 이름으로 통신가능(service-name.namespace.svc.cluster.local)
  • NodePort
    • 모든 노드에 해당 포트를 오픈
    • 노드의 포트를 이용하기 때문에 외부에서 접근 가능
    • 해당 Pod가 생성되어 있지 않은 다른 노드에서도 해당 포트로 해당 Pod에 접근 가능
  • LoadBalancer
    • 클라우드 서비스(AWS, Azure, …)에서 제공하는 LoadBalancer와 연결하여 LoadBalancer IP로 외부에서 접근 가능
    • kubectl get svc 결과의 EXTERNAL-IP 항목으로 확인 가능
    • NodePort로도 외부 접근이 가능하지만 접근한 노드가 사라지거나 했을때에 자동으로 해당 서비스에 접근하는 것이 불가능