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과 정확히 일치해야 해요.