K8S CNI - Calico 글 목록
K8S CNI - Calico 1편 - POD 통신
K8S CNI - Calico 2편 - Node 통신
K8S CNI - Calico 3편 - eBPF (DSR)
K8S CNI - Calico 4편 - 내부망 연동 (BGP)
K8S Network 글 목록
K8S Service 1편
K8S Service 2편 - MetalLB
K8S Ingress
Istio 🌶️ 트래픽 흐름 Life of a packet
K8S CNI - CNI 글 목록
Cilium CNI (공개)
- 참고 링크 ← 해당 줄 및 아래 정리 내용 중 왼쪽 삼각형은 클릭하여 상세 내용을 확인 하시면 됩니다!
0. 요약
MetalLB - Layer2 모드
- 리더 파드가 선출되고 해당 리더 파드가 생성된 노드로만 트래픽이 인입되어 해당 노드에서 iptables 분산되어 파드로 접속
- 권장 사용 환경 : 테스트 및 소규모의 환경(동일 네트워크 1개 사용)에서 클라이언트 IP 보존이 필요 없을 때
MetalLB - BGP 모드
- speaker 파드가 BGP로 서비스 정보(EXTERNAL-IP)를 전파 후, 외부에서 라우터를 통해 ECMP 라우팅으로 부하 분산 접속
- 권장 사용 환경 : 규모가 있고, 클라이언트 IP보존과 장애 시 빠른 절체가 필요하며, 네트워크 팀 협조가 가능할때
1. MetalLB 소개
1.1 MetalLB
- MetalLB 는 온프레미스 환경(IDC)에서 사용할 수 있는 서비스**(로드밸런서 타입)**입니다 ← 클라우드 환경의 **서비스(로드밸런서 타입)**와는 동작이 조금 다릅니다!
- MetalLB는 BareMetalLoadBalancer 약자!
- 서비스(로드 밸런서)의 'External IP' 전파를 위해서 표준 프로토콜인 ARP(IPv4)/NDP(IPv6), BGP 를 사용합니다
- 데몬셋으로 speaker 파드를 생성하여 'External IP' 전파합니다
- 클라우드 플랫폼 호환 : 대부분의 클라우드 플랫폼(예 AWS, Azure, GCP 등)과 호환되지 않습니다 - 링크
- CNI(네트워크 플러그인) 호환 : 일부 CNI와 연동에 이슈가 있습니다 - 링크
- 예시) Calico IPIP(BGP)와 MetalLB BGP 모드를 상단 라우터와 동시 사용 시 문제 발생 - 링크