본문 바로가기
Container/kubernetes

[쿠버네티스] Service - Headless, Endpoint, ExternalName

by 노반장 2021. 7. 4.

 

Headless

 pod간 통신이 필요할 때, 동적으로 변하는 IP에 대하여 대하여 대응이 필요하기 때문에 보통 Service(ClusterIP)를 이용해 DNS 질의를 통해 통신함. 그러나 이 역시 파드의 IP를 포함하는 이름을 불러야하는 구조임. 그래서 우리는 clusterIP:None 이라는 옵션을 주어 Headless를 사용하며, Pod에 hostname과 subdomain(service)을 설정해 통신함.

 

Endpoint

 label을 달아 Service에서 Pod 연결시 사실 내부적으로 K8S에서는 Endpoint를 만들어 연결을 관리함. 그리고 Endpoint는 사용자가 직접 만들고 조작할 수 있음.

 

ExternalName

Endpoint를 사용자가 직접 외부 도메인과 연결시킬때 IP를 이용하면 동적인 변화에 대응할 수 없음. ExternalName을 이용해 DNS Cache를 연결해 도메인 기반으로 연경을 할 수 있음.

댓글