Cilium BGP 컨트롤 플레인
Cilium BGP 컨트롤 플레인 (Cilium BGP Control Plane)
BGP 컨트롤 플레인은 Cilium이 연결된 라우터에 경로를 광고할 수 있게 해 주는 기능이에요. BGP를 지원하는 환경에서 클러스터 외부에서 Pod 네트워크와 서비스에 접근할 수 있도록 만들어 줍니다. 이 글에서는 설치 방법과 IPv4/IPv6 지원에 대해 알아볼게요.
본문
BGP 컨트롤 플레인은 Border Gateway Protocol (BGP)을 사용해 Cilium이 연결된 라우터에 경로를 광고하는 방법을 제공합니다. BGP 컨트롤 플레인은 BGP를 지원하는 환경에서 Pod 네트워크와/또는 서비스가 클러스터 외부에서 도달 가능하도록 해 주죠. BGP 컨트롤 플레인은 데이터패스를 프로그래밍하지 않으므로, 클러스터 내부에서의 연결성을 확립하는 데에는 사용하지 마세요.
Video
Cilium의 BGP에 대한 더 자세한 통찰은 eCHO episode 101: More BGP fun with Cilium을 확인해 보세요.
설치
HelmCilium CLI
Cilium BGP 컨트롤 플레인은 Helm 플래그 bgpControlPlane.enabled 를 true로 설정해 활성화할 수 있어요.
Helm RepositoryOCI Registry
helm upgrade cilium cilium/cilium --version 1.20.2 \
--namespace kube-system \
--reuse-values \
--set bgpControlPlane.enabled=true
kubectl -n kube-system rollout restart ds/cilium
helm upgrade cilium oci://quay.io/cilium/charts/cilium 1.20.2 \
--namespace kube-system \
--reuse-values \
--set bgpControlPlane.enabled=true
kubectl -n kube-system rollout restart ds/cilium
최신 버전의 Cilium CLI를 설치하세요. Cilium CLI는 Cilium 설치, Cilium 설치 상태 확인, 그리고 다양한 기능(예: clustermesh, Hubble)의 활성화/비활성화에 사용할 수 있어요.
LinuxmacOSOther
CILIUM_CLI_VERSION=$(curl -s https://raw.githubusercontent.com/cilium/cilium-cli/main/stable.txt)
CLI_ARCH=amd64
if [ "$(uname -m)" = "aarch64" ]; then CLI_ARCH=arm64; fi
curl -L --fail --remote-name-all https://github.com/cilium/cilium-cli/releases/download/${CILIUM_CLI_VERSION}/cilium-linux-${CLI_ARCH}.tar.gz{,.sha256sum}
sha256sum --check cilium-linux-${CLI_ARCH}.tar.gz.sha256sum
sudo tar xzvfC cilium-linux-${CLI_ARCH}.tar.gz /usr/local/bin
rm cilium-linux-${CLI_ARCH}.tar.gz{,.sha256sum}
CILIUM_CLI_VERSION=$(curl -s https://raw.githubusercontent.com/cilium/cilium-cli/main/stable.txt)
CLI_ARCH=amd64
if [ "$(uname -m)" = "arm64" ]; then CLI_ARCH=arm64; fi
curl -L --fail --remote-name-all https://github.com/cilium/cilium-cli/releases/download/${CILIUM_CLI_VERSION}/cilium-darwin-${CLI_ARCH}.tar.gz{,.sha256sum}
shasum -a 256 -c cilium-darwin-${CLI_ARCH}.tar.gz.sha256sum
sudo tar xzvfC cilium-darwin-${CLI_ARCH}.tar.gz /usr/local/bin
rm cilium-darwin-${CLI_ARCH}.tar.gz{,.sha256sum}
전체 릴리스 페이지를 참고하세요.
Cilium BGP 컨트롤 플레인은 다음 명령으로 활성화할 수 있어요.
$ cilium install 1.20.2 --set bgpControlPlane.enabled=true
IPv4/IPv6 단일 스택과 이중 스택 설정이 지원됩니다. BGP 컨트롤 플레인은 Cilium이 사용하도록 구성된 주소 패밀리의 경로만 광고할 수 있다는 점을 기억하세요. Cilium 에이전트가 IPv6 주소 패밀리만 사용하도록 구성된 경우 IPv4 경로를 광고할 수 없어요. 반대로 Cilium 에이전트가 IPv4 주소 패밀리만 사용하도록 구성된 경우 IPv6 경로를 광고할 수 없습니다.
BGP 컨트롤 플레인 구성하기
트러블슈팅과 운영 가이드
- BGP 컨트롤 플레인 트러블슈팅 가이드
- BGP 리소스는 적용됐는데 BGP 피어링이 성립되지 않음
- CiliumBGPClusterConfig가 노드를 선택했지만 BGP 피어가 성립되지 않음
- 추가한 새 CiliumBGPClusterConfig가 동작하지 않음
- CiliumBGPPeerConfig가 적용되지 않음
- BGP 컨트롤 플레인 운영 가이드
- BGP Cilium CLI
- CiliumBGPClusterConfig 상태
- CiliumBGPPeerConfig 상태
- CiliumBGPNodeConfig 상태
- CRD 상태 보고 비활성화
- 로그
- 메트릭
- 에이전트 재시작
- Cilium 업그레이드 또는 다운그레이드
- 노드 종료
- 실패 시나리오
더 알아보기 (Learn more)
- BGP 컨트롤 플레인 구성 — 리소스와 피어 구성 방법
- BGP 컨트롤 플레인 운영 가이드