본문 바로가기
인프라/Kubernetis

[minikube]CNI (Calico 설치) 하기

by devthrive 2025. 9. 10.
반응형

CNI가 필요한 이유
 - 파드 간 통신 보장: 쿠버네티스 내에서 여러 노드에 분산된 파드들이 서로 IP로 직접 통신할 수 있도록 네트워크를 구성해야 함
 - 네트워크 분리와 정책 적용: 네트워크 보안 정책(네임스페이스별, 파드별 네트워크 접근 정책)을 적용해 네트워크 분리를

   구현할 수 있음.

 - 유연한 네트워크 구성: 쿠버네티스 클러스터 환경에 따라 다양한 네트워크 플러그인(Flannel, Calico, Cilium 등)을 자유롭게

   적용 가능하게 해줌.
 - IP 주소 관리: 파드에 고유한 IP를 할당하고 네트워크 인터페이스를 생성·관리하는 기능을 수행.
 - 플러그인 확장성 및 표준화: 다양한 네트워크 기술을 일관된 방식으로 운영할 수 있게 해줘 클러스터 네트워크 구성의 복잡성을

   줄임.

 

 

kubectl get nodes 명령어 결과에서 노드의 STATUS가 Not Ready 상태로 표시되는 경우는 노드가 정상적으로 클러스터와 통신하거나 동작하지 못하는 상태이므로 CNI를 설치하여 클러스터와 노드가 정상적으로 통신 되게 해야함

 

Calico 설치 참고 : https://docs.tigera.io/calico/latest/getting-started/kubernetes/helm

 

values.yaml 파을을 만들고 해당 기본 설정 값을 넣어주어야함

(kubernetesProvider는 현재 AKS로 되어있지만 Vmware에서 설치하므로 삭제하고 진행)

현재 Pod 아이피 대역이 10.244.0.0/16이 default로 되어있지만 저는 10.100.0.0으로 파드 주소를 변경하였기에

해당 부분 수정하고 저장

 

Calico 헬름 저장소를 추가하여 repo에 udpate 시켜 줘야함

helm repo add projectcalico https://docs.tigera.io/calico/charts

 

kubectl 네임 스페이스를 만들어 준 후 인스톨 시

kubectl create namespace tigera-operator
helm install calico projectcalico/tigera-operator --version v3.30.3 --namespace tigera-operator

 

정상장동이 되는지 주기적으로 갱신하여 계속 보여주며,

정상작으로 Running이 되는가 체크 필요

watch kubectl get pods -n calico-system

설치 중
정상작동 확인

반응형