Calico를 사용하는 환경에서 BIRD 프로세스에 문제가 발생하면 라우팅 정보가 제대로 전달되지 않아 네트워크 성능 저하나 장애가 발생할 수 있다. 이러한 상황을 진단하기 위해 BIRD 프로세스의 상태를 분석하는 것이 중요한데, 이를 위해 SIGUSR1 신호를 보내면 BIRD의 상세 상태와 라우팅 테이블 정보를 덤프할 수 있다. 이 글에서는 호스트에서 컨테이너 내부의 BIRD 프로세스에 SIGUSR1 신호를 보내는 방법을 단계별로 설명한다. 호스트에서 BIRD 프로세스 찾기우선 호스트에서 pidof 명령어를 사용해 BIRD 프로세스의 PID를 찾는다.pidof bird 이렇게 하면 호스트에서 BIRD 프로세스의 PID를 얻을 수 있다. 컨테이너 내부의 PID 찾기다음으로, 해당 PID를 사용하여 /pr..
CloudNet@ 가시다님이 진행하는 쿠버네티스 네트워크 스터디 KANS 3기 내용을 정리한 글입니다. Calico는 BGP를 활용해 네트워크 토폴로지를 관리하고, 각 노드 간 경로 정보를 효율적으로 교환합니다. 이를 통해 클러스터 내 노드가 자동으로 라우팅 정보를 갱신하고, 네트워크 확장 시 복잡한 설정 없이도 트래픽 흐름을 최적화할 수 있습니다. 특히 라우트 리플렉터 기능을 사용하면, 전체 네트워크의 피어링 수를 줄여 트래픽 부하를 줄이고 성능을 향상시킬 수 있습니다. Full Mesh (✰ Node-to-Node 기본 설정)Node-to-Node 메시 설정은 Calico에서 기본적으로 모든 노드가 서로 직접 BGP 피어링을 맺어 경로 정보를 교환하는 방식입니다. 이 설정은 클러스터 내의 모든 노드들..
어느 날부턴가 calico-node가 간헐적으로 NotReady 상태로 전환되는 이상한 현상이 발생했다. 처음에는 단순히 한 노드에서만 나타났고, 서비스에 큰 문제가 없어 "뭐지?" 하고 넘겼다. 그런데 시간이 지나니 다른 노드들까지 하나둘씩 NotReady 상태로 변해버렸다. 마치 퍼지는 전염병처럼 말이다! 🚨 이슈알고 보니 calico-node에서 동작하는 BIRD 프로세스의 CPU 사용률이 점점 높아지면서, readinessProbe에 설정된 calico-node -bird-ready 명령어의 응답이 느려지고 있었다. 그 결과로 노드의 상태는 하나둘씩 NotReady로 전환되는 일이 벌어진 것이다. 🔍 원인https://github.com/projectcalico/bird/pull/104 ne..
CloudNet@ 가시다님이 진행하는 쿠버네티스 네트워크 스터디 KANS 3기 내용을 정리한 글입니다. 마지막으로 오버레이 네트워크를 사용하지 않는 Direct 모드에 대해서 알아보고자 합니다. Direct 모드란calico에서는 파드에서 만들어진 패킷을 별도의 캡슐화 없이 목적지 노드로 전달하는 모드입니다. Direct모드 설치하기Instance의 출발지 목적지 확인하는 기능 비활성화# AWS CLI 로 특정 인스턴스의 Source/Destination Check 기능을 Disable 하기aws ec2 modify-instance-attribute --instance-id --source-dest-check "{\"Value\": false}" 인스턴스가 테스트에 사용할 kubernetes 인스턴..
CloudNet@ 가시다님이 진행하는 쿠버네티스 네트워크 스터디 KANS 3기 내용을 정리한 글입니다. 이제는 Calico에서 지원하는 다른 네트워크 오버레이 모드인 VxLAN에 대해서 알아보고자 합니다. VxLAN 이란IPIP(IP-in-IP)는 IP 패킷을 또 다른 IP 패킷 안에 캡슐화하여 전달하는 오버레이 네트워크 프로토콜 중 하나입니다. 기존 IP 패킷에 새로운 IP 헤더를 추가하여 캡슐화하는 방식으로, 단순한 구조 덕분에 오버헤드가 적습니다. 다만, 노드 수가 많아질 경우 네트워크 경로 관리가 복잡해질 수 있습니다. 또한, Layer 2 브로드캐스트 트래픽을 지원하지 않지만, 쿠버네티스에서는 파드들이 IP 기반으로 통신하므로 이는 크게 문제되지 않습니다. VxLAN모드 설치하기calico ..
CloudNet@ 가시다님이 진행하는 쿠버네티스 네트워크 스터디 KANS 3기 내용을 정리한 글입니다. 이번에는 Calico에서 지원하는 다양한 네트워크 모드를 살펴보고, 이를 실제로 설치 및 테스트해보려고 합니다. 첫 번째로 오버레이 네트워크 중 하나인 IPIP 모드를 다뤄보겠습니다. IPIP 란IPIP(IP-in-IP)는 IP 패킷을 또 다른 IP 패킷 안에 캡슐화하여 전달하는 오버레이 네트워크 프로토콜 중 하나입니다. 기존 IP 패킷에 새로운 IP 헤더를 추가하여 캡슐화하는 방식으로, 단순한 구조 덕분에 오버헤드가 적습니다. 그러나 노드 수가 많아질 경우 네트워크 경로 관리가 복잡해질 수 있습니다. 또한, IPIP모드는 Layer 2 브로드캐스트 트래픽을 지원하지 않지만, 쿠버네티스에서는 파드 간..
CloudNet@ 가시다님이 진행하는 쿠버네티스 네트워크 스터디 KANS 3기 내용을 정리한 글입니다. 이번 포스트에서는 CNI 중에서 네트워크 정책 기능을 제공하는 Calico에 대해 알아보겠습니다. Calico 컴포넌트 데이터 저장소Kubernetes API Datastore는 Calico에서 네트워크 설정 정보를 Kubernetes API와 통합해 저장하는 방식입니다. 이 방식에서는 설정 정보를 Kubernetes API를 통해 관리하며, 설정 데이터는 ConfigMap이나 Custom Resource Definition(CRD) 형태로 저장됩니다. 직접적으로 Kubernetes API의 데이터베이스에 접근하지 않고, Kubernetes의 표준 API를 통해 네트워크 설정을 관리합니다. 별도의 추..