본문으로 바로가기 본문 바로가기
WIKI 기술 지식 베이스

단일 호스트 Kubernetes 클러스터에 Calico 설치하기

원문 보기 위키 갱신

kubeadm으로 만든 단일 호스트 Kubernetes 클러스터에 Calico를 설치하는 빠른 시작 가이드예요. 약 15분이면 Calico가 동작하는 클러스터를 갖출 수 있어요. Calico 기능을 가볍게 체험해 보기에 딱 좋아요.

출처: 문서

본문

큰 그림

이 가이드는 약 15분 만에 Calico가 설치된 단일 호스트 Kubernetes 클러스터를 만들어 줘요.

활용 가치

이 가이드를 사용하면 Calico 기능을 빠르고 쉽게 체험할 수 있어요. 프로덕션에 적합한 클러스터를 배포하려면 Calico on Kubernetes를 참고하세요.

시작하기 전에

필수 사항

  • 다음 요구사항을 만족하는 Linux 호스트:

    • x86-64, arm64, ppc64le, 또는 s390x 프로세서
    • 2CPU
    • 2GB RAM
    • 10GB 여유 디스크 공간
    • RedHat Enterprise Linux 7.x+, CentOS 7.x+, Ubuntu 18.04+, 또는 Debian 9.x+
  • Calico가 호스트의 cali와 tunl 인터페이스를 관리할 수 있어야 해요

    호스트에 NetworkManager가 있다면 Configure NetworkManager를 참고하세요.

개념

오퍼레이터 기반 설치

이 퀵스타트 가이드는 Tigera Operator를 사용해 Calico를 설치해요. 오퍼레이터는 커스텀 리소스 정의(CRD)로 정의된 Kubernetes API를 통해 노출되는 Calico의 라이프사이클 관리를 제공해요.

SECONDARY: 오퍼레이터 없이 Kubernetes 매니페스트를 직접 사용해 Calico를 설치하는 것도 가능해요. Tigera Operator를 사용하지 않는 플랫폼과 가이드에서는 이 가이드와 단계와 Kubernetes 리소스가 조금 다르게 보일 수 있어요.

방법

여러분이 얻게 되는 구성의 기술적 세부사항:

Policy IPAM CNI Overlay Routing Datastore
Calico Calico Calico VXLAN Calico kubernetes

?

단일 호스트 Kubernetes 클러스터 만들기

  1. Kubernetes 안내에 따라 kubeadm을 설치하세요

    SECONDARY: kubeadm을 설치한 후에는 호스트를 끄거나 재시작하지 마세요. 바로 다음 단계로 진행하세요.

  2. sudo 권한이 있는 일반 사용자로 kubeadm을 설치한 호스트에서 터미널을 여세요.

  3. 다음 명령어로 컨트롤 플레인을 초기화하세요.

    sudo kubeadm init --pod-network-cidr=192.168.0.0/16
    

    SECONDARY: 192.168.0.0/16이 네트워크에서 이미 사용 중이라면 다른 pod network CIDR을 골라 위 명령어에서 192.168.0.0/16을 교체해야 해요.

  4. 다음 명령어를 실행해 kubectl을 설정하세요 (kubeadm init이 반환하는 명령어이기도 해요).

    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    

Calico 설치하기

  1. Calico 커스텀 리소스 정의(CRD)를 설치하세요.

    클러스터가 Kubernetes 1.36 이상이라면:

    kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.33.0/manifests/v3_projectcalico_org.yaml
    

    클러스터가 Kubernetes 1.34 또는 1.35라면:

    kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.33.0/manifests/v3_projectcalico_org-v1beta1.yaml
    
  2. Tigera Operator를 설치하세요.

    kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.33.0/manifests/tigera-operator.yaml
    
  3. 필요한 커스텀 리소스를 만들어 Calico를 설치하세요. 이 매니페스트에서 사용할 수 있는 설정 옵션에 대한 자세한 내용은 Tigera Operator API 레퍼런스를 참고하세요.

    kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.33.0/manifests/custom-resources-bpf.yaml
    

    이 명령은 eBPF 데이터 플레인을 기본값으로 Calico Open Source 설치를 완료해요.

    SECONDARY: 이 매니페스트를 만들기 전에 내용을 읽어 보고, 설정이 여러분의 환경에 맞는지 확인하세요. 예를 들어 기본 IP 풀 CIDR을 pod network CIDR에 맞게 바꿔야 할 수도 있어요.

  4. 다음 명령어로 모든 파드가 실행 중인지 확인하세요.

    watch kubectl get pods -n calico-system
    

    각 파드의 STATUS가 Running이 될 때까지 기다리세요.

    SECONDARY: Tigera Operator는 calico-system 네임스페이스에 리소스를 설치해요. 다른 설치 방식은 그 대신 kube-system 네임스페이스를 사용할 수도 있어요.

  5. 컨트롤 플레인에 파드를 스케줄링할 수 있도록 taint를 제거하세요.

    kubectl taint nodes --all node-role.kubernetes.io/control-plane-
    

    다음과 같이 출력되어야 해요.

    node/<your-hostname> untainted
    
  6. 다음 명령어를 실행해 배포를 모니터링하세요:

    watch kubectl get tigerastatus
    

    몇 분 후 모든 Calico 컴포넌트가 AVAILABLE 컬럼에서 True를 표시해요.

    예상 출력

    NAME                            AVAILABLE   PROGRESSING   DEGRADED   SINCE
    apiserver                       True        False         False      4m9s
    calico                          True        False         False      3m29s
    goldmane                        True        False         False      3m39s
    ippools                         True        False         False      6m4s
    kubeproxy-monitor               True        False         False      6m15s
    whisker                         True        False         False      3m19s
    

    축하해요! 이제 Calico가 설치된 단일 호스트 Kubernetes 클러스터가 생겼어요.

다음 단계

필수

추천 튜토리얼

더 알아보기 (Learn more)

이 가이드는 테스트·개발용 단일 호스트 클러스터를 대상으로 해요. 이 가이드의 설치는 eBPF 데이터 플레인을 기본으로 사용한다는 점도 눈여겨보세요. 프로덕션 배포에는 Calico on Kubernetes 문서의 정식 절차를 따르세요.