먼저 iptables가 실제 병목인지 어떻게 확인할까?
전환 전 일주일 이상 서비스, endpoint 수, 노드별 rule 규모와 동기화 시간, network CPU, conntrack 사용량, DNS, Service 오류, p50, p95, p99 지연을 기록합니다. HPA나 rollout 때 endpoint가 급변하는 구간을 따로 표시하면 애플리케이션 부하와 network rule 갱신을 구분하기 쉽습니다. 단순히 rule 줄이 많다는 사실만으로 사용자 지연의 원인이라고 확정하지 않습니다.
현재 kube-proxy mode, CNI, network policy 구현, MTU, IPAM, node-local DNS, ingress, egress, LoadBalancer와 hostNetwork 사용을 inventory로 만듭니다. NetworkPolicy 외에 운영 스크립트가 직접 만든 iptables rule, 보안 agent와 cloud firewall이 있는지도 확인하세요. 데이터 플레인을 바꾸면 이런 숨은 의존성이 먼저 깨질 수 있습니다.
성공 기준은 ‘Cilium 설치됨’이 아니라 기존 기능을 유지하면서 합의한 병목이 개선되는 것입니다. 예를 들어 endpoint 갱신 p95, 신규 pod의 첫 Service 연결 성공 시간, network CPU와 tail latency를 기준선으로 정합니다. 개선 목표가 없으면 마이그레이션 복잡성만 남을 수 있습니다.