Kubernetes Calico 이론 정리

영진·2023년 2월 4일
0

AWS

목록 보기
16/17

calico

Calico는 컨테이너, 가상 머신 및 기본 호스트 기반 워크로드를 위한 오픈 소스 네트워킹 및 네트워크 보안 솔루션이다.


calico의 장점

1 광범위한 플랫폼을 지원한다.
2 클라우드 네이티브 확장성과 함께 놀랍도록 빠른 성능을 제공한다.
3 공용 클라우드나 온프레미스, 단일 노드 또는 수천 개의 노드 클러스터에서 실행되는지 여부에 관계없이 개발자와 클러스터 운영자에게 일관된 경험과 기능 세트를 제공한다.


calico 구성요소 아키텍쳐


calico 키워드 정리

BGP(Border Gateway Protocol): AS 끼리 서로 라우팅 경로를 주고 받으며 통신을 가능하게 하는 라우팅 프로토콜이다 (Inter-Domain Routing Protocol)

Bird: BGP 관련 컴포넌트이다. (Peer에 라우팅 정보 전파 및 수신 역할을 한다.)

Felix: 인터페이스 관리, 라우팅 정보 관리, ACL 관리, 상태 검사 등 다양한 역할을 담당한다.

Confd: Calico Global 설정과 BGP 설정 변경 시 Bird에 적용해주는 역할이다.


Datastore Plugin: Calico 설정 정보를 저장하는 곳이다. (K8S API Datastore 혹은 ETCD 중 선택)

calico-kube-controllers: calico 동작 관련 감시를 진행한다.

calicoctl: calico 오브젝트를 CRUD 할 수 있다


IPAM(IP Adress Management): IP 주소 및 도메인 네임 관리, 네트워크 관리 등을 관리하기 위해 컴퓨터 소프트웨어에서 구현된 방법이다.

Calico IPAM plugin: 클러스터 내에서 파드에 할당할 IP 대역이다.


Calico CNI를 사용한 Pod 통신 방식

1 동일 노드 간 Pod 통신

2 Pod → 외부 통신

3 다른 노드끼리 파드 간 통신


Calico 네트워크 모드

IPIP 모드

일반적으로 IP-in-IP라고 불리우는 Overlay 방식으로, Calico 네트워킹의 기본 모드이다.
*IP-in-IP: 원본 IP Header위에 Outer IP Header를 붙여 네트워크 통과하는 방식

Direct 모드

패킷을 캡슐화하지 않고 Pod에서 바로 패킷을 보낸 것처럼 동작한다.

CrossSubnet 모드

노드 간 같은 네트워크 대역은 Direct 모드로, 노드 간 다른 네트워크 대역은 IPIP 모드로 동작한다

VXLAN 모드

네트워크 패킷앞에 VNI를 붙이고 VTEP의 정보를 기반으로 헤더를 하나 더 덧붙여 통신하는 방식


인용글

https://projectcalico.docs.tigera.io/about/about-calico
https://nyyang.tistory.com/139

profile
I'm good at cloud computing.

0개의 댓글