Kube-Proxy

zuckerfrei·2023년 5월 28일
0

Kubernetes

목록 보기
7/63

what is kube-proxy

  • 요청 들어오면 포워딩 해주는 역할

    • docker-proxy와 동일한 역할
    • 모든 노드에서 실행되는 프로세스
    • 새로운 서비스를 찾아내고, 새로운 서비스가 생성될 때마다 각 노드에서 해당 서비스로 트래픽을 전달하기 위한 적절한 iptables 규칙을 생성
  • k8s 클러스터에서 각각의 파드는 서로 다른 모든 파드에 접근할 수 있음

    • 이는 클러스터에 파드 네트워킹 솔루션을 배포함으로써 실현됨
    • 파드 네트워크는 클러스터 내 모든 노드에 걸쳐 있는 내부 가상 네트워크, 모든 파드에 파드 네트워크에 연결됨
    • 파드 네트워크를 통해 파드끼리 통신할 수 있음

그림출처


동작 예시

  • 1번 워커 노드에 web 배포, 2번 워커 노드에 db 배포되어있다고 가정하자.
  • web은 파드의 ip를 사용하여 db에 접근할 수 있지만, db 파드의 ip는 항상 같지 않고 변경될 수 있음
  • 파드의 ip는 변경될 수 있기 때문에, 파드 ip로 다른 파드에 접근한다는 것은 위험부담이 있음
  • 파드 ip대신 ‘서비스’를 사용하여 다른 파드에 접근하는 것이 더 좋은 방법임
  • '서비스'는 클러스터 내에서 파드 또는 컨테이너처럼 실존하는 객체가 아니라 논리적인 가상 구성요소
    • 모든 노드는 서비스에 접근 가능함
  • kube-proxy가 새로운 서비스가 생성되면 찾아내고, 각 노드에서 해당 서비스로 트래픽을 전달하기 위한 규칙을 생성함
    • 이 때 iptables 규칙을 사용
  • 클러스터의 각 노드에 iptables 규칙을 생성하여 서비스의 ip(10.96.0.12)로 향하는 트래픽을 실제 파드의 ip(10.32.0.15)로 전달

그림출처

profile
무설탕 음료를 좋아합니다

0개의 댓글