본문 바로가기
IT Knowledge/Kubernetes

Kubernetes CNI(Calico) 설치 방법

by Seok. 2021. 12. 15.
반응형

CNI(Container Network Interface)란? : 컨테이너가 생성되거나 소멸될때 컨테이너 네트워킹을 쉽게 구성할 있도록 설계된 표준이다.

(클러스터 네트워킹 : https://kubernetes.io/docs/concepts/cluster-administration/networking/#how-to-implement-the-kubernetes-networking-model)

 

Cluster Networking

Networking is a central part of Kubernetes, but it can be challenging to understand exactly how it is expected to work. There are 4 distinct networking problems to address: Highly-coupled container-to-container communications: this is solved by Pods and lo

kubernetes.io

 

가장 인기 있는 플러그인 flannel, calico, weave 등이 있는데, 

저는 Calico 로 설치하여 사용하고자 합니다.

 

[Flannel vs Calico]

[Flannel]
CoreOS에서 개발한 Flannel
Flannel 쿠버네티스 요구사항을 충족하는 매우 간단한 overlay 네트워크 이다.
다른 plugin 비해서 설치  구성이 쉽습니다.
Kubernetes 배포에 의해서 기본적으로 설치가   있습니다.
가장 기본적인 네트워크 기능들을 제공하나, 네트워크 정책을 통한 보안기능을 구현하기 어렵습니다. 

[Calico]
성능  유연성에서 좋다.
Calico 많이 사용한다?
Host Pod같에 네트워크 연결뿐만 아니라, 네트워크 보안  관리와 관련하여 제공
네트워크  보안정책과 같은 성능  기능이 중요한 경우, calico 적합한 선택입니다.

 

Calico 설치 방법

공식사이트 : https://docs.projectcalico.org/getting-started/kubernetes/self-managed-onprem/onpremises

 

 

[Install Calico with Kubernetes API datastore, 50 nodes or less]

1. Download the Calico networking manifest for the Kubernetes API datastore.

yaml 다운로드
$ curl https://docs.projectcalico.org/manifests/calico.yaml -O --insecure

2. If you are using pod CIDR 192.168.0.0/16, skip to the next step.

 

If you are using a different pod CIDR with kubeadm, no changes are required - Calico will automatically detect the CIDR based on the running configuration. For other platforms, make sure you uncomment the CALICO_IPV4POOL_CIDR variable in the manifest and set it to the same value as your chosen pod CIDR.

  1. Customize the manifest as necessary.
  2. Apply the manifest using the following command.
    calico.yaml 설치
    $ kubectl apply -f calico.yaml​

출처: <https://docs.projectcalico.org/getting-started/kubernetes/self-managed-onprem/onpremises>

 

 

 

[Calico Requirement Ports]

Calico가 정상동작하려면, 네트워크에 필요한 방화벽 포트가 오픈되어야 합니다. 

$ sudo firewall-cmd --add-port=179/tcp --permanent
$ sudo firewall-cmd --add-port=4789/udp --permanent
$ sudo firewall-cmd --add-port=5473/tcp --permanent
$ sudo firewall-cmd --add-port=443/tcp --permanent
$ sudo firewall-cmd --add-port=6443/tcp --permanent
$ sudo firewall-cmd --add-port=2379/tcp --permanent
$ sudo firewall-cmd --reload

 

참조 :

https://docs.projectcalico.org/getting-started/kubernetes/quickstart

https://docs.projectcalico.org/getting-started/kubernetes/self-managed-onprem/onpremises

반응형

댓글