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

Calico를 사용하도록 시스템 구성하기

원문 보기 위키 갱신

OpenStack과 함께 Calico를 운영할 때 필요한 Nova, Neutron, DHCP 에이전트 설정 방법을 정리해요. 코어 플러그인 방식과 ML2 메커니즘 드라이버 방식 어느 쪽이든 적용되는 내용이에요. 메타데이터 서비스와 etcd 연결 옵션을 정확히 잡아 두는 것이 중요해요.

출처: 문서

본문

OpenStack과 함께 Calico를 운영하려면 다음과 같이 여러 OpenStack 컴포넌트도 구성해야 해요.

Nova (/etc/nova/nova.conf)

Calico는 Neutron의 프록시 없이 Nova 메타데이터 서비스를 사용해 VM에 메타데이터를 제공해요. 이렇게 동작하게 하려면:

  • Nova 메타데이터 API 인스턴스가 모든 컴퓨트 노드에서 실행되어야 해요.
  • /etc/nova/nova.conf에서 service_neutron_metadata_proxy나 service_metadata_proxy를 True로 설정하면 안 돼요. (기본값 False가 Calico 클러스터에 맞는 값이에요.)

Neutron 서버 (/etc/neutron/neutron.conf)

/etc/neutron/neutron.conf에서 Neutron 서비스를 구성하려면 다음 설정이 필요해요.

설정 값 의미
core_plugin calico Calico 코어 플러그인 사용

/etc/neutron/neutron.conf의 [calico] 섹션에 있는 다음 옵션들은 Calico 플러그인과 DHCP 에이전트가 Calico etcd 데이터스토어에 연결하는 방식을 결정해요. etcd_host에는 etcd 서버의 IP를 설정하고, 서버가 표준이 아닌 포트를 쓴다면 etcd_port도 설정하세요. etcd 서버가 TLS로 보호된다면 다음도 설정해요:

  • etcd_cert_file: 클라이언트 인증서 경로. 서버가 신뢰하는 인증 기관이 서명한 인증서여야 해요
  • etcd_key_file: 그 인증서에 대응하는 개인 키 파일 경로
  • etcd_ca_cert_file: etcd 서버 인증서에 서명한 것으로 신뢰하는 인증 기관들의 데이터가 담긴 파일 경로
설정 기본값 의미
etcd_host 127.0.0.1 etcd 서버의 호스트명 또는 IP
etcd_port 2379 etcd 노드/프록시에 사용할 포트
etcd_key_file etcd에 사용할 TLS 키 파일의 경로
etcd_cert_file etcd에 사용할 TLS 클라이언트 인증서 파일의 경로
etcd_ca_cert_file etcd에 사용할 TLS CA 인증서 파일의 경로

멀티 리전 배포에서는 [calico] openstack_region이 로컬 컴퓨트 또는 컨트롤러 노드가 속한 리전의 이름을 설정해요.

설정 기본값 의미
openstack_region none 로컬 컴퓨트 또는 컨트롤러 노드가 속한 리전의 이름.

openstack_region을 지정할 때는 값이 영숫자 소문자 또는 '-'로만 이루어지고 영숫자로 시작하고 끝나는 문자열이어야 하고, 같은 리전의 Felix에 설정한 OpenStackRegion 값과 일치해야 해요.

[calico] startup_resync 옵션은 Neutron 서버가 시작될 때 Calico 드라이버가 Neutron 데이터베이스를 etcd로 재조정(reconcile)하는지 결정해요. 자세한 내용은 Neutron과 etcd 사이의 재동기화를 참고하세요.

설정 기본값 의미
startup_resync always Neutron 서버가 시작될 때 전체 Neutron DB → etcd 재동기화를 실행할지 여부. 막으려면 never로 설정하세요.

SECONDARY: 예전 주기적 재동기화를 구성하던 resync_interval_secs와 resync_max_interval_secs 옵션은 이제 아무 효과가 없어요. 자세한 내용은 Neutron과 etcd 사이의 재동기화를 참고하세요.

더 알아보기 (Learn more)

핵심은 Nova 메타데이터 프록시 설정이 기본값 False를 유지하도록 하는 것과, etcd 연결 TLS 옵션을 세 파일(인증서·키·CA) 모두 채워 넣는 거예요. 멀티 리전 배포라면 openstack_region이 같은 리전 Felix의 OpenStackRegion과 정확히 일치해야 해요.