6.4. 경로 알림 설정 예
클러스터 관리자는 클러스터에 대한 다음 예제 경로 알림 설정을 구성할 수 있습니다. 이 구성은 경로 알림을 구성하는 방법을 보여주는 샘플로 사용됩니다.
6.4.1. 샘플 경로 알림 설정 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 관리자는 클러스터에 대한 BGP(Border Gateway Protocol) 라우팅 지원을 활성화할 수 있습니다. 이 구성은 경로 알림을 구성하는 방법을 보여주는 샘플로 사용됩니다. 구성은 전체 메시 설정이 아닌 경로 리플렉션을 사용합니다.
BGP 라우팅은 베어 메탈 인프라에서만 지원됩니다.
사전 요구 사항
-
OpenShift CLI(
oc
)를 설치합니다. -
cluster-admin
권한이 있는 사용자로 클러스터에 로그인합니다. - 클러스터는 베어 메탈 인프라에 설치됩니다.
- FRR 데몬 컨테이너를 실행하려는 클러스터에 액세스할 수 있는 베어 메탈 시스템이 있어야 합니다.
프로세스
다음 명령을 실행하여
RouteAdvertisements
기능 게이트가 활성화되어 있는지 확인합니다.oc get featuregate -oyaml | grep -i routeadvertisement
$ oc get featuregate -oyaml | grep -i routeadvertisement
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
- name: RouteAdvertisements
- name: RouteAdvertisements
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 CNO(Cluster Network Operator)를 구성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CNO가 모든 노드를 다시 시작하는 데 몇 분이 걸릴 수 있습니다.
다음 명령을 실행하여 노드의 IP 주소를 가져옵니다.
oc get node -owide
$ oc get node -owide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 각 노드의 기본 Pod 네트워크를 가져옵니다.
oc get node <node_name> -o=jsonpath={.metadata.annotations.k8s\\.ovn\\.org/node-subnets}
$ oc get node <node_name> -o=jsonpath={.metadata.annotations.k8s\\.ovn\\.org/node-subnets}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
{"default":["10.129.0.0/23"],"ns1.udn-network-primary-layer3":["10.150.6.0/24"]}
{"default":["10.129.0.0/23"],"ns1.udn-network-primary-layer3":["10.150.6.0/24"]}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 베어 메탈 하이퍼바이저에서 다음 명령을 실행하여 사용할 외부 FRR 컨테이너의 IP 주소를 가져옵니다.
ip -j -d route get <a cluster node's IP> | jq -r '.[] | .dev' | xargs ip -d -j address show | jq -r '.[] | .addr_info[0].local'
$ ip -j -d route get <a cluster node's IP> | jq -r '.[] | .dev' | xargs ip -d -j address show | jq -r '.[] | .addr_info[0].local'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 예와 같이 각 노드의 IP 주소를 포함하는 FRR용
frr.conf
파일을 만듭니다.frr.conf
구성 파일 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 콘텐츠가 포함된
데몬
이라는 파일을 생성합니다.데몬
구성 파일 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
frr.conf
와데몬
파일을 모두 동일한 디렉토리에 저장합니다(예:/tmp/frr
). 다음 명령을 실행하여 외부 FRR 컨테이너를 생성합니다.
sudo podman run -d --privileged --network host --rm --ulimit core=-1 --name frr --volume /tmp/frr:/etc/frr quay.io/frrouting/frr:9.1.0
$ sudo podman run -d --privileged --network host --rm --ulimit core=-1 --name frr --volume /tmp/frr:/etc/frr quay.io/frrouting/frr:9.1.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음
FRRConfiguration
및RouteAdvertisements
구성을 생성합니다.다음 콘텐츠를 포함하는
receive_all.yaml
파일을 생성합니다.receive_all.yaml
구성 파일의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 콘텐츠가 포함된
ra.yaml
파일을 생성합니다.ra.yaml
구성 파일의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 명령을 실행하여
receive_all.yaml
및ra.yaml
파일을 적용합니다.for f in receive_all.yaml ra.yaml; do oc apply -f $f; done
$ for f in receive_all.yaml ra.yaml; do oc apply -f $f; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
구성이 적용되었는지 확인합니다.
다음 명령을 실행하여
FRRConfiguration
구성이 생성되었는지 확인합니다.oc get frrconfiguration -A
$ oc get frrconfiguration -A
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
RouteAdvertisements
구성이 생성되었는지 확인합니다.oc get ra -A
$ oc get ra -A
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME STATUS default Accepted
NAME STATUS default Accepted
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 명령을 실행하여 외부 FRR 컨테이너 ID를 가져옵니다.
sudo podman ps | grep frr
$ sudo podman ps | grep frr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
22cfc713890e quay.io/frrouting/frr:9.1.0 /usr/lib/frr/dock... 5 hours ago Up 5 hours ago frr
22cfc713890e quay.io/frrouting/frr:9.1.0 /usr/lib/frr/dock... 5 hours ago Up 5 hours ago frr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 단계에서 얻은 컨테이너 ID를 사용하여 외부 FRR 컨테이너의
vtysh
세션의 BGP 주변 및 경로를 확인합니다. 다음 명령을 실행합니다.sudo podman exec -it <container_id> vtysh -c "show ip bgp"
$ sudo podman exec -it <container_id> vtysh -c "show ip bgp"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 각 클러스터 노드에 대해
frr-k8s
Pod를 찾습니다.oc -n openshift-frr-k8s get pod -owide
$ oc -n openshift-frr-k8s get pod -owide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform 클러스터에서 다음 명령을 실행하여 FRR 컨테이너의 클러스터 노드의
frr-k8s
Pod에서 BGP 경로를 확인합니다.oc -n openshift-frr-k8s -c frr rsh frr-k8s-86wmq
$ oc -n openshift-frr-k8s -c frr rsh frr-k8s-86wmq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 클러스터 노드의 IP 경로를 확인합니다.
vtysh
sh-5.1# vtysh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Hello, this is FRRouting (version 8.5.3). Copyright 1996-2005 Kunihiro Ishiguro, et al.
Hello, this is FRRouting (version 8.5.3). Copyright 1996-2005 Kunihiro Ishiguro, et al.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 IP 경로를 확인합니다.
worker-2# show ip bgp
worker-2# show ip bgp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform 클러스터에서 다음 명령을 실행하여 노드를 디버깅합니다.
oc debug node/<node_name>
$ oc debug node/<node_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Temporary namespace openshift-debug-lbtgh is created for debugging node... Starting pod/worker-2-debug-zrg4v ... To use host binaries, run `chroot /host` Pod IP: 192.168.111.25 If you don't see a command prompt, try pressing enter.
Temporary namespace openshift-debug-lbtgh is created for debugging node... Starting pod/worker-2-debug-zrg4v ... To use host binaries, run `chroot /host` Pod IP: 192.168.111.25 If you don't see a command prompt, try pressing enter.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 BGP 경로가 광고되고 있는지 확인합니다.
ip route show | grep bgp
sh-5.1# ip route show | grep bgp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow