- 2-1-1. 쿠버네티스 네트워크 - 서비스 내부 구현(kube-proxy, iptables)2024년 03월 16일
- yeongki0944
- 작성자
- 2024.03.16.:18
[Vivek Grover Linkedin] IPTables vs IPVS in kubernetes
[tistory] Pod 네트워크 (2) : Service 내부 구현 분석 (kube-proxy와 iptables)[tistory] [k8s] kube-porxy가 네트워크를 관리하는 3가지 모드(userspace, iptables, IPVS)
1. kube-proxy
- kube-proxy is a daemon running on each node.
- kube-proxy is a network proxy that runs on each node in your cluster, implementing part of the Kubernetes Service concept.
- kube-proxy maintains network rules on nodes.
- server Pod의 Cluster IP : 10.3.241.152
client pod > server pod 접속 시도
- client pod > 10.3.241.152(server pod의 Cluster IP) 요청
- 10.3.241.152 - 가상 IP
- veth, eth 모두 어디로 트래픽을 보내야 할 지 판단불가 > Gateway로 전달
- Gateway의 routing table에도 없음 > 트래픽 전달 실패
- server Pod의 Cluster IP : 10.3.241.152
- iptables
- rule : 10.3.241.152 > 10.0.2.2
client pod > server pod 접속 시도
- client pod > 10.3.241.152(server pod의 Cluster IP) 요청 > veth1
- iptables을 통해 10.3.241.152 > 10.0.2.2
- bridge > eth > gateway > ( 10.0.2.0 - 10.100.0.3 )
2. iptables rule을 누가 관리할 것인가? > kube-proxy
- kube-proxy는 API-server와 직접 통신
- 서비스와 엔드포인트 오브젝트의 추가, 삭제를 감시
- 서비스와 엔드포인트가 추가, 삭제가 되면 그에 따라 iptable rule을 추가, 삭제함
- kube-proxy 3가지 모드
[tistory] [k8s] kube-porxy가 네트워크를 관리하는 3가지 모드(userspace, iptables, IPVS)
3. ClusterIP 구현
4. NodePort 구현
다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)