전공공부
[K8S - CKA] DNS in K8S 본문
1. DNS in K8S
사실 위 그림이 해당 편의 핵심이 되는 부분 입니다.
먼저 세모가 Service이고 동그라미는 pod입니다.
우리는 서비스가 모두 pod로 통신하기 위한 네트워킹 객체인것은 알고 있습니다. (실존하는 객체는 아니고 kube-proxy가 내부적으로 일을 합니다.)
잘 살펴보면 우선 Service도 DNS 형태로 접근이 가능한데 이는 ServiceName.namespace.Type(SubDomain).Root의 형태로 지정되어 있습니다.
사실 서비스이름, 네임스페이스는 모두 보시다 싶이 아실 것이고 type 부분부터 살펴보면 type은 해당 DNS를 사용하는 개체의 타입을 의미합니다. 지금 사용되는 service 개체는 svc라는 서브 도메인을 가지고 pod의 경우에는 type을 pod를 가집니다. 이는 K8S에서 지정된 것이므로 바꿀 수 없습니다.
그리고, root 부분은 모든 개체 in K8S Cluster 는 동일하게 사용되는 부분으로 cluster.local을 씁니다.
따라서 위와 같은 형태로 Cluster 내부에서 DNS로 소통이 가능하다는 것입니다.
스프링에서도 유레카를 사용하지 않는 경우에는 DNS를 사용 하는 경우가 종종 있습니다. 그럴때 마다 이런 공식으로 시작한다는 것을 알고 있으면 좋을 듯 합니다.
2. CoreDNS
It is Deploy as a Pod.
./Coredns -> it is executable
as you can see cluster.local is default value of CoreDNS and proxy path make sure to access from '/etc/resolv.conf'
if look at the kubelet config file you can see the CoreDNS path to access with other svc
once the pods are configured with the right nameserver you can resolve other svc or pod, etc...
[여담]
K8S UDEMY CKA 강의 특성상 자막을 영어로 설정하고 보는 것이 훨씬 유익한 콘텐츠를 즐길 수 있게 됩니다. 한국어로 자막을 지정하고 사용하면 강사분이 말씀하시는 문맥 및 의미를 파악하기 어려웠지만 영어 자막을 키고 보게되면 생소한 개념 조차도 쉽게 이해 할 수 있었습니다.
'Study > K8S' 카테고리의 다른 글
[K8S - CKA] Designing Cluster (0) | 2024.03.03 |
---|---|
[K8S - CKA] Ingress (0) | 2024.02.20 |
[K8S - CKA] Service Networking (1) | 2024.02.15 |
[K8S] SidecarContainer가 존재하는 Pod의 HPA 적용기 (1) | 2024.01.27 |
[K8S - CKA] Networking (0) | 2024.01.22 |