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