본문 바로가기
개발 및 운영/Kubernetes

Calico iBGP에서 vxlan.calico의 IP가 NextHop으로 뜨는 경우

by Joseph.Lee 2020. 11. 29.

Kubernetes Node를 Calico를 통해 ToR (Top-of-rack Router)와 연결했을 때

주기적으로 Pod IP Cidr 들이 Node IP로 변경되었다가 vxlan.calico의 IP로 변경되었다가.. 하는 까닭에

Kubernetes Cluster 밖에서 Pod IP에 직접적으로 접근이 되지 않는 경우가 있었다.

 

이에 대한 해결방안은

github.com/projectcalico/libcalico-go/pull/1266

 

Maintaining original next hop on specific bgppeer by gunboe · Pull Request #1266 · projectcalico/libcalico-go

Description An option to keep the original nexthop field when routes are sent to a BGP Peer. Setting "true" configures the selected BGP Peers node to use the "next hop keep;" in...

github.com

을 참고하면 된다.

 

중요한 것은 tigera-operator 이미지가

quay.io/tigera/operator:v1.13.0

이후부터 동작하는 듯 하다. (이게 확인한 버전)

 

BGPConfiguration에서 nodeToNodeMeshEnabled는 false으로 설정해야 하고

apiVersion: projectcalico.org/v3
kind: BGPPeer
metadata:
  name: bgppeer-rr
spec:
  nodeSelector: all()
  peerSelector: route-reflector == 'true'
  peerIP: ""

 

이와 같이 BGPPeer 으로 nodeToNodeMesh 기능을 대신 구현해 주면 된다.

(node가 적어 모든 노드를 선택하려면 all() 을 한다)

 

 

반응형

댓글