[k8s] KubeDNS를 사용한 내부 호출

쿠버네티스는 KubeDNS라는 자체 시스템을 통해 클러스터 내부에서 사용되는 DNS 구조를 제공한다.
이를 통해 IP에서 벗어나서 좀더 가독성 있고 일관된 HOST 기반의 호출을 지원할 수 있다.

권고: 쿠버네티스 1.12부터는 KubeDNS 대신 CoreDNS를 사용할 것을 권장한다.




동일 네임스페이스에서 호출

KubeDNS은 기본적으로 Service와 Pod 단위에만 생성된다.

service의 이름을 host로 삼아서 호출하면

자동으로 가고

Pod의 이름을 host로 삼아서 호출하면

이것도 자동으로 간다.




다른 네임스페이스에서 호출

하지만 다른 네임스페이스에 존재하는 리소스를 호출할 때는 조금 달라진다.

만약에 test 네임스페이스의 리소스에서 default 네임스페이스의 리소스를 호출하고 싶다면, 다음과 같이 네임스페이스를 지정해줘야 한다.




참조
https://kubernetes.io/ko/docs/tasks/administer-cluster/dns-custom-nameservers/
https://stackoverflow.com/questions/59361172/how-to-call-the-services-within-a-mesh-in-istio