2장. ClusterUserDefinedNetwork [k8s.ovn.org/v1]


설명
ClusterUserDefinedNetwork는 네임스페이스 전반의 공유 네트워크에 대한 네트워크 요청을 설명합니다.
유형
object
필수 항목
  • spec

2.1. 사양

Expand
재산유형설명

apiVersion

string

APIVersion은 버전이 지정된 이 오브젝트 표현의 스키마를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식되지 않는 값을 거부할 수 있습니다. 자세한 정보: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

string

kind는 이 오브젝트가 나타내는 REST 리소스에 해당하는 문자열 값입니다. 서버는 클라이언트에서 요청을 제출한 끝점에서 이를 유추할 수 있습니다. CamelCase로 업데이트할 수 없습니다. 자세한 정보: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

메타데이터

ObjectMeta

표준 객체의 메타데이터. 자세한 정보: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

ClusterUserDefinedNetworkSpec은 ClusterUserDefinedNetwork의 원하는 상태를 정의합니다.

status

object

ClusterUserDefinedNetworkStatus에는 ClusterUserDefinedNetwork의 관찰된 상태가 포함되어 있습니다.

2.1.1. .spec

설명
ClusterUserDefinedNetworkSpec은 ClusterUserDefinedNetwork의 원하는 상태를 정의합니다.
유형
object
필수 항목
  • namespaceSelector
  • network
Expand
재산유형설명

namespaceSelector

object

NamespaceSelector 네임스페이스 네트워크를 사용할 수 있는 레이블 선택기입니다.

network

object

네트워크는 사용자 정의 네트워크 사양입니다.

2.1.2. .spec.namespaceSelector

설명
NamespaceSelector 네임스페이스 네트워크를 사용할 수 있는 레이블 선택기입니다.
유형
object
Expand
재산유형설명

matchExpressions

array

matchExpressions는 레이블 선택기 요구 사항 목록입니다. 요구 사항은 AND로 처리됩니다.

matchExpressions[]

object

레이블 선택기 요구 사항은 값, 키, 그리고 키와 값을 연결하는 연산자를 포함하는 선택기입니다.

matchLabels

객체(문자열)

matchLabels는 {key,value} 쌍의 맵입니다. matchLabels 맵의 단일 {key,value}는 matchExpressions의 요소와 동일합니다. 여기서 키 필드는 "key"이고, 연산자는 "In"이며, 값 배열에는 "value"만 포함됩니다. 요구 사항은 AND로 처리됩니다.

2.1.3. .spec.namespaceSelector.matchExpressions

설명
matchExpressions는 레이블 선택기 요구 사항 목록입니다. 요구 사항은 AND로 처리됩니다.
유형
array

2.1.4. .spec.namespaceSelector.matchExpressions[]

설명
레이블 선택기 요구 사항은 값, 키, 그리고 키와 값을 연결하는 연산자를 포함하는 선택기입니다.
유형
object
필수 항목
  • key
  • operator
Expand
재산유형설명

key

string

키는 선택자가 적용되는 레이블 키입니다.

operator

string

연산자는 키와 값의 관계를 나타냅니다. 유효한 연산자는 In, NotIn, Exists 및 DoesNotExist입니다.

가치

배열(문자열)

값은 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우, 값 배열은 비어 있으면 안 됩니다. 연산자가 Exists 또는 DoesNotExist인 경우, 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 교체됩니다.

2.1.5. .spec.network

설명
네트워크는 사용자 정의 네트워크 사양입니다.
유형
object
필수 항목
  • 토폴로지
Expand
재산유형설명

layer2

object

Layer2는 Layer2 토폴로지 구성입니다.

layer3

object

Layer3은 Layer3 토폴로지 구성입니다.

로컬넷

object

Localnet은 Localnet 토폴로지 구성입니다.

토폴로지

string

토폴로지는 네트워크 구성을 설명합니다.

허용되는 값은 "Layer3", "Layer2" 및 "Localnet"입니다. 3계층 토폴로지는 노드마다 다른 서브넷을 갖는 2계층 세그먼트를 생성합니다. 3계층 라우팅은 노드 서브넷을 상호 연결하는 데 사용됩니다. 2계층 토폴로지는 모든 노드가 공유하는 하나의 논리적 스위치를 생성합니다. 로컬넷 토폴로지는 2계층 토폴로지를 기반으로 하지만 기존의(구성된) 물리적 네트워크에 연결하여 워크로드에 남북 트래픽을 제공할 수도 있습니다.

2.1.6. .spec.network.layer2

설명
Layer2는 Layer2 토폴로지 구성입니다.
유형
object
필수 항목
  • role
Expand
재산유형설명

ipam

object

IPAM 섹션에는 네트워크에 대한 IPAM 관련 구성이 포함되어 있습니다.

joinSubnets

배열(문자열)

JoinSubnets는 OVN 네트워크 토폴로지 내부에서 사용됩니다.

듀얼 스택 클러스터는 2개의 서브넷(IP 패밀리당 1개)을 설정할 수 있으며, 그렇지 않은 경우에는 1개의 서브넷만 허용됩니다. 이 필드는 "기본" 네트워크에만 허용됩니다. OVN 네트워크 토폴로지에 대한 명확한 필요성과 이해가 없이는 이 필드를 설정하지 않는 것이 좋습니다. 생략하면 플랫폼은 시간이 지남에 따라 변경될 수 있는 합리적인 기본값을 선택합니다.

mtu

integer

MTU는 네트워크의 최대 전송 단위입니다. MTU는 선택 사항이며, 제공되지 않으면 OVN-Kubernetes에서 전역적으로 구성된 값(기본값은 1400)이 네트워크에 사용됩니다.

role

string

역할은 Pod 내의 네트워크 역할을 설명합니다.

허용되는 값은 "보조"입니다. 보조 네트워크는 k8s.v1.cni.cncf.io/networks 주석을 사용하여 지정된 네트워크를 선택하는 Pod에만 할당됩니다.

subnets

배열(문자열)

서브넷은 클러스터 전반의 포드 네트워크에 사용됩니다. 듀얼 스택 클러스터는 2개의 서브넷(IP 패밀리당 1개)을 설정할 수 있으며, 그렇지 않은 경우에는 1개의 서브넷만 허용됩니다.

형식은 표준 CIDR 표기법(예: "10.128.0.0/16")과 일치해야 합니다. ipam.modeDisabled 인 경우 이 필드를 생략해야 합니다.

2.1.7. .spec.network.layer2.ipam

설명
IPAM 섹션에는 네트워크에 대한 IPAM 관련 구성이 포함되어 있습니다.
유형
object
Expand
재산유형설명

수명주기

string

라이프사이클은 IP 주소 관리 라이프사이클을 제어합니다.

허용되는 값은 지속적 값뿐입니다. 설정하면 OVN Kubernetes에서 할당한 IP 주소가 ipamclaims.k8s.cni.cncf.io 개체에 저장됩니다. 이러한 IP 주소는 요청 시 다른 포드에서 재사용됩니다. 모드가 활성화된 경우에만 지원됩니다.

mode

string

모드는 OVN이 IP 구성을 얼마나 관리할지 제어합니다. 활성화 하면 OVN-Kubernetes가 SDN 인프라에 IP 구성을 적용하고 선택한 서브넷의 IP를 개별 포드에 할당합니다. 비활성화 하면 OVN-Kubernetes는 MAC 주소만 할당하고 2계층 통신을 제공하여 사용자가 포드에 대한 IP 주소를 구성할 수 있도록 합니다. 비활성화는 보조 네트워크에만 사용할 수 있습니다. IPAM을 비활성화하면 IP를 기준으로 포드를 선택하는 Kubernetes 기능(예: 네트워크 정책, 서비스 등)이 더 이상 작동하지 않습니다. 또한, 이 네트워크에 연결된 인터페이스의 IP 포트 보안도 비활성화됩니다. 기본값은 Enabled입니다 .

2.1.8. .spec.network.layer3

설명
Layer3은 Layer3 토폴로지 구성입니다.
유형
object
필수 항목
  • role
  • subnets
Expand
재산유형설명

joinSubnets

배열(문자열)

JoinSubnets는 OVN 네트워크 토폴로지 내부에서 사용됩니다.

듀얼 스택 클러스터는 2개의 서브넷(IP 패밀리당 1개)을 설정할 수 있으며, 그렇지 않은 경우에는 1개의 서브넷만 허용됩니다. 이 필드는 "기본" 네트워크에만 허용됩니다. OVN 네트워크 토폴로지에 대한 명확한 필요성과 이해가 없이는 이 필드를 설정하지 않는 것이 좋습니다. 생략하면 플랫폼은 시간이 지남에 따라 변경될 수 있는 합리적인 기본값을 선택합니다.

mtu

integer

MTU는 네트워크의 최대 전송 단위입니다.

MTU는 선택 사항이며, 제공되지 않으면 OVN-Kubernetes에서 전역적으로 구성된 값(기본값은 1400)이 네트워크에 사용됩니다.

role

string

역할은 Pod 내의 네트워크 역할을 설명합니다.

허용되는 값은 "기본"과 "보조"입니다. 기본 네트워크는 동일한 네임스페이스에서 생성된 모든 Pod에 자동으로 할당됩니다. 보조 네트워크는 k8s.v1.cni.cncf.io/networks 주석을 사용하여 지정된 네트워크를 선택하는 Pod에만 할당됩니다.

subnets

array

서브넷은 클러스터 전반의 포드 네트워크에 사용됩니다.

듀얼 스택 클러스터는 2개의 서브넷(IP 패밀리당 1개)을 설정할 수 있으며, 그렇지 않은 경우에는 1개의 서브넷만 허용됩니다. 주어진 서브넷은 각 노드에 대해 더 작은 서브넷으로 분할됩니다.

subnets[]

object

 

2.1.9. .spec.network.layer3.subnets

설명

서브넷은 클러스터 전반의 포드 네트워크에 사용됩니다.

듀얼 스택 클러스터는 2개의 서브넷(IP 패밀리당 1개)을 설정할 수 있으며, 그렇지 않은 경우에는 1개의 서브넷만 허용됩니다. 주어진 서브넷은 각 노드에 대해 더 작은 서브넷으로 분할됩니다.

유형
array

2.1.10. .spec.network.layer3.subnets[]

설명
유형
object
필수 항목
  • cidr
Expand
재산유형설명

cidr

string

CIDR은 L3Subnet을 지정하는데, 이는 각 노드에 대해 더 작은 서브넷으로 분할됩니다.

hostSubnet

integer

HostSubnet은 모든 노드의 서브넷 크기를 지정합니다.

설정하지 않으면 자동으로 할당됩니다.

2.1.11. .spec.network.localnet

설명
Localnet은 Localnet 토폴로지 구성입니다.
유형
object
필수 항목
  • physicalNetworkName
  • role
Expand
재산유형설명

excludeSubnets

배열(문자열)

excludeSubnets는 subnets 의 지정된 CIDR에서 제거할 CIDR 목록입니다. 이 목록에 있는 CIDR은 subnets 에 지정된 하나 이상의 서브넷 범위 내에 있어야 합니다. excludeSubnets는 선택 사항입니다. 생략하면 어떤 IP 주소도 제외되지 않으며 서브넷 에 지정된 모든 IP 주소가 할당됩니다. 형식은 표준 CIDR 표기법(예: "10.128.0.0/16")과 일치해야 합니다. subnets가 설정되지 않았거나 ipam.modeDisabled 인 경우 이 필드를 생략해야 합니다. physicalNetworkName이 예약된 IP 주소(OVN-Kubernetes에서 할당해서는 안 됨)를 사용하는 네트워크의 OVS 브리지 매핑을 가리키는 경우, 지정된 CIDR은 할당되지 않습니다. 예를 들어: subnets: "10.0.0.0/24" , excludeSubnets: "10.0.0.200/30"인 경우 다음 주소는 포드에 할당되지 않습니다: `10.0.0.201 , 10.0.0.202 .

ipam

object

네트워크에 대한 ipam 구성입니다. ipam은 선택 사항입니다. 생략하는 경우 서브넷을 지정해야 합니다. ipam.modeDisabled 인 경우 서브넷을 생략해야 합니다. ipam.mode는 OVN이 IP 구성을 얼마나 관리할지 제어합니다. 이 기능을 활성화하면 OVN-Kubernetes가 SDN 인프라에 IP 구성을 적용하고 선택한 서브넷의 IP를 포드에 할당합니다. 비활성화된 경우, OVN-Kubernetes는 MAC 주소만 할당하고, 2계층 통신을 제공하며, 사용자가 포드에서 IP 주소를 구성할 수 있도록 합니다. ipam.lifecycle은 IP 주소 관리 라이프사이클을 제어합니다. '영구'로 설정하면 할당된 IP 주소가 ipamclaims.k8s.cni.cncf.io 개체에 저장됩니다. VM에 유용하며, 재시작 및 마이그레이션 후에도 IP 주소가 유지됩니다. ipam.mode활성화된 경우 지원됩니다.

mtu

integer

mtu는 네트워크의 최대 전송 단위입니다. mtu는 선택 사항입니다. 생략하면 OVN-Kubernetes에서 구성된 값(로컬넷 토폴로지의 경우 기본값은 1500)이 네트워크에 사용됩니다. IPv4 서브넷의 최소값은 576이고, IPv6 서브넷의 최소값은 1280입니다. 최대값은 65536입니다. 시나리오에서 physicalNetworkName은 특정 MTU 설정으로 구성된 네트워크의 OVS 브리지 매핑을 가리키고, 이 필드를 통해 Pod 인터페이스에서 동일한 MTU를 구성하여 Pod MTU를 네트워크 MTU에 맞출 수 있습니다. 스택 전체에 걸쳐 MTU가 잘못 정렬되면(예: Pod의 MTU가 X이고 노드 NIC의 MTU가 Y인 경우) 네트워크 중단 및 성능 저하가 발생할 수 있습니다.

physicalNetworkName

string

physicalNetworkName은 노드에 구성된 OVS 브리지 매핑의 네트워크 이름을 가리키며 필수입니다. 최소 길이는 1이고, 최대 길이는 253이며 , , 또는 : 문자를 포함할 수 없습니다. Kubernetes-nmstate에서 NodeNetworkConfigurationPolicy (NNCP)를 사용하여 OVS 브리지 매핑이 정의된 경우, 이 필드는 NNCP spec.desiredState.ovn.bridge-mappings 항목의 localnet 값을 가리켜야 합니다.

role

string

역할은 포드의 네트워크 역할을 설명합니다. 필수입니다. Pod 인터페이스가 기본 또는 보조로 작동할지 여부를 제어합니다. 로컬넷 토폴로지는 2 차만 지원합니다. 네트워크는 주제를 가리키는 k8s.v1.cni.cncf.io/networks 주석이 있는 포드에 할당됩니다.

subnets

배열(문자열)

subnets는 클러스터 전반의 localnet 네트워크에 있는 포드에 사용되는 서브넷 목록입니다. 목록은 1개의 IPv4 서브넷, 1개의 IPv6 서브넷 또는 각 IP 패밀리 중 1개일 수 있습니다. 이 옵션을 설정하면 OVN-Kubernetes는 지정된 CIDR에서 연결된 포드에 IP 주소를 할당하여 수동 IP 할당이나 외부 IPAM 서비스(예: DHCP 서버)에 대한 의존성을 제거합니다. 서브넷은 선택 사항입니다. 생략하면 OVN-Kubernetes가 자동으로 IP 주소를 할당하지 않습니다. 듀얼 스택 클러스터는 2개의 서브넷(IP 패밀리당 1개)을 설정할 수 있으며, 그렇지 않은 경우에는 1개의 서브넷만 허용됩니다. 형식은 표준 CIDR 표기법(예: "10.128.0.0/16")과 일치해야 합니다. ipam.modeDisabled 인 경우 이 필드를 생략해야 합니다. physicalNetworkName이 IPAM 서비스(예: DHCP 서버)를 제공하는 네트워크의 OVS 브리지 매핑을 가리키는 경우 ipam.mode를 Disabled로 설정해야 합니다. 이렇게 하면 OVN-Kubernetes IPAM이 꺼지고 이 로컬넷 네트워크에 있는 기존 IPAM 서비스와의 충돌이 방지됩니다.

vlan

object

네트워크에 대한 VLAN 구성입니다. vlan.mode는 VLAN 모드입니다. "액세스"가 설정되면 OVN-Kubernetes는 액세스 모드에서 네트워크 논리 스위치 포트를 구성합니다. vlan.access는 액세스 VLAN 구성입니다. vlan.access.id는 네트워크 논리 스위치 포트에 설정할 VLAN ID(VID)입니다. vlan은 선택 사항이며, 생략하면 기본 네트워크 VLAN이 사용됩니다(일반적으로 1 ). 설정하면 OVN-Kubernetes는 SDN 인프라와 연결된 포드에 VLAN 구성을 적용합니다.

2.1.12. .spec.network.localnet.ipam

설명
네트워크에 대한 ipam 구성입니다. ipam은 선택 사항입니다. 생략하는 경우 서브넷을 지정해야 합니다. ipam.modeDisabled 인 경우 서브넷을 생략해야 합니다. ipam.mode는 OVN이 IP 구성을 얼마나 관리할지 제어합니다. 이 기능을 활성화하면 OVN-Kubernetes가 SDN 인프라에 IP 구성을 적용하고 선택한 서브넷의 IP를 포드에 할당합니다. 비활성화된 경우, OVN-Kubernetes는 MAC 주소만 할당하고, 2계층 통신을 제공하며, 사용자가 포드에서 IP 주소를 구성할 수 있도록 합니다. ipam.lifecycle은 IP 주소 관리 라이프사이클을 제어합니다. '영구'로 설정하면 할당된 IP 주소가 ipamclaims.k8s.cni.cncf.io 개체에 저장됩니다. VM에 유용하며, 재시작 및 마이그레이션 후에도 IP 주소가 유지됩니다. ipam.mode활성화된 경우 지원됩니다.
유형
object
Expand
재산유형설명

수명주기

string

라이프사이클은 IP 주소 관리 라이프사이클을 제어합니다.

허용되는 값은 지속적 값뿐입니다. 설정하면 OVN Kubernetes에서 할당한 IP 주소가 ipamclaims.k8s.cni.cncf.io 개체에 저장됩니다. 이러한 IP 주소는 요청 시 다른 포드에서 재사용됩니다. 모드가 활성화된 경우에만 지원됩니다.

mode

string

모드는 OVN이 IP 구성을 얼마나 관리할지 제어합니다. 활성화 하면 OVN-Kubernetes가 SDN 인프라에 IP 구성을 적용하고 선택한 서브넷의 IP를 개별 포드에 할당합니다. 비활성화 하면 OVN-Kubernetes는 MAC 주소만 할당하고 2계층 통신을 제공하여 사용자가 포드에 대한 IP 주소를 구성할 수 있도록 합니다. 비활성화는 보조 네트워크에만 사용할 수 있습니다. IPAM을 비활성화하면 IP를 기준으로 포드를 선택하는 Kubernetes 기능(예: 네트워크 정책, 서비스 등)이 더 이상 작동하지 않습니다. 또한, 이 네트워크에 연결된 인터페이스의 IP 포트 보안도 비활성화됩니다. 기본값은 Enabled입니다 .

2.1.13. .spec.network.localnet.vlan

설명
네트워크에 대한 VLAN 구성입니다. vlan.mode는 VLAN 모드입니다. "액세스"가 설정되면 OVN-Kubernetes는 액세스 모드에서 네트워크 논리 스위치 포트를 구성합니다. vlan.access는 액세스 VLAN 구성입니다. vlan.access.id는 네트워크 논리 스위치 포트에 설정할 VLAN ID(VID)입니다. vlan은 선택 사항이며, 생략하면 기본 네트워크 VLAN이 사용됩니다(일반적으로 1 ). 설정하면 OVN-Kubernetes는 SDN 인프라와 연결된 포드에 VLAN 구성을 적용합니다.
유형
object
필수 항목
  • mode
Expand
재산유형설명

입장

object

Access는 액세스 VLAN 구성입니다.

mode

string

모드는 네트워크 VLAN 모드를 설명합니다. 허용되는 값은 "액세스"입니다. Access는 구성에 따라 네트워크 논리 스위치 포트를 액세스 모드로 설정합니다.

2.1.14. .spec.network.localnet.vlan.access

설명
Access는 액세스 VLAN 구성입니다.
유형
object
필수 항목
  • id
Expand
재산유형설명

id

integer

id는 네트워크에 설정할 VLAN ID(VID)입니다. id는 0보다 크고 4095보다 작아야 합니다.

2.1.15. .status

설명
ClusterUserDefinedNetworkStatus에는 ClusterUserDefinedNetwork의 관찰된 상태가 포함되어 있습니다.
유형
object
Expand
재산유형설명

conditions

array

ClusterUserDefineNetwork 상태에 대한 세부 정보를 나타내는 조건 객체의 조건 슬라이스입니다.

conditions[]

object

조건에는 이 API 리소스의 현재 상태의 한 측면에 대한 세부 정보가 포함되어 있습니다.

2.1.16. .status.conditions

설명
ClusterUserDefineNetwork 상태에 대한 세부 정보를 나타내는 조건 객체의 조건 슬라이스입니다.
유형
array

2.1.17. .status.conditions[]

설명
조건에는 이 API 리소스의 현재 상태의 한 측면에 대한 세부 정보가 포함되어 있습니다.
유형
object
필수 항목
  • lastTransitionTime
  • message
  • reason
  • status
  • type
Expand
재산유형설명

lastTransitionTime

string

lastTransitionTime은 조건이 한 상태에서 다른 상태로 전환된 마지막 시간입니다. 이는 기본 조건이 변경된 시점이어야 합니다. 이를 알 수 없는 경우 API 필드가 변경된 시간을 사용합니다.

message

string

메시지는 전환에 대한 세부 정보를 나타내는 사람이 읽을 수 있는 메시지입니다. 빈 문자열일 수 있습니다.

observedGeneration

integer

observedGeneration은 조건이 설정된 .metadata.generation을 나타냅니다. 예를 들어, .metadata.generation이 현재 12이지만 .status.conditions[x].observedGeneration이 9인 경우 해당 조건은 인스턴스의 현재 상태를 기준으로 오래되었습니다.

reason

string

reason에는 조건의 마지막 전환에 대한 이유를 나타내는 프로그래밍 식별자가 포함되어 있습니다. 특정 조건 유형의 생산자는 이 필드에 대한 예상 값과 의미를 정의하고, 해당 값이 보장된 API로 간주되는지 여부를 결정할 수 있습니다. 값은 CamelCase 문자열이어야 합니다. 이 필드는 비어 있을 수 없습니다.

status

string

조건의 상태는 True, False, Unknown 중 하나입니다.

type

string

CamelCase 또는 foo.example.com/CamelCase의 조건 유형입니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat