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 Label selector for which namespace network should be available for. |
|
| network는 user-defined-network 사양입니다. |
2.1.2. .spec.namespaceSelector 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- namespaceSelector Label selector for which namespace network should be available for.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| matchExpressions는 라벨 선택기 요구 사항 목록입니다. 요구 사항은 AND로 설정됩니다. |
|
| 레이블 선택기 요구 사항은 값, 키 및 키와 관련된 연산자를 포함하는 선택기입니다. |
|
| matchLabels는 {key,value} 쌍으로 구성된 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 "key"이고, 연산자는 "In"이고, values 배열에는 "value"만 포함된 matchExpressions 요소와 동일합니다. 요구 사항은 AND로 설정됩니다. |
2.1.3. .spec.namespaceSelector.matchExpressions 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- matchExpressions는 라벨 선택기 요구 사항 목록입니다. 요구 사항은 AND로 설정됩니다.
- 유형
-
array
2.1.4. .spec.namespaceSelector.matchExpressions[] 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- 레이블 선택기 요구 사항은 값, 키 및 키와 관련된 연산자를 포함하는 선택기입니다.
- 유형
-
object
- 필수 항목
-
key
-
operator
-
속성 | 유형 | 설명 |
---|---|---|
|
| key는 선택기가 적용되는 라벨 키입니다. |
|
| Operator는 일련의 값과의 키 관계를 나타냅니다. 유효한 연산자는 In, NotIn, Exists 및 DoesNotExist입니다. |
|
| 값은 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 교체됩니다. |
2.1.5. .spec.network 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- network는 user-defined-network 사양입니다.
- 유형
-
object
- 필수 항목
-
토폴로지
-
속성 | 유형 | 설명 |
---|---|---|
|
| Layer2는 Layer2 토폴로지 구성입니다. |
|
| Layer3은 Layer3 토폴로지 구성입니다. |
|
| localnet은 Localnet 토폴로지 구성입니다. |
|
| 토폴로지는 네트워크 구성을 설명합니다. 허용되는 값은 "Layer3", "Layer2" 및 "Localnet"입니다. Layer3 토폴로지는 노드당 계층 2 세그먼트를 생성합니다. 각각 다른 서브넷을 사용합니다. 계층 3 라우팅은 노드 서브넷을 상호 연결하는 데 사용됩니다. Layer2 토폴로지는 모든 노드에서 공유하는 하나의 논리 스위치를 생성합니다. 로컬 네트워크 토폴로지는 계층 2 토폴로지를 기반으로 하지만 워크로드에 north-south 트래픽을 제공하기 위해 존재하는 (구성) 물리적 네트워크에 연결할 수도 있습니다. |
2.1.6. .spec.network.layer2 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- Layer2는 Layer2 토폴로지 구성입니다.
- 유형
-
object
- 필수 항목
-
role
-
속성 | 유형 | 설명 |
---|---|---|
|
| IPAM 섹션에는 네트워크에 대한 IPAM 관련 구성이 포함되어 있습니다. |
|
| JoinSubnets는 OVN 네트워크 토폴로지 내에서 사용됩니다. 듀얼 스택 클러스터는 2개의 서브넷(IP 제품군마다 하나씩)을 설정할 수 있으며, 그렇지 않으면 서브넷은 1개만 허용됩니다. 이 필드는 "기본" 네트워크에만 허용됩니다. OVN 네트워크 토폴로지에 대한 명시적 필요 및 이해없이 이 필드를 설정하지 않는 것이 좋습니다. 생략하면 플랫폼은 시간이 지남에 따라 변경될 수 있는 적절한 기본값을 선택합니다. |
|
| MTU는 네트워크의 최대 전송 단위입니다. MTU는 선택 사항이며 제공되지 않는 경우 네트워크에 전역적으로 구성된 OVN-Kubernetes 값(기본값: 1400)이 사용됩니다. |
|
| 역할은 Pod의 네트워크 역할을 설명합니다.
허용되는 값은 "Secondary"입니다. 보조 네트워크는 |
|
| 서브넷은 클러스터 전체의 pod 네트워크에 사용됩니다. 듀얼 스택 클러스터는 2개의 서브넷(IP 제품군마다 하나씩)을 설정할 수 있으며, 그렇지 않으면 서브넷은 1개만 허용됩니다.
형식은 표준 CIDR 표기법과 일치해야 합니다(예: "10.128.0.0/16"). |
2.1.7. .spec.network.layer2.ipam 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- IPAM 섹션에는 네트워크에 대한 IPAM 관련 구성이 포함되어 있습니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| 라이프사이클은 IP 주소 관리 라이프사이클을 제어합니다.
허용되는 값은 Persistent입니다. 설정된 경우 OVN Kubernetes에서 할당한 IP 주소는 |
|
|
모드는 OVN에서 관리할 IP 구성의 양을 제어합니다. |
2.1.8. .spec.network.layer3 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- Layer3은 Layer3 토폴로지 구성입니다.
- 유형
-
object
- 필수 항목
-
role
-
subnets
-
속성 | 유형 | 설명 |
---|---|---|
|
| JoinSubnets는 OVN 네트워크 토폴로지 내에서 사용됩니다. 듀얼 스택 클러스터는 2개의 서브넷(IP 제품군마다 하나씩)을 설정할 수 있으며, 그렇지 않으면 서브넷은 1개만 허용됩니다. 이 필드는 "기본" 네트워크에만 허용됩니다. OVN 네트워크 토폴로지에 대한 명시적 필요 및 이해없이 이 필드를 설정하지 않는 것이 좋습니다. 생략하면 플랫폼은 시간이 지남에 따라 변경될 수 있는 적절한 기본값을 선택합니다. |
|
| MTU는 네트워크의 최대 전송 단위입니다. MTU는 선택 사항이며 제공되지 않는 경우 네트워크에 전역적으로 구성된 OVN-Kubernetes 값(기본값: 1400)이 사용됩니다. |
|
| 역할은 Pod의 네트워크 역할을 설명합니다.
허용되는 값은 "기본" 및 "Secondary"입니다. 기본 네트워크는 동일한 네임스페이스에서 생성된 모든 pod에 자동으로 할당됩니다. 보조 네트워크는 |
|
| 서브넷은 클러스터 전체의 pod 네트워크에 사용됩니다. 듀얼 스택 클러스터는 2개의 서브넷(IP 제품군마다 하나씩)을 설정할 수 있으며, 그렇지 않으면 서브넷은 1개만 허용됩니다. 지정된 서브넷은 모든 노드의 더 작은 서브넷으로 나뉩니다. |
|
|
2.1.9. .spec.network.layer3.subnets 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
서브넷은 클러스터 전체의 pod 네트워크에 사용됩니다.
듀얼 스택 클러스터는 2개의 서브넷(IP 제품군마다 하나씩)을 설정할 수 있으며, 그렇지 않으면 서브넷은 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의 구성된 값(localnet 토폴로지의 경우 기본값)이 네트워크에 사용됩니다. IPv4 서브넷의 최소 값은 576이고 IPv6 서브넷의 경우 1280입니다. 최대값은 65536입니다. 시나리오 |
|
|
physicalNetworkName은 필요한 노드에 구성된 OVS bridge-mapping의 네트워크 이름을 가리킵니다. 최소 길이는 1, 최대 길이는 253이며 |
|
|
role은 필요한 Pod의 네트워크 역할을 설명합니다. Pod 인터페이스가 기본 또는 보조로 작동할지 여부를 제어합니다. Localnet 토폴로지는 |
|
|
서브넷은 클러스터 전체에서 이 localnet 네트워크의 포드에 사용되는 서브넷 목록입니다. 목록은 1 개의 IPv4 서브넷, 1 개의 IPv6 서브넷 또는 각 IP 제품군 중 1 개일 수 있습니다. 설정된 경우 OVN-Kubernetes는 지정된 CIDR의 IP 주소를 연결된 Pod에 할당하므로 외부 IPAM 서비스(예: DHCP 서버)에 대한 수동 IP 할당 또는 의존이 필요하지 않습니다. 서브넷은 선택 사항입니다. OVN-Kubernetes를 생략하면 IP 주소가 자동으로 할당되지 않습니다. 듀얼 스택 클러스터는 2개의 서브넷(IP 제품군마다 하나씩)을 설정할 수 있으며, 그렇지 않으면 서브넷은 1개만 허용됩니다. 형식은 표준 CIDR 표기법과 일치해야 합니다(예: "10.128.0.0/16"). |
|
|
네트워크의 VLAN 구성입니다. vlan.mode는 VLAN 모드입니다. "Access"가 설정되면 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를 Pod에 할당합니다.Disabled
인 경우 OVN-Kubernetes는 MAC 주소만 할당하고 계층2 통신을 제공하며 사용자가 Pod에서 IP 주소를 구성할 수 있습니다.IPAM.lifecycle
은 IP 주소 관리 라이프사이클을 제어합니다. 'Persistent'로 설정하면 할당된 IP 주소가ipamclaims.k8s.cni.cncf.io
오브젝트에 유지됩니다. VM에 유용한 IP 주소는 재시작 후 및 마이그레이션 후 지속됩니다.ipam.mode
가활성화된 경우 지원됩니다
. - 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| 라이프사이클은 IP 주소 관리 라이프사이클을 제어합니다.
허용되는 값은 Persistent입니다. 설정된 경우 OVN Kubernetes에서 할당한 IP 주소는 |
|
|
모드는 OVN에서 관리할 IP 구성의 양을 제어합니다. |
2.1.13. .spec.network.localnet.vlan 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
-
네트워크의 VLAN 구성입니다. vlan.mode는 VLAN 모드입니다. "Access"가 설정되면 OVN-Kubernetes는 액세스 모드에서 네트워크 논리 스위치 포트를 구성합니다. vlan.access는 액세스 VLAN 구성입니다. vlan.access.id는 네트워크 논리 스위치 포트에 설정할 VLAN ID(VID)입니다. vlan은 선택 사항입니다. 기본 네트워크 기본 VLAN은 사용됩니다(일반적으로
1
). 설정된 경우 OVN-Kubernetes는 VLAN 구성을 SDN 인프라 및 연결된 Pod에 적용합니다. - 유형
-
object
- 필수 항목
-
mode
-
속성 | 유형 | 설명 |
---|---|---|
|
| Access는 액세스 VLAN 구성입니다. |
|
| mode는 네트워크 VLAN 모드를 설명합니다. 허용되는 값은 "Access"입니다. 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 상태에 대한 세부 정보를 나타내는 조건 오브젝트의 조건 분할. |
|
| condition에는 이 API 리소스의 현재 상태에 대한 한 가지 측면에 대한 세부 정보가 포함되어 있습니다. |
2.1.16. .status.conditions 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- ClusterUserDefineNetwork 상태에 대한 세부 정보를 나타내는 조건 오브젝트의 조건 분할.
- 유형
-
array
2.1.17. .status.conditions[] 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- condition에는 이 API 리소스의 현재 상태에 대한 한 가지 측면에 대한 세부 정보가 포함되어 있습니다.
- 유형
-
object
- 필수 항목
-
lastTransitionTime
-
message
-
reason
-
status
-
type
-
속성 | 유형 | 설명 |
---|---|---|
|
| lastTransitionTime은 마지막으로 한 상태에서 다른 상태로 전환된 시간입니다. 기본 조건이 변경된 경우여야 합니다. 이를 알 수 없는 경우 API 필드가 변경된 시간을 사용합니다. |
|
| message는 변환에 대한 세부 정보를 나타내는 사람이 읽을 수 있는 메시지입니다. 빈 문자열일 수 있습니다. |
|
| observedGeneration은 조건에 따라 설정된 .metadata.generation을 나타냅니다. 예를 들어 .metadata.generation이 현재 12이지만 .status.conditions[x].observedGeneration이 9인 경우 현재 인스턴스 상태와 관련된 조건이 최신 상태가 아닙니다. |
|
| 이유에는 조건의 마지막 전환 이유를 나타내는 프로그래밍 식별자가 포함되어 있습니다. 특정 조건 유형의 생산자는 이 필드에 예상되는 값과 의미를 정의할 수 있으며 값이 보장된 API로 간주되는지 여부를 정의할 수 있습니다. 값은 CamelCase 문자열이어야 합니다. 이 필드는 비어 있지 않을 수 있습니다. |
|
| 조건의 상태, True, False, 알 수 없음. |
|
| CamelCase 또는 foo.example.com/CamelCase의 조건 유형입니다. |