12.6. SR-IOV InfiniBand 네트워크 연결 구성

클러스터에서 SR-IOV(Single Root I/O Virtualization) 장치에 대한 IB(InfiniBand) 네트워크 연결을 구성할 수 있습니다.

12.6.1. InfiniBand 장치 구성 오브젝트

SriovIBNetwork 오브젝트를 정의하여 IB(InfiniBand) 네트워크 장치를 구성할 수 있습니다.

다음 YAML은 SriovIBNetwork 오브젝트를 설명합니다.

apiVersion: sriovnetwork.openshift.io/v1
kind: SriovIBNetwork
metadata:
  name: <name> 1
  namespace: openshift-sriov-network-operator 2
spec:
  resourceName: <sriov_resource_name> 3
  networkNamespace: <target_namespace> 4
  ipam: |- 5
    {}
  linkState: <link_state> 6
  capabilities: <capabilities> 7
1
오브젝트의 이름입니다. SR-IOV Network Operator는 동일한 이름으로 NetworkAttachmentDefinition 오브젝트를 생성합니다.
2
SR-IOV Operator가 설치된 네임스페이스입니다.
3
이 추가 네트워크에 대한 SR-IOV 하드웨어를 정의하는 SriovNetworkNodePolicy 오브젝트의 spec.resourceName 매개변수 값입니다.
4
SriovIBNetwork 오브젝트의 대상 네임스페이스입니다. 대상 네임스페이스의 포드만 네트워크 장치에 연결할 수 있습니다.
5
선택 사항: YAML 블록 스칼라인 IPAM CNI 플러그인에 대한 구성 오브젝트입니다. 플러그인은 연결 정의에 대한 IP 주소 할당을 관리합니다.
6
선택 사항: VF(가상 기능)의 링크 상태입니다. 허용되는 값은 enable, disable, auto입니다.
7
선택 사항: 이 네트워크에 구성할 수 있는 기능. IP 주소 지원을 사용하려면 "{ "ips": true }"를 지정하고 IB GUID(Global Unique Identifier) 지원을 사용하려면 "{ "infinibandGUID": true }"를 지정하면 됩니다.

12.6.1.1. 추가 네트워크에 대한 IP 주소 할당 구성

IPAM(IP 주소 관리) CNI(Container Network Interface) 플러그인은 다른 CNI 플러그인의 IP 주소를 제공합니다.

다음 IP 주소 할당 유형을 사용할 수 있습니다.

  • 정적 할당
  • DHCP 서버를 통한 동적 할당. 지정한 DHCP 서버는 추가 네트워크에서 연결할 수 있어야 합니다.
  • Whereabouts IPAM CNI 플러그인을 통한 동적 할당
12.6.1.1.1. 고정 IP 주소 할당 구성

다음 표에서는 고정 IP 주소 할당 구성에 대해 설명합니다.

표 12.8. IPAM 정적 구성 오브젝트

필드유형설명

type

string

IPAM 주소 유형입니다. 값 static 이 필요합니다.

주소

array

가상 인터페이스에 할당할 IP 주소를 지정하는 개체 배열입니다. IPv4 및 IPv6 IP 주소가 모두 지원됩니다.

routes

array

Pod 내부에서 구성할 경로를 지정하는 오브젝트 배열입니다.

DNS

array

선택 사항: DNS 구성을 지정하는 개체 배열입니다.

addresses 배열에는 다음 필드가 있는 오브젝트가 필요합니다.

표 12.9. ipam.addresses[] 배열

필드유형설명

address

string

지정하는 IP 주소 및 네트워크 접두사입니다. 예를 들어 10.10.21.10/24를 지정하면 추가 네트워크에 IP 주소 10.10.21.10이 할당되고 넷마스크는 255.255.255.0입니다.

gateway

string

송신 네트워크 트래픽을 라우팅할 기본 게이트웨이입니다.

표 12.10. ipam.routes[] 배열

필드유형설명

dst

string

CIDR 형식의 IP 주소 범위(예: 기본 경로의 경우 192.168.17.0/24 또는 0.0.0.0/0 )입니다.

gw

string

네트워크 트래픽이 라우팅되는 게이트웨이입니다.

표 12.11. ipam.dns 오브젝트

필드유형설명

nameservers

array

DNS 쿼리를 보낼 하나 이상의 IP 주소 배열입니다.

domain

array

호스트 이름에 추가할 기본 도메인입니다. 예를 들어 도메인이 example.com으로 설정되면 example-host에 대한 DNS 조회 쿼리가 example-host.example.com으로 다시 작성됩니다.

search

array

DNS 조회 쿼리 중에 규정되지 않은 호스트 이름(예: example-host)에 추가할 도메인 이름 배열입니다.

고정 IP 주소 할당 구성 예

{
  "ipam": {
    "type": "static",
      "addresses": [
        {
          "address": "191.168.1.7/24"
        }
      ]
  }
}

12.6.1.1.2. DHCP(동적 IP 주소) 할당 구성

다음 JSON은 DHCP를 사용한 동적 IP 주소 할당 구성을 설명합니다.

DHCP 리스 갱신

pod는 생성될 때 원래 DHCP 리스를 얻습니다. 리스는 클러스터에서 실행되는 최소 DHCP 서버 배포를 통해 주기적으로 갱신되어야 합니다.

DHCP 서버 배포를 트리거하려면 다음 예와 같이 Cluster Network Operator 구성을 편집하여 shim 네트워크 연결을 만들어야 합니다.

shim 네트워크 연결 정의 예

apiVersion: operator.openshift.io/v1
kind: Network
metadata:
  name: cluster
spec:
  additionalNetworks:
  - name: dhcp-shim
    namespace: default
    type: Raw
    rawCNIConfig: |-
      {
        "name": "dhcp-shim",
        "cniVersion": "0.3.1",
        "type": "bridge",
        "ipam": {
          "type": "dhcp"
        }
      }
  # ...

표 12.12. IPAM DHCP 구성 오브젝트

필드유형설명

type

string

IPAM 주소 유형입니다. 값 dhcp 가 필요합니다.

DHCP(동적 IP 주소) 할당 구성 예

{
  "ipam": {
    "type": "dhcp"
  }
}

12.6.1.1.3. Whereabouts를 사용한 동적 IP 주소 할당 구성

Whereabouts CNI 플러그인을 사용하면 DHCP 서버를 사용하지 않고도 IP 주소를 추가 네트워크에 동적으로 할당할 수 있습니다.

다음 표에서는 Whereabouts를 사용한 동적 IP 주소 할당 구성을 설명합니다.

표 12.13. IPAM whereabouts 구성 개체

필드유형설명

type

string

IPAM 주소 유형입니다. whereabouts 필요한 값입니다.

범위

string

CIDR 표기법의 IP 주소 및 범위입니다. IP 주소는 이 주소 범위 내에서 할당됩니다.

제외

array

선택 사항: CIDR 표기법으로 0개 이상의 IP 주소 및 범위 목록입니다. 제외된 주소 범위 내의 IP 주소는 할당되지 않습니다.

Whereabouts를 사용하는 동적 IP 주소 할당 구성 예

{
  "ipam": {
    "type": "whereabouts",
    "range": "192.0.2.192/27",
    "exclude": [
       "192.0.2.192/30",
       "192.0.2.196/32"
    ]
  }
}