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의 조건 유형입니다. |