DevOps44 [Cilium Study] Pod간 통신 & k8s 외부 노출 3 Overlay NetworkEncapsulation VXLAN 모드로 Pod 간 통신 문제 해결 실습VXLAN 설정 변경grep -E 'CONFIG_VXLAN=y|CONFIG_VXLAN=m|CONFIG_GENEVE=y|CONFIG_GENEVE=m|CONFIG_FIB_RULES=y' /boot/config-$(uname -r)CONFIG_FIB_RULES=y # 커널에 내장됨CONFIG_VXLAN=m # 모듈로 컴파일됨 → 커널에 로드해서 사용CONFIG_GENEVE=m # 모듈로 컴파일됨 → 커널에 로드해서 사용# 커널 로드lsmod | grep -E 'vxlan|geneve'modprobe vxlan # modprobe genevelsmod | grep -E 'vxlan|geneve'for i in .. 2025. 8. 10. [Cilium Study] Pod간 통신 & k8s 외부 노출 2 앞 글에서 다른 네트워크 대역을 가지는 노드 내의 pod간 통신이 불가능한 상황을 확인했다.해결 방법으로 3가지를 제시했는데, 2가지를 실습해보려고 한다. 수동 라우팅 설정도전과제 0현재 k8s-ctr k8s-w0 간 통신은 router 노드를 통해서 잘 이루어 지는 상황하지만 pod들 사이의 통신은 이루어지지 않는다. 그 이유는 router 노드에서 tcpdump 를 찍어본 결과podCIDR에 대한 정보가 없어서 eth0 인터페이스를 타고 나가기 때문. 즉, router 노드에서 k8s-ctr podCIDR에 해당하는 목적지일 경우 eth1 를k8s-w0 podCIDR에 해당하는 목적지의 경우 eth2 인터페이스를 사용하도록 라우팅 설정해주면 통신이 이루어진다.172.20.0.0/24 대역은 192.. 2025. 8. 9. [Cilium Study] Pod간 통신 & k8s 외부 노출 1 실습환경 설명 k8s-ctr, k8s-w1, k8s-w1, router 총 4개의 노드(가상머신)으로 구성k8s-ctr 과 k8s-w1 은 같은 네트워크 대역 - 192.168.10.0/24k8s-w0 는 k8s-ctr, k8s-w1과 다른 네트워크 대역 - 192.168.20.0/24k8s-ctr, w1, w0 3개의 노드는 하나의 k8s 클러스터로 구성되어 있다.router 는 k8s 클러스터에 join 되지 않음.192.168.10.0/24 ↔ 192.168.20.0/24 대역 라우팅 역할네트워크 정보 확인k8s-ctr podCIDR - 172.20.0.0/24k8s-w0 podCIDR - 172.20.2.0/24k8s-w1 podCIDR - 172.20.1.0/24 autoDirectNodeRou.. 2025. 8. 9. [Cilium Study] CoreDNS, LocalNodeDNS CoreDNS란?CoreDNS는 Kubernetes Cluster의 기본 DNS 서버 역할을 한다.K8s의 Service나 Pod 간 통신에서 myservice.mynamespace.svc.cluster.local 같은 FQDN (Fully Qualified Domain Name)을 해석할 때 사용된다. 주요특징클러스터 내부 DNS 제공각 Pod의 /etc/resolv.conf에 지정된 DNS 서버 IP는 보통 kube-dns(즉, CoreDNS ClusterIP Service) 이다.Pod → CoreDNS → 외부 DNS 서버(필요 시)로 질의가 전달된다.서비스 디스커버리ClusterIP 서비스 이름을 DNS 레코드로 관리합니다.예: nginx.default.svc.cluster.local → 10... 2025. 8. 3. [Cilium Study] Masquerading Masquerading 이란?Masquerading은 네트워크에서 IP 패킷의 송신자 주소를 다른 주소로 바꿔 외부에 전달하는 소스 NAT(Source NAT) 기법의 한 형태이다. 주로 사설 네트워크 트래픽을 외부 네트워크로 나갈 수 있도록 변환할 때 사용된다. 동적 SNAT사설 IP (ex: 10.x.x.x, 192.168.x.x)로 생성된 트래픽이 외부 네트워크로 나갈 때, 송신 IP를 노드의 공인 IP로 변환하여 전송한다.응답 패킷은 다시 해당 변환 테이블을 통해 원래 Pod로 돌아간다.일반적은 사용 사례사설 네트워크의 Pod가 인터넷으로 접근해야 할 때ClusterIP나 Pod IP를 외부에서 직접 라우팅할 수 없는 경우노드 단위로 egress IP를 통일하여 외부 방화벽 정책과 연동 Ciliu.. 2025. 8. 3. [Cilium Study] Routing Routing이란?라우팅은 네트워크 패밋이 출발지에서 목적지까지 가는 경로를 결정하고 전달하는 과정이다.쉽게 말해주소확인 : 목적지 IP를 확인경로 결정 : 어느 네트워크 인터페이스로 내보낼지 선택전달 : 다음 홉(next hop)으로 패킷을 전송예를 들어:PC(192.168.1.10) -> 인터넷(8.8.8.8)목적지가 내 로컬 네트워크(192.168.1.0/24)에 없으면게이트웨이(192.168.1.1)로 보냄이후 라우터들이 목적지까지 전달Kubernetes 같은 환경에서는 이 경로 결정이 Pod -> Node -> 다른 노드의 Pod 로 확장된다. Cilium 네트워크에서 Routing의 역할Pod 간 통신, Service, Ingress/egress 모두 패킷 라우팅이 필요하다.Cilium에서 라.. 2025. 8. 2. 이전 1 2 3 4 5 6 ··· 8 다음