23.8. SR-IOV 네트워크의 인터페이스 수준 네트워크 sysctl 설정 구성
클러스터 관리자는 SR-IOV 네트워크 장치에 연결된 Pod의 CNI(Container Network Interface) 메타 플러그인을 사용하여 인터페이스 수준 네트워크 sysctl을 수정할 수 있습니다.
23.8.1. SR-IOV 활성화된 NIC로 노드 레이블 지정 링크 복사링크가 클립보드에 복사되었습니다!
SR-IOV 가능 노드에서만 SR-IOV를 활성화하려면 다음과 같은 몇 가지 방법이 있습니다.
-
NFD(Node Feature Discovery) Operator를 설치합니다. NFD는 SR-IOV 활성화 NIC의 존재를 감지하고
node.alpha.kubernetes-incubator.io/nfd-network-sriov.able = true로 노드에 레이블을 지정합니다. 각 노드의
SriovNetworkNodeStateCR을 검사합니다.interfaces스탠자에는 작업자 노드에서 SR-IOV Network Operator가 검색한 모든 SR-IOV 장치 목록이 포함되어 있습니다. 다음 명령을 사용하여feature.node.kubernetes.io/network-sriov.able: "true"로 각 노드에 레이블을 지정합니다.$ oc label node <node_name> feature.node.kubernetes.io/network-sriov.capable="true"
$ oc label node <node_name> feature.node.kubernetes.io/network-sriov.capable="true"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고원하는 이름으로 노드에 라벨을 지정할 수 있습니다.
23.8.2. 하나의 sysctl 플래그 설정 링크 복사링크가 클립보드에 복사되었습니다!
SR-IOV 네트워크 장치에 연결된 Pod의 인터페이스 수준 네트워크 sysctl 설정을 설정할 수 있습니다.
이 예제에서는 net.ipv4.conf.IFNAME.accept_redirects 가 생성된 가상 인터페이스에서 1 로 설정됩니다.
sysctl-tuning-test 는 이 예제에서 사용되는 네임스페이스입니다.
다음 명령을 사용하여
sysctl-tuning-test네임스페이스를 생성합니다.oc create namespace sysctl-tuning-test
$ oc create namespace sysctl-tuning-testCopy to Clipboard Copied! Toggle word wrap Toggle overflow
23.8.2.1. SR-IOV 네트워크 장치를 사용하여 노드에서 하나의 sysctl 플래그 설정 링크 복사링크가 클립보드에 복사되었습니다!
SR-IOV Network Operator는 SriovNetworkNodePolicy.sriovnetwork.openshift.io CRD(사용자 정의 리소스 정의)를 OpenShift Container Platform에 추가합니다. SriovNetworkNodePolicy CR(사용자 정의 리소스)을 생성하여 SR-IOV 네트워크 장치를 구성할 수 있습니다.
SriovNetworkNodePolicy 오브젝트에 지정된 구성을 적용하면 SR-IOV Operator가 노드를 비우고 재부팅할 수 있습니다.
구성 변경 사항을 적용하는 데 몇 분이 걸릴 수 있습니다.
SriovNetworkNodePolicy CR(사용자 정의 리소스)을 생성하려면 다음 절차를 따르십시오.
절차
SriovNetworkNodePolicyCR(사용자 정의 리소스)을 생성합니다. 예를 들어 다음 YAML을policyoneflag-sriov-node-network.yaml파일로 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 사용자 정의 리소스 오브젝트의 이름입니다.
- 2
- SR-IOV Network Operator가 설치된 네임스페이스입니다.
- 3
- SR-IOV 네트워크 장치 플러그인의 리소스 이름입니다. 리소스 이름에 대한 SR-IOV 네트워크 노드 정책을 여러 개 생성할 수 있습니다.
- 4
- 노드 선택기는 구성할 노드를 지정합니다. 선택한 노드의 SR-IOV 네트워크 장치만 구성됩니다. SR-IOV CNI(Container Network Interface) 플러그인 및 장치 플러그인은 선택한 노드에만 배포됩니다.
- 5
- 선택 사항: 우선순위는
0에서99사이의 정수 값입니다. 작은 값은 우선순위가 높습니다. 예를 들어 우선순위10은 우선순위99보다 높습니다. 기본값은99입니다. - 6
- SR-IOV 물리적 네트워크 장치에 생성할 VF(가상 기능) 수입니다. Intel NIC(Network Interface Controller)의 경우 VF 수는 장치에서 지원하는 총 VF보다 클 수 없습니다. Mellanox NIC의 경우 VF 수는
128보다 클 수 없습니다. - 7
- NIC 선택기는 Operator가 구성할 장치를 식별합니다. 모든 매개변수에 값을 지정할 필요는 없습니다. 실수로 장치를 선택하지 않도록 네트워크 장치를 정확하게 파악하는 것이 좋습니다.
rootDevices를 지정하는 경우공급 업체,deviceID또는pfNames의 값도 지정해야 합니다.pfNames와rootDevices를 동시에 지정하는 경우 동일한 장치를 참조하는지 확인하십시오.netFilter의 값을 지정하는 경우 네트워크 ID가 고유하므로 다른 매개변수를 지정할 필요가 없습니다. - 8
- 선택사항: 장치에 대해 하나 이상의 물리적 기능(PF) 이름으로 구성된 배열입니다.
- 9
- 선택사항: 가상 기능의 드라이버 유형입니다. 허용되는 유일한 값은
netdevice입니다. 베어 메탈 노드에서 Mellanox NIC가 DPDK 모드에서 작동하려면isRdma를true로 설정합니다. - 10
- 선택 사항: 원격 직접 메모리 액세스(RDMA) 모드를 활성화할지 여부를 구성합니다. 기본값은
false입니다.isRdma매개변수가true로 설정된 경우 RDMA 가능 VF를 일반 네트워크 장치로 계속 사용할 수 있습니다. 어느 모드에서나 장치를 사용할 수 있습니다. Fast Datapath DPDK 애플리케이션과 함께 사용할 Mellanox NIC를 구성하려면isRdma를true로 설정하고 추가로needVhostNet을true로 설정합니다.
참고vfio-pci드라이버 유형은 지원되지 않습니다.SriovNetworkNodePolicy오브젝트를 생성합니다.oc create -f policyoneflag-sriov-node-network.yaml
$ oc create -f policyoneflag-sriov-node-network.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 구성 업데이트를 적용하면
sriov-network-operator네임스페이스의 모든 Pod가Running상태로 변경됩니다.SR-IOV 네트워크 장치가 구성되어 있는지 확인하려면 다음 명령을 입력합니다. &
lt;node_name>을 방금 구성한 SR-IOV 네트워크 장치가 있는 노드 이름으로 바꿉니다.oc get sriovnetworknodestates -n openshift-sriov-network-operator <node_name> -o jsonpath='{.status.syncStatus}'$ oc get sriovnetworknodestates -n openshift-sriov-network-operator <node_name> -o jsonpath='{.status.syncStatus}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Succeeded
SucceededCopy to Clipboard Copied! Toggle word wrap Toggle overflow
23.8.2.2. SR-IOV 네트워크에서 sysctl 구성 링크 복사링크가 클립보드에 복사되었습니다!
SriovNetwork 리소스의 선택적 metaPlugins 매개변수에 튜닝 구성을 추가하여 SR-IOV에서 생성한 가상 인터페이스에서 인터페이스 특정 sysctl 설정을 설정할 수 있습니다.
SR-IOV Network Operator는 추가 네트워크 정의를 관리합니다. 생성할 추가 SR-IOV 네트워크를 지정하면 SR-IOV Network Operator가 NetworkAttachmentDefinition CR(사용자 정의 리소스)을 자동으로 생성합니다.
SR-IOV Network Operator가 관리하는 NetworkAttachmentDefinition 사용자 정의 리소스를 편집하지 마십시오. 편집하면 추가 네트워크의 네트워크 트래픽이 중단될 수 있습니다.
인터페이스 수준 네트워크 net.ipv4.conf.IFNAME.accept_redirects sysctl 설정을 변경하려면 CNI(Container Network Interface) 튜닝 플러그인을 사용하여 추가 SR-IOV 네트워크를 생성합니다.
사전 요구 사항
- OpenShift Container Platform CLI, oc를 설치합니다.
- cluster-admin 역할의 사용자로 OpenShift Container Platform 클러스터에 로그인합니다.
절차
추가 SR-IOV 네트워크 연결에 대한
SriovNetworkCR(사용자 정의 리소스)을 생성하고 다음 예제 CR과 같이metaPlugins구성을 삽입합니다. YAML을sriov-network-interface-sysctl.yaml파일로 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 오브젝트의 이름입니다. SR-IOV Network Operator는 동일한 이름으로 NetworkAttachmentDefinition 오브젝트를 생성합니다.
- 2
- SR-IOV Network Operator가 설치된 네임스페이스입니다.
- 3
- 이 추가 네트워크에 대한 SR-IOV 하드웨어를 정의하는
SriovNetworkNodePolicy오브젝트의spec.resourceName매개변수 값입니다. - 4
SriovNetwork오브젝트의 대상 네임스페이스입니다. 대상 네임스페이스의 포드만 추가 네트워크에 연결할 수 있습니다.- 5
- YAML 블록 스칼라 IPAM CNI 플러그인에 대한 구성 오브젝트입니다. 플러그인은 연결 정의에 대한 IP 주소 할당을 관리합니다.
- 6
- 선택 사항: 추가 네트워크의 기능을 설정합니다.
"{ "ips": true}"를 지정하여 IP 주소 지원을 활성화하거나"{ "mac": true}"를 지정하여 MAC 주소 지원을 활성화할 수 있습니다. - 7
- 선택 사항: metaPlugins 매개 변수는 장치에 추가 기능을 추가하는 데 사용됩니다. 이 사용 사례에서
type필드를tuning로 설정합니다. sysctl 필드에 설정하려는 인터페이스 수준 네트워크을 지정합니다.sysctl
SriovNetwork리소스를 생성합니다.oc create -f sriov-network-interface-sysctl.yaml
$ oc create -f sriov-network-interface-sysctl.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
NetworkAttachmentDefinition CR이 성공적으로 생성되었는지 확인합니다.
SR-IOV Network Operator가 다음 명령을 실행하여
NetworkAttachmentDefinitionCR을 생성했는지 확인합니다.oc get network-attachment-definitions -n <namespace>
$ oc get network-attachment-definitions -n <namespace>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- &
lt;namespace>를SriovNetwork오브젝트에 지정한networkNamespace값으로 바꿉니다. 예를 들면sysctl-tuning-test입니다.
출력 예
NAME AGE onevalidflag 14m
NAME AGE onevalidflag 14mCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고SR-IOV Network Operator가 CR을 생성하기 전에 지연이 발생할 수 있습니다.
추가 SR-IOV 네트워크 연결에 성공했는지 확인
튜닝 CNI가 올바르게 구성되어 추가 SR-IOV 네트워크 연결이 연결되었는지 확인하려면 다음을 수행하십시오.
PodCR을 생성합니다. 다음 YAML을examplepod.yaml파일로 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- SR-IOV 네트워크 연결 정의 CR의 이름입니다.
- 2
- 선택사항: SR-IOV 네트워크 연결 정의 CR에 정의된 리소스 유형에서 할당된 SR-IOV 장치의 MAC 주소입니다. 이 기능을 사용하려면 SriovNetwork 오브젝트에
{ "mac": true }도 지정해야 합니다. - 3
- 선택사항: SR-IOV 네트워크 연결 정의 CR에 정의된 리소스 유형에서 할당된 SR-IOV 장치의 IP 주소입니다. IPv4 및 IPv6 주소가 모두 지원됩니다. 이 기능을 사용하려면
SriovNetwork오브젝트에{ "ips": true }도 지정해야 합니다.
PodCR을 생성합니다.oc apply -f examplepod.yaml
$ oc apply -f examplepod.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Pod가 생성되었는지 확인합니다.
oc get pod -n sysctl-tuning-test
$ oc get pod -n sysctl-tuning-testCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME READY STATUS RESTARTS AGE tunepod 1/1 Running 0 47s
NAME READY STATUS RESTARTS AGE tunepod 1/1 Running 0 47sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Pod에 로그인합니다.
oc rsh -n sysctl-tuning-test tunepod
$ oc rsh -n sysctl-tuning-test tunepodCopy to Clipboard Copied! Toggle word wrap Toggle overflow 구성된 sysctl 플래그 값을 확인합니다. 다음 명령을 실행하여
net.ipv4.conf.IFNAME.accept_redirects값을 찾습니다.sysctl net.ipv4.conf.net1.accept_redirects
$ sysctl net.ipv4.conf.net1.accept_redirectsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
net.ipv4.conf.net1.accept_redirects = 1
net.ipv4.conf.net1.accept_redirects = 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
23.8.3. 결합된 SR-IOV 인터페이스 플래그와 연결된 Pod의 sysctl 설정 구성 링크 복사링크가 클립보드에 복사되었습니다!
본딩된 SR-IOV 네트워크 장치에 연결된 Pod의 인터페이스 수준 네트워크 sysctl 설정을 설정할 수 있습니다.
이 예에서는 구성할 수 있는 특정 네트워크 인터페이스 수준 sysctl 설정이 본딩된 인터페이스에 설정됩니다.
sysctl-tuning-test 는 이 예제에서 사용되는 네임스페이스입니다.
다음 명령을 사용하여
sysctl-tuning-test네임스페이스를 생성합니다.oc create namespace sysctl-tuning-test
$ oc create namespace sysctl-tuning-testCopy to Clipboard Copied! Toggle word wrap Toggle overflow
23.8.3.1. 결합된 SR-IOV 네트워크 장치를 사용하여 노드에서 모든 sysctl 플래그 설정 링크 복사링크가 클립보드에 복사되었습니다!
SR-IOV Network Operator는 SriovNetworkNodePolicy.sriovnetwork.openshift.io CRD(사용자 정의 리소스 정의)를 OpenShift Container Platform에 추가합니다. SriovNetworkNodePolicy CR(사용자 정의 리소스)을 생성하여 SR-IOV 네트워크 장치를 구성할 수 있습니다.
SriovNetworkNodePolicy 오브젝트에 지정된 구성을 적용하면 SR-IOV Operator가 노드를 비우고 경우에 따라 노드를 재부팅할 수 있습니다.
구성 변경 사항을 적용하는 데 몇 분이 걸릴 수 있습니다.
SriovNetworkNodePolicy CR(사용자 정의 리소스)을 생성하려면 다음 절차를 따르십시오.
절차
SriovNetworkNodePolicyCR(사용자 정의 리소스)을 생성합니다. 다음 YAML을policyallflags-sriov-node-network.yaml로 저장합니다.policyallflags를 구성 이름으로 교체합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 사용자 정의 리소스 오브젝트의 이름입니다.
- 2
- SR-IOV Network Operator가 설치된 네임스페이스입니다.
- 3
- SR-IOV 네트워크 장치 플러그인의 리소스 이름입니다. 리소스 이름에 대한 SR-IOV 네트워크 노드 정책을 여러 개 생성할 수 있습니다.
- 4
- 노드 선택기는 구성할 노드를 지정합니다. 선택한 노드의 SR-IOV 네트워크 장치만 구성됩니다. SR-IOV CNI(Container Network Interface) 플러그인 및 장치 플러그인은 선택한 노드에만 배포됩니다.
- 5
- 선택 사항: 우선순위는
0에서99사이의 정수 값입니다. 작은 값은 우선순위가 높습니다. 예를 들어 우선순위10은 우선순위99보다 높습니다. 기본값은99입니다. - 6
- SR-IOV 물리적 네트워크 장치에 생성할 VF(가상 기능) 수입니다. Intel NIC(Network Interface Controller)의 경우 VF 수는 장치에서 지원하는 총 VF보다 클 수 없습니다. Mellanox NIC의 경우 VF 수는
128보다 클 수 없습니다. - 7
- NIC 선택기는 Operator가 구성할 장치를 식별합니다. 모든 매개변수에 값을 지정할 필요는 없습니다. 실수로 장치를 선택하지 않도록 네트워크 장치를 정확하게 파악하는 것이 좋습니다.
rootDevices를 지정하는 경우공급 업체,deviceID또는pfNames의 값도 지정해야 합니다.pfNames와rootDevices를 동시에 지정하는 경우 동일한 장치를 참조하는지 확인하십시오.netFilter의 값을 지정하는 경우 네트워크 ID가 고유하므로 다른 매개변수를 지정할 필요가 없습니다. - 8
- 선택사항: 장치에 대해 하나 이상의 물리적 기능(PF) 이름으로 구성된 배열입니다.
- 9
- 선택사항: 가상 기능의 드라이버 유형입니다. 허용되는 유일한 값은
netdevice입니다. 베어 메탈 노드에서 Mellanox NIC가 DPDK 모드에서 작동하려면isRdma를true로 설정합니다. - 10
- 선택 사항: 원격 직접 메모리 액세스(RDMA) 모드를 활성화할지 여부를 구성합니다. 기본값은
false입니다.isRdma매개변수가true로 설정된 경우 RDMA 가능 VF를 일반 네트워크 장치로 계속 사용할 수 있습니다. 어느 모드에서나 장치를 사용할 수 있습니다. Fast Datapath DPDK 애플리케이션과 함께 사용할 Mellanox NIC를 구성하려면isRdma를true로 설정하고 추가로needVhostNet을true로 설정합니다.
참고vfio-pci드라이버 유형은 지원되지 않습니다.SriovNetworkNodePolicy 오브젝트를 생성합니다.
oc create -f policyallflags-sriov-node-network.yaml
$ oc create -f policyallflags-sriov-node-network.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 구성 업데이트를 적용하면 sriov-network-operator 네임스페이스의 모든 Pod가
Running상태로 변경됩니다.SR-IOV 네트워크 장치가 구성되어 있는지 확인하려면 다음 명령을 입력합니다. &
lt;node_name>을 방금 구성한 SR-IOV 네트워크 장치가 있는 노드 이름으로 바꿉니다.oc get sriovnetworknodestates -n openshift-sriov-network-operator <node_name> -o jsonpath='{.status.syncStatus}'$ oc get sriovnetworknodestates -n openshift-sriov-network-operator <node_name> -o jsonpath='{.status.syncStatus}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Succeeded
SucceededCopy to Clipboard Copied! Toggle word wrap Toggle overflow
23.8.3.2. 결합된 SR-IOV 네트워크에서 sysctl 구성 링크 복사링크가 클립보드에 복사되었습니다!
두 개의 SR-IOV 인터페이스에서 생성된 결합된 인터페이스에서 인터페이스별 sysctl 설정을 설정할 수 있습니다. 본딩 네트워크 연결 정의의 선택적 Plugins 매개변수에 튜닝 구성을 추가하여 수행합니다.
SR-IOV Network Operator가 관리하는 NetworkAttachmentDefinition 사용자 정의 리소스를 편집하지 마십시오. 편집하면 추가 네트워크의 네트워크 트래픽이 중단될 수 있습니다.
특정 인터페이스 수준 네트워크 sysctl 설정을 변경하려면 다음 절차를 사용하여 CNI(Container Network Interface) 튜닝 플러그인을 사용하여 SriovNetwork CR(사용자 정의 리소스)을 생성합니다.
사전 요구 사항
- OpenShift Container Platform CLI, oc를 설치합니다.
- cluster-admin 역할의 사용자로 OpenShift Container Platform 클러스터에 로그인합니다.
프로세스
다음 예제 CR과 같이 본딩된 인터페이스의
SriovNetworkCR(사용자 정의 리소스)을 생성합니다. YAML을sriov-network-attachment.yaml파일로 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 오브젝트의 이름입니다. SR-IOV Network Operator는 동일한 이름으로 NetworkAttachmentDefinition 오브젝트를 생성합니다.
- 2
- SR-IOV Network Operator가 설치된 네임스페이스입니다.
- 3
- 이 추가 네트워크에 대한 SR-IOV 하드웨어를 정의하는
SriovNetworkNodePolicy오브젝트의spec.resourceName매개변수 값입니다. - 4
SriovNetwork오브젝트의 대상 네임스페이스입니다. 대상 네임스페이스의 포드만 추가 네트워크에 연결할 수 있습니다.- 5
- 선택사항: 이 추가 네트워크에 구성할 수 있는 기능입니다.
"{ "ips": true}"를 지정하여 IP 주소 지원을 활성화하거나"{ "mac": true}"를 지정하여 MAC 주소 지원을 활성화할 수 있습니다.
SriovNetwork리소스를 생성합니다.oc create -f sriov-network-attachment.yaml
$ oc create -f sriov-network-attachment.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 예제 CR에서와 같이 본딩 네트워크 연결 정의를 생성합니다. YAML을
sriov-bond-network-interface.yaml파일로 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 유형은
bond입니다. - 2
mode속성은 본딩 모드를 지정합니다. 지원되는 본딩 모드는 다음과 같습니다.-
balance-rr- 0 -
active-backup- 1 balance-xor- 2balance-rr또는balance-xor모드의 경우 SR-IOV 가상 기능에 대한신뢰모드를on으로 설정해야 합니다.
-
- 3
- active-backup 모드에서는 장애 조치(
failover) 속성이 필요합니다. - 4
linksInContainer=true플래그는 Bond CNI에 컨테이너 내부에 필요한 인터페이스가 있음을 알립니다. 기본적으로 Bond CNI는 SRIOV 및 Multus와의 통합에 작동하지 않는 호스트에서 이러한 인터페이스를 찾습니다.- 5
links섹션에서는 본딩을 생성하는 데 사용할 인터페이스를 정의합니다. 기본적으로 Multus는 연결된 인터페이스의 이름을 "net"로 지정하고 연속된 번호를 1로 지정합니다.- 6
- YAML 블록 스칼라 IPAM CNI 플러그인에 대한 구성 오브젝트입니다. 플러그인은 연결 정의에 대한 IP 주소 할당을 관리합니다. 이 Pod 예제 IP 주소는 수동으로 구성되므로 이 경우
ipam이 static으로 설정됩니다. - 7
- 장치에 추가 기능을 추가합니다. 예를 들어
type필드를tuning로 설정합니다. sysctl 필드에 설정하려는 인터페이스 수준 네트워크sysctl을 지정합니다. 이 예에서는 설정할 수 있는 모든 인터페이스 수준 네트워크sysctl설정을 설정합니다.
본딩 네트워크 연결 리소스를 생성합니다.
oc create -f sriov-bond-network-interface.yaml
$ oc create -f sriov-bond-network-interface.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
NetworkAttachmentDefinition CR이 성공적으로 생성되었는지 확인합니다.
SR-IOV Network Operator가 다음 명령을 실행하여
NetworkAttachmentDefinitionCR을 생성했는지 확인합니다.oc get network-attachment-definitions -n <namespace>
$ oc get network-attachment-definitions -n <namespace>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- &
lt;namespace>를 네트워크 연결을 구성할 때 지정한 networkNamespace로 바꿉니다(예:sysctl-tuning-test).
출력 예
NAME AGE bond-sysctl-network 22m allvalidflags 47m
NAME AGE bond-sysctl-network 22m allvalidflags 47mCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고SR-IOV Network Operator가 CR을 생성하기 전에 지연이 발생할 수 있습니다.
추가 SR-IOV 네트워크 리소스가 성공했는지 확인
튜닝 CNI가 올바르게 구성되어 추가 SR-IOV 네트워크 연결이 연결되었는지 확인하려면 다음을 수행하십시오.
PodCR을 생성합니다. 예를 들어 다음 YAML을examplepod.yaml파일로 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- SR-IOV 네트워크 연결 정의 CR의 이름입니다.
- 2
- 선택사항: SR-IOV 네트워크 연결 정의 CR에 정의된 리소스 유형에서 할당된 SR-IOV 장치의 MAC 주소입니다. 이 기능을 사용하려면 SriovNetwork 오브젝트에
{ "mac": true }도 지정해야 합니다. - 3
- 선택사항: SR-IOV 네트워크 연결 정의 CR에 정의된 리소스 유형에서 할당된 SR-IOV 장치의 IP 주소입니다. IPv4 및 IPv6 주소가 모두 지원됩니다. 이 기능을 사용하려면
SriovNetwork오브젝트에{ "ips": true }도 지정해야 합니다.
YAML을 적용합니다.
oc apply -f examplepod.yaml
$ oc apply -f examplepod.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Pod가 생성되었는지 확인합니다.
oc get pod -n sysctl-tuning-test
$ oc get pod -n sysctl-tuning-testCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME READY STATUS RESTARTS AGE tunepod 1/1 Running 0 47s
NAME READY STATUS RESTARTS AGE tunepod 1/1 Running 0 47sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Pod에 로그인합니다.
oc rsh -n sysctl-tuning-test tunepod
$ oc rsh -n sysctl-tuning-test tunepodCopy to Clipboard Copied! Toggle word wrap Toggle overflow 구성된
sysctl플래그의 값을 확인합니다. 다음 명령을 실행하여net.ipv6.neigh.IFNAME.base_reachable_time_ms값을 찾습니다.sysctl net.ipv6.neigh.bond0.base_reachable_time_ms
$ sysctl net.ipv6.neigh.bond0.base_reachable_time_msCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
net.ipv6.neigh.bond0.base_reachable_time_ms = 20000
net.ipv6.neigh.bond0.base_reachable_time_ms = 20000Copy to Clipboard Copied! Toggle word wrap Toggle overflow