https://velog.io/@200ok/Kubernetes-Calico-CNI-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0
데몬셋으로 각 노드에 calico-node 파드가 동작하여, 해당 파드에 bird, felix, confd 등이 동작 + Calico 컨트롤러 파드는 디플로이먼트로 생성
- Calico의 특징은 BGP를 이용해 각 노드에 할당된 Pod 대역의 정보를 전달한다. 즉, 쿠버네티스 서버뿐만 아니라 물리적인 라우터와도 연동이 가능 하다는 뜻이다. (Flannel의 경우 해당 구성 불가)
- Calico Pod 안에서 Bird라고 하는 오픈소스 라우팅 데몬 프로그램이 프로세스로 동작하여 각 Node의 Pod 정보가 전파되는 것이다.
- 이후 Felix라는 컴포넌트가 리눅스 라우터의 라우팅 테이블 및 iptables rule에 전달 받은 정보를 주입하는 형태이다.
- confd는 변경되는 값을 계속 반영할 수 있도록 트리거 하는 역할이다.
ConfD
calico-node 컨테이너 안에서 동작하는 간단한 설정관리 툴입니다. 데이터 저장소로부터 BIRD 설정값을 읽어들이고 디스크 파일로 쓰기 작업도 수행합니다. 네트워크와 서브네트워크에 설정값을 반영하고(CIDR 값) BIRD 데몬이 이해할 수 있도록 설정값들을 변환
data store ( etcd ): 분산 키 / 벨류 스토어
구성에 필요한 정보, 네트워크의 정보, 칼리코 설정정보 등
키 : 벨류가 바뀔 경우 펠릭스에게 전달하는 커뮤니케이션 버스역할도 수행
관리자가 calicoctl에 접근하기 위한 접근점
brid // BIRD는 각 노드마다 존재하는 BGP 데몬
이 데몬은 다른 노드에 있는 BGP 데몬들과 라우팅 정보를 교환
노드 간의 BGP 세션을 설정하고 경로를 공유함
라우팅 테이블에 추가된 POD IP를 다른 NODE에 전파 ( ADVERTISE )
파드가 라우팅 테이블에 추가되면 버드에 의해 다른 쿠버네티스 노드에 전달됨.
풀 메쉬 구조임.
BGP는 서로 다른 자율 시스템(AS)의 라우터 간에 라우팅 정보를 교환하는 데 사용되는 외부 게이트웨이 프로토콜(EGP)
경계 경로 프로토콜은 인터넷에서 주 경로 지정을 담당하는 프로토콜의 한 종류이다. 인터넷에서 목적지까지 경유하는 자율 시스템 중 라우팅 및 자율 시스템의 순서를 전송하기 위해 설계된 경로 지정 알고리즘
Felix / 펠릭스
.ETCD에서 제공된 정책을 적용.
네트워크 정보 수집.
노드의 상태, 네트워크 관리
IPAM // Internet Protocol Address Management
각 대역?? 논리구역??별로 어떤 대역의 IP를 할당할 것인가를 관리함
IP(Internet Protocol) 란 인터넷에 연결되어 있는 모든 장치들(컴퓨터, 서버 장비, 스마트폰 등)을 · 식별할 수 있도록 각각의 장비에게 부여되는 고유 주소
'쿠버네티스,도커' 카테고리의 다른 글
쿠버네티스 정리중 (0) | 2022.10.10 |
---|---|
쿠버네티스 kubeadm을 사용한 설치 시작부터 끝까지. (2) | 2022.10.08 |
쿠버네티스 kubeadm 설치 과정 정리. (0) | 2022.10.07 |
가상화, TYPE1, TYPE2 // 반가상화, 전가상화 (0) | 2022.09.28 |
FQDN(Fully Qualified Domain Name) (0) | 2022.09.21 |