18.9. Pod 수준 본딩 사용
Pod 수준의 본딩은 고가용성과 처리량이 필요한 Pod 내부의 워크로드를 활성화하는 데 중요합니다. Pod 수준 본딩을 사용하면 커널 모드 인터페이스에서 여러 개의 SR-IOV(root I/O Virtualization) 가상 기능 인터페이스에서 본딩 인터페이스를 생성할 수 있습니다. SR-IOV 가상 기능은 Pod에 전달되고 커널 드라이버에 연결됩니다.
Pod 수준 본딩이 필요한 한 가지 시나리오는 다양한 물리적 기능의 여러 SR-IOV 가상 함수에서 본딩 인터페이스를 생성하는 것입니다. 호스트에서 두 가지 물리적 함수에서 본딩 인터페이스를 생성하여 Pod 수준에서 고가용성 및 처리량을 달성할 수 있습니다.
다음 문서에서 작업을 수행하기 전에 SR-IOV Network Operator를 설치 했는지 확인합니다.
SR-IOV 네트워크, 네트워크 정책, 네트워크 연결 정의 및 Pod 생성과 같은 작업에 대한 지침은 SR-IOV 네트워크 장치 구성을 참조하십시오.
18.9.1. 두 개의 SR-IOV 인터페이스에서 본딩 인터페이스 구성 링크 복사링크가 클립보드에 복사되었습니다!
본딩을 사용하면 여러 네트워크 인터페이스를 단일 논리 "bonded" 인터페이스로 집계할 수 있습니다. 본딩 컨테이너 네트워크 인터페이스(Bond-CNI)는 컨테이너에 본딩 기능을 제공합니다.
bond-CNI는 SR-IOV(Single Root I/O Virtualization) 가상 기능을 사용하여 생성하여 컨테이너 네트워크 네임스페이스에 배치할 수 있습니다.
OpenShift Container Platform은 SR-IOV 가상 기능을 사용하여 Bond-CNI만 지원합니다. SR-IOV Network Operator는 가상 기능을 관리하는 데 필요한 SR-IOV CNI 플러그인을 제공합니다. 기타 CNI 또는 인터페이스 유형은 지원되지 않습니다.
사전 요구 사항
- SR-IOV Network Operator는 컨테이너에서 가상 기능을 가져오도록 설치 및 구성해야 합니다.
- SR-IOV 인터페이스를 구성하려면 각 인터페이스에 SR-IOV 네트워크 및 정책을 생성해야 합니다.
- SR-IOV Network Operator는 정의된 SR-IOV 네트워크 및 정책을 기반으로 각 SR-IOV 인터페이스에 대한 네트워크 연결 정의를 생성합니다.
-
linkState
는 SR-IOV 가상 기능의 기본값auto
로 설정됩니다.
18.9.1.1. 본딩 네트워크 연결 정의 생성 링크 복사링크가 클립보드에 복사되었습니다!
SR-IOV 가상 기능을 사용할 수 있게 되면 본딩 네트워크 연결 정의를 생성할 수 있습니다.
- 1
- cni-type은 항상
bond
로 설정됩니다. - 2
mode
속성은 본딩 모드를 지정합니다.참고지원되는 본딩 모드는 다음과 같습니다.
-
balance-rr
- 0 -
active-backup
- 1 -
balance-xor
- 2
balance-rr
또는balance-xor
모드의 경우 SR-IOV 가상 기능에 대해신뢰
모드를on
으로 설정해야 합니다.-
- 3
failover
속성은 active-backup 모드의 경우 필수이며 1로 설정해야 합니다.- 4
linksInContainer=true
플래그는 Bond CNI에 컨테이너 내에서 필요한 인터페이스를 찾을 수 있음을 알립니다. 기본적으로 Bond CNI는 SRIOV 및 Multus와의 통합에 작동하지 않는 호스트에서 이러한 인터페이스를 찾습니다.- 5
links
섹션에서는 본딩을 만드는 데 사용할 인터페이스를 정의합니다. 기본적으로 Multus는 연결된 인터페이스의 이름을 "net" 및 연속 번호(한 개부터 시작하여)로 지정합니다.
18.9.1.2. 본딩 인터페이스를 사용하여 Pod 생성 링크 복사링크가 클립보드에 복사되었습니다!
다음과 유사한 콘텐츠가 있는 pod의 YAML 파일 (예:
podbonding.yaml
)을 사용하여 pod를 생성하여 설정을 테스트합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 네트워크 주석: 두 개의 SR-IOV 네트워크 연결과 하나의 본딩 네트워크 연결이 포함되어 있습니다. 본딩 연결에서는 두 개의 SR-IOV 인터페이스를 결합된 포트 인터페이스로 사용합니다.
다음 명령을 실행하여 yaml을 적용합니다.
oc apply -f podbonding.yaml
$ oc apply -f podbonding.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 사용하여 Pod 인터페이스를 검사합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고Pod 주석에 인터페이스 이름이 구성되지 않은 경우 인터페이스 이름은
net<n
> 로 자동으로 할당되며 <n
>은1
부터 시작합니다.선택 사항:
bond0
과 같은 특정 인터페이스 이름을 설정하려면k8s.v1.cni.cncf.io/networks
주석을 편집하고 다음과 같이bond0
을 인터페이스 이름으로 설정합니다.annotations: k8s.v1.cni.cncf.io/networks: demo/sriovnet1, demo/sriovnet2, demo/bond-net1@bond0
annotations: k8s.v1.cni.cncf.io/networks: demo/sriovnet1, demo/sriovnet2, demo/bond-net1@bond0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow