2장. ClusterUserDefinedNetwork [k8s.ovn.org/v1]
- 설명
- ClusterUserDefinedNetwork는 네임스페이스 전반의 공유 네트워크에 대한 네트워크 요청을 설명합니다.
- 유형
-
object - 필수 항목
-
spec
-
2.1. 사양 링크 복사링크가 클립보드에 복사되었습니다!
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| APIVersion은 버전이 지정된 이 오브젝트 표현의 스키마를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식되지 않는 값을 거부할 수 있습니다. 자세한 정보: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
| kind는 이 오브젝트가 나타내는 REST 리소스에 해당하는 문자열 값입니다. 서버는 클라이언트에서 요청을 제출한 끝점에서 이를 유추할 수 있습니다. CamelCase로 업데이트할 수 없습니다. 자세한 정보: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
| 표준 객체의 메타데이터. 자세한 정보: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
|
| ClusterUserDefinedNetworkSpec은 ClusterUserDefinedNetwork의 원하는 상태를 정의합니다. |
|
|
| ClusterUserDefinedNetworkStatus에는 ClusterUserDefinedNetwork의 관찰된 상태가 포함되어 있습니다. |
2.1.1. .spec 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- ClusterUserDefinedNetworkSpec은 ClusterUserDefinedNetwork의 원하는 상태를 정의합니다.
- 유형
-
object - 필수 항목
-
namespaceSelector -
network
-
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| NamespaceSelector 네임스페이스 네트워크를 사용할 수 있는 레이블 선택기입니다. |
|
|
| 네트워크는 사용자 정의 네트워크 사양입니다. |
2.1.2. .spec.namespaceSelector 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- NamespaceSelector 네임스페이스 네트워크를 사용할 수 있는 레이블 선택기입니다.
- 유형
-
object
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| matchExpressions는 레이블 선택기 요구 사항 목록입니다. 요구 사항은 AND로 처리됩니다. |
|
|
| 레이블 선택기 요구 사항은 값, 키, 그리고 키와 값을 연결하는 연산자를 포함하는 선택기입니다. |
|
|
| 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
-
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| 키는 선택자가 적용되는 레이블 키입니다. |
|
|
| 연산자는 키와 값의 관계를 나타냅니다. 유효한 연산자는 In, NotIn, Exists 및 DoesNotExist입니다. |
|
|
| 값은 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우, 값 배열은 비어 있으면 안 됩니다. 연산자가 Exists 또는 DoesNotExist인 경우, 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 교체됩니다. |
2.1.5. .spec.network 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- 네트워크는 사용자 정의 네트워크 사양입니다.
- 유형
-
object - 필수 항목
-
토폴로지
-
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| Layer2는 Layer2 토폴로지 구성입니다. |
|
|
| Layer3은 Layer3 토폴로지 구성입니다. |
|
|
| Localnet은 Localnet 토폴로지 구성입니다. |
|
|
| 토폴로지는 네트워크 구성을 설명합니다. 허용되는 값은 "Layer3", "Layer2" 및 "Localnet"입니다. 3계층 토폴로지는 노드마다 다른 서브넷을 갖는 2계층 세그먼트를 생성합니다. 3계층 라우팅은 노드 서브넷을 상호 연결하는 데 사용됩니다. 2계층 토폴로지는 모든 노드가 공유하는 하나의 논리적 스위치를 생성합니다. 로컬넷 토폴로지는 2계층 토폴로지를 기반으로 하지만 기존의(구성된) 물리적 네트워크에 연결하여 워크로드에 남북 트래픽을 제공할 수도 있습니다. |
2.1.6. .spec.network.layer2 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- Layer2는 Layer2 토폴로지 구성입니다.
- 유형
-
object - 필수 항목
-
role
-
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| IPAM 섹션에는 네트워크에 대한 IPAM 관련 구성이 포함되어 있습니다. |
|
|
| JoinSubnets는 OVN 네트워크 토폴로지 내부에서 사용됩니다. 듀얼 스택 클러스터는 2개의 서브넷(IP 패밀리당 1개)을 설정할 수 있으며, 그렇지 않은 경우에는 1개의 서브넷만 허용됩니다. 이 필드는 "기본" 네트워크에만 허용됩니다. OVN 네트워크 토폴로지에 대한 명확한 필요성과 이해가 없이는 이 필드를 설정하지 않는 것이 좋습니다. 생략하면 플랫폼은 시간이 지남에 따라 변경될 수 있는 합리적인 기본값을 선택합니다. |
|
|
| MTU는 네트워크의 최대 전송 단위입니다. MTU는 선택 사항이며, 제공되지 않으면 OVN-Kubernetes에서 전역적으로 구성된 값(기본값은 1400)이 네트워크에 사용됩니다. |
|
|
| 역할은 Pod 내의 네트워크 역할을 설명합니다.
허용되는 값은 "보조"입니다. 보조 네트워크는 |
|
|
| 서브넷은 클러스터 전반의 포드 네트워크에 사용됩니다. 듀얼 스택 클러스터는 2개의 서브넷(IP 패밀리당 1개)을 설정할 수 있으며, 그렇지 않은 경우에는 1개의 서브넷만 허용됩니다.
형식은 표준 CIDR 표기법(예: "10.128.0.0/16")과 일치해야 합니다. |
2.1.7. .spec.network.layer2.ipam 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- IPAM 섹션에는 네트워크에 대한 IPAM 관련 구성이 포함되어 있습니다.
- 유형
-
object
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| 라이프사이클은 IP 주소 관리 라이프사이클을 제어합니다.
허용되는 값은 지속적 값뿐입니다. 설정하면 OVN Kubernetes에서 할당한 IP 주소가 |
|
|
|
모드는 OVN이 IP 구성을 얼마나 관리할지 제어합니다. |
2.1.8. .spec.network.layer3 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- Layer3은 Layer3 토폴로지 구성입니다.
- 유형
-
object - 필수 항목
-
role -
subnets
-
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| JoinSubnets는 OVN 네트워크 토폴로지 내부에서 사용됩니다. 듀얼 스택 클러스터는 2개의 서브넷(IP 패밀리당 1개)을 설정할 수 있으며, 그렇지 않은 경우에는 1개의 서브넷만 허용됩니다. 이 필드는 "기본" 네트워크에만 허용됩니다. OVN 네트워크 토폴로지에 대한 명확한 필요성과 이해가 없이는 이 필드를 설정하지 않는 것이 좋습니다. 생략하면 플랫폼은 시간이 지남에 따라 변경될 수 있는 합리적인 기본값을 선택합니다. |
|
|
| MTU는 네트워크의 최대 전송 단위입니다. MTU는 선택 사항이며, 제공되지 않으면 OVN-Kubernetes에서 전역적으로 구성된 값(기본값은 1400)이 네트워크에 사용됩니다. |
|
|
| 역할은 Pod 내의 네트워크 역할을 설명합니다.
허용되는 값은 "기본"과 "보조"입니다. 기본 네트워크는 동일한 네임스페이스에서 생성된 모든 Pod에 자동으로 할당됩니다. 보조 네트워크는 |
|
|
| 서브넷은 클러스터 전반의 포드 네트워크에 사용됩니다. 듀얼 스택 클러스터는 2개의 서브넷(IP 패밀리당 1개)을 설정할 수 있으며, 그렇지 않은 경우에는 1개의 서브넷만 허용됩니다. 주어진 서브넷은 각 노드에 대해 더 작은 서브넷으로 분할됩니다. |
|
|
|
2.1.9. .spec.network.layer3.subnets 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
서브넷은 클러스터 전반의 포드 네트워크에 사용됩니다.
듀얼 스택 클러스터는 2개의 서브넷(IP 패밀리당 1개)을 설정할 수 있으며, 그렇지 않은 경우에는 1개의 서브넷만 허용됩니다. 주어진 서브넷은 각 노드에 대해 더 작은 서브넷으로 분할됩니다.
- 유형
-
array
2.1.10. .spec.network.layer3.subnets[] 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- 유형
-
object - 필수 항목
-
cidr
-
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| CIDR은 L3Subnet을 지정하는데, 이는 각 노드에 대해 더 작은 서브넷으로 분할됩니다. |
|
|
| HostSubnet은 모든 노드의 서브넷 크기를 지정합니다. 설정하지 않으면 자동으로 할당됩니다. |
2.1.11. .spec.network.localnet 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- Localnet은 Localnet 토폴로지 구성입니다.
- 유형
-
object - 필수 항목
-
physicalNetworkName -
role
-
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
|
excludeSubnets는 |
|
|
|
네트워크에 대한 ipam 구성입니다. ipam은 선택 사항입니다. 생략하는 경우 |
|
|
|
mtu는 네트워크의 최대 전송 단위입니다. mtu는 선택 사항입니다. 생략하면 OVN-Kubernetes에서 구성된 값(로컬넷 토폴로지의 경우 기본값은 1500)이 네트워크에 사용됩니다. IPv4 서브넷의 최소값은 576이고, IPv6 서브넷의 최소값은 1280입니다. 최대값은 65536입니다. 시나리오에서 |
|
|
|
physicalNetworkName은 노드에 구성된 OVS 브리지 매핑의 네트워크 이름을 가리키며 필수입니다. 최소 길이는 1이고, 최대 길이는 253이며 |
|
|
|
역할은 포드의 네트워크 역할을 설명합니다. 필수입니다. Pod 인터페이스가 기본 또는 보조로 작동할지 여부를 제어합니다. 로컬넷 토폴로지는 |
|
|
|
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")과 일치해야 합니다. |
|
|
|
네트워크에 대한 VLAN 구성입니다. vlan.mode는 VLAN 모드입니다. "액세스"가 설정되면 OVN-Kubernetes는 액세스 모드에서 네트워크 논리 스위치 포트를 구성합니다. vlan.access는 액세스 VLAN 구성입니다. vlan.access.id는 네트워크 논리 스위치 포트에 설정할 VLAN ID(VID)입니다. vlan은 선택 사항이며, 생략하면 기본 네트워크 VLAN이 사용됩니다(일반적으로 |
2.1.12. .spec.network.localnet.ipam 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
-
네트워크에 대한 ipam 구성입니다. ipam은 선택 사항입니다. 생략하는 경우
서브넷을지정해야 합니다.ipam.mode가Disabled인 경우서브넷을생략해야 합니다.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
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| 라이프사이클은 IP 주소 관리 라이프사이클을 제어합니다.
허용되는 값은 지속적 값뿐입니다. 설정하면 OVN Kubernetes에서 할당한 IP 주소가 |
|
|
|
모드는 OVN이 IP 구성을 얼마나 관리할지 제어합니다. |
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
-
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| Access는 액세스 VLAN 구성입니다. |
|
|
| 모드는 네트워크 VLAN 모드를 설명합니다. 허용되는 값은 "액세스"입니다. Access는 구성에 따라 네트워크 논리 스위치 포트를 액세스 모드로 설정합니다. |
2.1.14. .spec.network.localnet.vlan.access 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- Access는 액세스 VLAN 구성입니다.
- 유형
-
object - 필수 항목
-
id
-
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| id는 네트워크에 설정할 VLAN ID(VID)입니다. id는 0보다 크고 4095보다 작아야 합니다. |
2.1.15. .status 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- ClusterUserDefinedNetworkStatus에는 ClusterUserDefinedNetwork의 관찰된 상태가 포함되어 있습니다.
- 유형
-
object
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| ClusterUserDefineNetwork 상태에 대한 세부 정보를 나타내는 조건 객체의 조건 슬라이스입니다. |
|
|
| 조건에는 이 API 리소스의 현재 상태의 한 측면에 대한 세부 정보가 포함되어 있습니다. |
2.1.16. .status.conditions 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- ClusterUserDefineNetwork 상태에 대한 세부 정보를 나타내는 조건 객체의 조건 슬라이스입니다.
- 유형
-
array
2.1.17. .status.conditions[] 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- 조건에는 이 API 리소스의 현재 상태의 한 측면에 대한 세부 정보가 포함되어 있습니다.
- 유형
-
object - 필수 항목
-
lastTransitionTime -
message -
reason -
status -
type
-
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| lastTransitionTime은 조건이 한 상태에서 다른 상태로 전환된 마지막 시간입니다. 이는 기본 조건이 변경된 시점이어야 합니다. 이를 알 수 없는 경우 API 필드가 변경된 시간을 사용합니다. |
|
|
| 메시지는 전환에 대한 세부 정보를 나타내는 사람이 읽을 수 있는 메시지입니다. 빈 문자열일 수 있습니다. |
|
|
| observedGeneration은 조건이 설정된 .metadata.generation을 나타냅니다. 예를 들어, .metadata.generation이 현재 12이지만 .status.conditions[x].observedGeneration이 9인 경우 해당 조건은 인스턴스의 현재 상태를 기준으로 오래되었습니다. |
|
|
| reason에는 조건의 마지막 전환에 대한 이유를 나타내는 프로그래밍 식별자가 포함되어 있습니다. 특정 조건 유형의 생산자는 이 필드에 대한 예상 값과 의미를 정의하고, 해당 값이 보장된 API로 간주되는지 여부를 결정할 수 있습니다. 값은 CamelCase 문자열이어야 합니다. 이 필드는 비어 있을 수 없습니다. |
|
|
| 조건의 상태는 True, False, Unknown 중 하나입니다. |
|
|
| CamelCase 또는 foo.example.com/CamelCase의 조건 유형입니다. |