[Kubernetes] eBPF(DSR)

황시준·2023년 4월 2일
0

Kubernetes

목록 보기
11/12

eBRF 란?

eBPF(Extended Berkeley Packet Filter)

  • 솔직히 잘 모르겠다.
    우선은 커널 내 가상머신이라고 알고 있으며 bpf() syscall을 통해
    UserSpace와 eBPF프로그램이 통신할 수 있다고 알아두자.
  • Kernel의 프로브나 이벤트에 연결하여 유영한 통계를 수집하고 데이터 구조에 결과를 저장할 수 있다.

DSR이란?

DSR(Direct Server Return)의 약자로 로드벨런서를 거치지 않고
서버 -> 클라이언트로 직접 전달할 수 있다.

DSR의 장점은 영상이나 음성 데이터를 스트리밍하는 경우 응답 속도의 이점이 크다는 장점이 있다, 혹은 실시간 응답이 중요한 어플리케이션에서 잘 어울린다.

eBPF dataplane

네트워크 트래픽 처리를 IPTABLES대신 eBPF 를 사용한다.

이를 통해 얻을 수 있는 내용은 다음과 같다.

  • 외부 Client의 Source IP 보존
  • DSR 적용 가능

외부 Client의 Source IP 보존

기존의 방식은 IPTABLES의 기능 중 SNAT되어
외부 클라이언트의 IP를 알 수 없다.

Calico eBPF를 사용하면 NodePort Type 사용시 다른 Node의 Pods로 전달 시 SNAT 되지않고 전달하여 외부 Client의 IP를 알 수 있다.

DSR 동작 기능

  • Calico eBPF DSR설정 시 외부 Client의 IP는 보존되고,
    return traffic해당 노드에서 바로 빠져나간다.
profile
하고싶은게 많은 newbie

0개의 댓글