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

요구 사항

원문 보기 위키 갱신

Windows용 Calico Open Source를 설치하기 전에 충족해야 하는 클러스터와 Windows 호스트 요구 사항을 정리한 문서예요. 지원되는 플랫폼과 네트워킹 옵션, Linux/Windows 노드 요구 사항을 한눈에 확인할 수 있어요. 설치 전에 꼭 읽고 여러분 환경에 맞는지 확인해 보세요.

출처: 문서

본문

이 릴리스에서 지원하는 것

✓ 설치:

  • Windows 노드에서 hostprocess 컨테이너(HPC)를 사용하는 Kubernetes 클러스터를 위한 오퍼레이터 설치

✓ 플랫폼: Kubernetes, OpenShift, RKE, EKS, AKS

✓ 네트워킹:

  • Kubernetes, 온프레미스: BGP 또는 VXLAN을 사용하는 Calico CNI
  • OpenShift: BGP 또는 VXLAN을 사용하는 Calico CNI
  • Rancher Kubernetes Engine: BGP 또는 VXLAN을 사용하는 Calico CNI
  • EKS: VPC CNI
  • AKS: Azure CNI

요구 사항

Kubernetes와 Calico 컨트롤 컴포넌트가 아직 Windows에서 동작하지 않기 때문에, Linux/Windows 하이브리드 클러스터가 필요해요.

CNI와 네트워킹 옵션

다음 표는 네트워킹 옵션과 고려 사항을 정리한 거예요.

네트워킹 구성 요소 값/내용
Calico BGP Windows CNI 플러그인: calico.exe Linux: 정책과 네트워킹용 Calico Calico의 네이티브 네트워킹 방식이며, 다음을 지원해요: - L2 패브릭 위에서 자동 구성되는 노드 간 BGP 메시 - L3 패브릭을 위한 외부 라우터와의 피어링 - Calico IPAM과 IP 애그리게이션(일부 제한 있음) - 라우트 리플렉터(Calico v3.3에서 새로 도입된 인클러스터 라우트 리플렉터 포함). 참고: Windows 노드는 라우트 리플렉터 역할을 할 수 없어요. - Kubernetes API 데이터스토어 드라이버 AWS 사용자: AWS에서 실행한다면 호스트가 파드를 대신해 트래픽을 포워딩할 수 있도록 EC2 인스턴스의 source/dest check를 반드시 비활성화해야 해요.
Calico VXLAN Windows CNI 플러그인: calico.exe Linux: 정책과 네트워킹용 Calico Calico의 VXLAN 오버레이이며, 다음을 지원해요: - 대부분의 네트워크를 통과할 수 있는 VXLAN 오버레이 - 자동 구성되는 노드 간 라우팅 - Calico IPAM과 IP 애그리게이션(일부 제한 있음) - Kubernetes API 데이터스토어 드라이버 참고: VXLAN은 UDP 포트 4789(Windows가 지원하는 유일한 포트예요)에서 동작하니, 방화벽/보안 그룹에서 Calico 호스트 사이에 이 포트를 열어 두는 걸 잊지 마세요.
클라우드 제공자 Windows CNI 플러그인: win-bridge.exe Linux: 정책 전용 Calico 유용한 대안이에요. 특히 호스트 간 라우트를 자동으로 설치해 주는 Kubernetes 클라우드 제공자가 있을 때 그래요. Calico는 표준 win-bridge.exe CNI 플러그인으로 테스트했기 때문에, 최종적으로 win-bridge.exe를 사용해 파드 네트워킹을 하는 네트워킹 제공자(Azure CNI 플러그인과 클라우드 제공자 등)라면 동작할 거예요.

SECONDARY: VXLAN과 함께 Calico CNI를 사용한다면 BGP는 비활성화해야 해요. 설치 참조를 확인하세요.

데이터스토어

오퍼레이터 설치를 사용할 때는 Kubernetes 데이터스토어(kdd)만 지원해요.

Kubernetes 버전

Kubernetes 요구 사항을 참고하세요.

오퍼레이터 설치와 Windows hostprocess 컨테이너(HPC)를 함께 사용한다면 추가 요구 사항은 여기를 확인하세요.

이전 버전에서도 동작할 수 있지만, Calico for Windows를 이전 버전 대상으로 적극적으로 테스트하지는 않고, 알려진 문제나 비호환성이 있을 수 있어요.

Linux 플랫폼 요구 사항

  • Calico의 클러스터 전역 컴포넌트를 실행할 Linux Kubernetes 워커 노드가 최소 한 개 필요해요. 이 노드는 Linux 시스템 요구 사항을 충족하고 Calico가 설치되어 있어야 해요. 오퍼레이터 설치에는 Calico v3.27+가 필요해요.

  • Calico CNI를 사용한다면 VXLAN이나 캡슐화 없는 BGP를 지원해요. IPIP(Calico의 기본 캡슐화 모드)는 지원하지 않아요. 기본 IP 풀에서 IPIP를 꺼 주세요.

    탭: 오퍼레이터 관리 IP 풀

    Installation 리소스로 관리되는 IP 풀은 Installation을 패치해서 캡슐화를 업데이트해요. 오퍼레이터가 Installation에서 IPPool 리소스를 재조정(reconcile)하기 때문에, IPPool을 직접 수정하면 조용히 되돌려져요.

    kubectl patch installation default --type=json \
      -p '[{"op":"replace","path":"/spec/calicoNetwork/ipPools/0/encapsulation","value":"VXLAN"}]'
    

    클러스터에 오퍼레이터가 관리하는 IP 풀이 더 있다면 각 풀마다 명령을 반복하고, /spec/calicoNetwork/ipPools/0의 0을 해당 풀의 인덱스로 바꾸세요. 캡슐화 없는 BGP라면 "VXLAN" 대신 "None"을 사용해요.

    탭: 사용자 관리 IP 풀

    직접 만든 IPPool 리소스(Installation을 통하지 않은)는 IPPool을 패치해요. VXLAN의 경우:

    kubectl patch ippool default-ipv4-ippool -p '{"spec":{"ipipMode":"Never","vxlanMode":"Always"}}'
    

    캡슐화 없는 BGP는 두 모드를 모두 Never로 설정해요:

    kubectl patch ippool default-ipv4-ippool -p '{"spec":{"ipipMode":"Never","vxlanMode":"Never"}}'
    
  • Calico IPAM을 사용한다면 IPAM 구성의 strict affinity가 true로 설정되어 있어야 해요.

    kubectl patch ipamconfigurations default --type merge --patch='{"spec": {"strictAffinity": true}}'
    

SECONDARY: 오퍼레이터가 관리하는 Linux Calico 클러스터에서는 Typha의 고가용성 요구 사항을 맞추기 위해 Linux 워커 노드가 세 개 필요해요. Typha는 Linux 노드에서만 동작해요.

Windows 플랫폼 요구 사항

  • Windows 버전:

    • Windows Server 1809 (build 17763.1432 이상)
    • Windows Server 2022 (build 20348.169 이상)

    SECONDARY: Windows Server 버전 지원은 Kubernetes 버전마다 달라요. 각 Kubernetes 버전이 지원하는 Windows Server 버전은 Windows OS Version Support 표를 확인하세요.

오퍼레이터 설치 요구 사항

  • Kubernetes v1.22+
  • HostProcess 컨테이너 지원 활성화. Kubernetes v1.22라면 여기를 참고하세요. Kubernetes v1.23+에서는 HostProcess 컨테이너가 기본으로 활성화돼요.
  • containerd v1.6.0+
  • Windows 노드가 클러스터에 조인돼 있어야 해요.
  • 예시 명령은 오퍼레이터 설치 가이드의 이 섹션을 참고하세요.

EKS 요구 사항

  • Windows 파드를 실행하려면 VPC 컨트롤러가 설치되어 있어야 해요.
  • Windows 인스턴스의 인스턴스 역할은 calico-system 네임스페이스(오퍼레이터로 관리하지 않는 Calico 설치라면 kube-system 네임스페이스)에서 namespaces를 get하고 secrets를 get할 권한이 있어야 해요.

AKS 요구 사항

  • Calico for Windows는 새로 만든 클러스터에서만 활성화할 수 있어요.
  • HPC가 아닌 Calico for Windows는 Kubernetes 1.20 이상에서 사용할 수 있어요.

다음 단계

오퍼레이터로 Calico for Windows 설치하기

더 알아보기 (Learn more)

Windows 노드는 Kubernetes 컨트롤 플레인과 Calico 컨트롤 컴포넌트를 띄울 수 없어서 Linux/Windows 하이브리드 클러스터가 필요해요. 네트워킹 방식은 BGP, VXLAN, 클라우드 제공자 CNI 중에서 선택하고, VXLAN을 쓴다면 UDP 4789 포트를 열어 두는 걸 잊지 마세요. 설치 전에 OS 버전과 Kubernetes 버전 조합의 지원 범위를 꼭 확인하세요.