N° 01 — 목록

'Cloud & Infrastructure/Kubernetes Networking' (14)

  1. Cloud & Infrastructure/Kubernetes Networking

    K8s Networking - 02. coredns

    "web"이라고만 쳤는데 왜 다른 namespace로 가버리나 — CoreDNS와 NDots 함정한 팀이 클러스터 안에서 외부 API(api.weather.com)를 호출하는 코드를 올렸다. 어느 날부터 호출이 이상하게 느려지더니, 가끔 존재하지 않는 도메인(NXDOMAIN) 응답이 왔다. 원인은 Pod의 DNS 검색 도메인 설정 — ndots:5 — 이었다. 외부 도메인을 쳤는데 CoreDNS가 그것을 api.weather.com.default.svc.cluster.local 같은 클러스터 내부 이름으로 먼저 풀려 시도하다 실패하고, 그제야 외부로 나갔다. 매 요청마다 여러 번의 실패한 DNS 질의가 쌓인 것이다.이 글이 푸는 것은: CoreDNS가 클러스터 안에서 서비스 디스커버리를 어떻게 담당하고,..

    · 댓글
  2. Cloud & Infrastructure/Kubernetes Networking

    K8s Networking - 01. service kube-proxy

    Pod는 죽을 때마다 IP가 바뀌는데, 클라이언트는 어떻게 "이 앱"을 찾나한 Pod의 IP는 10.0.1.5였다. 어플리케이션 클라이언트는 그 IP로 접속했다. 그런데 노드가 죽어 Pod가 다른 노드로 재스케줄됐고, IP가 10.0.1.9로 바뀌었다. 클라이언트는 여전히 10.0.1.5로 연결을 시도하다 실패했다 — 아무도 IP가 바뀌었다고 알려주지 않았으니까.이것이 Pod IP로 직접 접속하면 안 되는 이유다. Pod는 재스케줄될 때마다 IP가 바뀐다. 클라이언트가 "이 앱"을 안정적으로 찾으려면, 바뀌는 IP를 감추는 고정된 진입점이 필요하다. 그 역할을 Service가 한다.이 글이 푸는 것은: Service가 바뀌는 Pod IP들을 어떻게 하나의 안정된 이름으로 묶는가, kube-proxy가 그..

    · 댓글