第2章 ClusterUserDefinedNetwork [k8s.ovn.org/v1]


説明
ClusterUserDefinedNetwork は、namespace をまたぐ共有ネットワークのネットワーク要求を記述します。
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 を参照してください。

metadata

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

namespace ネットワークを利用できる namespaceSelector ラベルセレクター。

network

object

network はユーザー定義ネットワーク仕様です。

2.1.2. .spec.namespaceSelector

説明
namespace ネットワークを利用できる namespaceSelector ラベルセレクター。
object
Expand
プロパティー説明

matchExpressions

array

matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。

matchExpressions[]

object

ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。

matchLabels

object (string)

matchLabels は、{key,value} ペアのマップです。matchLabels マップの 1 つの {key,value} は matchExpressions の要素と同じで、キーフィールドには "key"、演算子には "In"、値配列には "value" のみが含まれます。要件は AND で結合されます。

2.1.3. .spec.namespaceSelector.matchExpressions

説明
matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。
array

2.1.4. .spec.namespaceSelector.matchExpressions[]

説明
ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。
object
必須
  • key
  • operator
Expand
プロパティー説明

key

string

key は、セレクターの適用先のラベルキーです。

operator

string

operator はキーと値のセットの関係を表します。有効な演算子は In、NotIn、Exists、および DoesNotExist です。

values

array (string)

values は文字列値の配列です。operator が In または NotIn の場合には、values 配列を空白にできません。operator が Exists または DoesNotExist の場合には、values 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

2.1.5. .spec.network

説明
network はユーザー定義ネットワーク仕様です。
object
必須
  • topology
Expand
プロパティー説明

layer2

object

layer2 は Layer2 トポロジー設定です。

layer3

object

Layer3 は、Layer3 トポロジー設定です。

localnet

object

localnet は、Localnet トポロジー設定です。

topology

string

トポロジーはネットワーク設定を記述します。

許可される値は、"Layer3"、"Layer2"、"Localnet" です。Layer3 トポロジーでは、ノードごとにレイヤー 2 セグメントが作成され、それぞれが異なるサブネットを持ちます。レイヤー 3 ルーティングは、ノードサブネットを相互接続するために使用されます。Layer2 トポロジーでは、すべてのノードで共有される 1 つの論理スイッチが作成されます。Localnet トポロジーはレイヤー 2 トポロジーに基づいていますが、既存の (設定された) 物理ネットワークに接続して、ワークロードに north-south トラフィックを提供することもできます。

2.1.6. .spec.network.layer2

説明
layer2 は Layer2 トポロジー設定です。
object
必須
  • role
Expand
プロパティー説明

ipam

object

IPAM セクションには、ネットワークの IPAM 関連の設定が含まれています。

joinSubnets

array (string)

JoinSubnets は、OVN ネットワークトポロジー内で使用されます。

デュアルスタッククラスターでは、IP ファミリーごとに 1 つずつ、合計 2 つのサブネットを設定できます。それ以外の場合は、1 つのサブネットのみが許可されます。このフィールドは "プライマリー" ネットワークにのみ許可されます。OVN ネットワークトポロジーを明確に必要とし、理解している場合を除き、このフィールドを設定することは推奨されません。省略すると、プラットフォームは適切なデフォルトを選択します。これは、今後変更される可能性があります。

mtu

integer

MTU はネットワークの最大転送単位です。MTU はオプションです。指定しない場合、OVN-Kubernetes でグローバルに設定された値 (デフォルトは 1400) がネットワークに使用されます。

role

string

Role は、Pod 内のネットワークロールを説明します。

許可される値は "Secondary" です。セカンダリーネットワークは、k8s.v1.cni.cncf.io/networks アノテーションを使用して特定のネットワークを選択する Pod にのみ割り当てられます。

subnets

array (string)

Subnets は、クラスター全体の Pod ネットワークに使用されます。デュアルスタッククラスターでは、IP ファミリーごとに 1 つずつ、合計 2 つのサブネットを設定できます。それ以外の場合は、1 つのサブネットのみが許可されます。

形式は標準の CIDR 表記 (例: "10.128.0.0/16") と一致する必要があります。ipam.modeDisabled の場合、このフィールドは省略する必要があります。

2.1.7. .spec.network.layer2.ipam

説明
IPAM セクションには、ネットワークの IPAM 関連の設定が含まれています。
object
Expand
プロパティー説明

lifecycle

string

lifecycle は、IP アドレスの管理ライフサイクルを制御します。

許可される値は Persistent のみです。設定すると、OVN Kubernetes によって割り当てられた IP アドレスが ipamclaims.k8s.cni.cncf.io オブジェクト内に永続化されます。これらの IP アドレスは、要求された場合、他の Pod によって再利用されます。モードが Enabled の場合にのみサポートされます。

mode

string

モードは、OVN が IP 設定を管理する程度を制御します。Enabled の場合、OVN-Kubernetes は SDN インフラストラクチャーに IP 設定を適用し、選択したサブネットから個々の Pod に IP を割り当てます。Disabled の場合、OVN-Kubernetes は MAC アドレスのみを割り当て、レイヤー 2 通信を提供します。これにより、ユーザーは Pod の IP アドレスを設定できるようになります。Disabled は、セカンダリーネットワークでのみ使用できます。IPAM を無効にすると、IP による Pod 選択に依存する Kubernetes 機能 (ネットワークポリシー、サービスなど) が機能しなくなります。さらに、このネットワークにアタッチされたインターフェイスでは IP ポートセキュリティーも無効になります。デフォルトでは Enabled に設定されています。

2.1.8. .spec.network.layer3

説明
Layer3 は、Layer3 トポロジー設定です。
object
必須
  • role
  • subnets
Expand
プロパティー説明

joinSubnets

array (string)

JoinSubnets は、OVN ネットワークトポロジー内で使用されます。

デュアルスタッククラスターでは、IP ファミリーごとに 1 つずつ、合計 2 つのサブネットを設定できます。それ以外の場合は、1 つのサブネットのみが許可されます。このフィールドは "プライマリー" ネットワークにのみ許可されます。OVN ネットワークトポロジーを明確に必要とし、理解している場合を除き、このフィールドを設定することは推奨されません。省略すると、プラットフォームは適切なデフォルトを選択します。これは、今後変更される可能性があります。

mtu

integer

MTU はネットワークの最大転送単位です。

MTU はオプションです。指定しない場合、OVN-Kubernetes でグローバルに設定された値 (デフォルトは 1400) がネットワークに使用されます。

role

string

Role は、Pod 内のネットワークロールを説明します。

許可される値は "Primary" と "Secondary" です。プライマリーネットワークは、同じ namespace に作成されたすべての Pod に自動的に割り当てられます。セカンダリーネットワークは、k8s.v1.cni.cncf.io/networks アノテーションを使用して特定のネットワークを選択する Pod にのみ割り当てられます。

subnets

array

Subnets は、クラスター全体の Pod ネットワークに使用されます。

デュアルスタッククラスターでは、IP ファミリーごとに 1 つずつ、合計 2 つのサブネットを設定できます。それ以外の場合は、1 つのサブネットのみが許可されます。指定されたサブネットは、ノードごとに小さなサブネットに分割されます。

subnets[]

object

 

2.1.9. .spec.network.layer3.subnets

説明

Subnets は、クラスター全体の Pod ネットワークに使用されます。

デュアルスタッククラスターでは、IP ファミリーごとに 1 つずつ、合計 2 つのサブネットを設定できます。それ以外の場合は、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

array (string)

excludeSubnets は、subnets 内の指定された CIDR から削除される CIDR のリストです。このリスト内の CIDR は、subnets で指定されている 1 つ以上のサブネットの範囲内にある必要があります。excludeSubnets はオプションです。省略すると、いずれの IP アドレスも除外されず、subnets で指定されたすべての 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", the following addresses will not be assigned to pods: `10.0.0.20110.0.0.202

ipam

object

ネットワークの ipam 設定。ipam はオプションです。省略する場合は、subnets を指定する必要があります。ipam.modeDisabled の場合、subnets を省略する必要があります。ipam.mode は、OVN が IP 設定を管理する程度を制御します。Enabled の場合、OVN-Kubernetes は SDN インフラに IP 設定を適用し、選択したサブネットから Pod に IP を割り当てます。Disabled の場合、OVN-Kubernetes は MAC アドレスのみを割り当て、layer2 通信を提供します。これにより、ユーザーは Pod 上で IP アドレスを設定できるようになります。ipam.lifecycle は IP アドレスの管理ライフサイクルを制御します。'Persistent' に設定すると、割り当てられた IP アドレスは ipamclaims.k8s.cni.cncf.io オブジェクトで永続化されます。仮想マシンの場合に役立ち、IP アドレスは再起動および移行後も保持されます。ipam.modeEnabled の場合にサポートされます。

mtu

integer

mtu はネットワークの最大転送単位です。mtu はオプションです。省略すると、OVN-Kubernetes で設定された値 (localnet トポロジーの場合のデフォルトは 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 です。, または : 文字を含めることはできません。OVS ブリッジマッピングが NodeNetworkConfigurationPolicy (NNCP) を使用して Kubernetes-nmstate によって定義されている場合、このフィールドは NNCP spec.desiredState.ovn.bridge-mappings 項目の localnet 値を指す必要があります。

role

string

role は Pod 内のネットワークロールを記述します (必須)。Pod インターフェイスが、プライマリーとセカンダリーのどちらとして機能するかを制御します。Localnet トポロジーは Secondary のみサポートします。ネットワークは、サブジェクトを指す k8s.v1.cni.cncf.io/networks アノテーションが設定された Pod に割り当てられます。

subnets

array (string)

subnets は、クラスター全体のこの localnet ネットワーク内の Pod に使用されるサブネットのリストです。リストには、IPv4 サブネットを 1 つ、IPv6 サブネットを 1 つ、または各 IP ファミリーを 1 つずつ含めることができます。設定すると、OVN-Kubernetes は指定された CIDR から接続された Pod に IP アドレスを割り当てます。そのため、手動での IP 割り当てや外部 IPAM サービス (DHCP サーバーなど) に依存する必要がなくなります。subnets はオプションです。省略すると、OVN-Kubernetes は IP アドレスを自動的に割り当てません。デュアルスタッククラスターでは、IP ファミリーごとに 1 つずつ、合計 2 つのサブネットを設定できます。それ以外の場合は、1 つのサブネットのみが許可されます。形式は標準の CIDR 表記 (例: "10.128.0.0/16") と一致する必要があります。ipam.modeDisabled の場合、このフィールドは省略する必要があります。physicalNetworkName が、IPAM サービスを提供するネットワーク (DHCP サーバーなど) の OVS ブリッジマッピングを指している場合、ipam.mode を Disabled に設定する必要があります。これにより、OVN-Kubernetes IPAM がオフになり、この localnet ネットワーク上の既存の IPAM サービスとの競合が回避されます。

vlan

object

ネットワークの VLAN 設定。vlan.mode は VLAN モードです。"Access" が設定されている場合、OVN-Kubernetes はネットワーク論理スイッチポートをアクセスモードで設定します。vlan.access は、アクセス VLAN 設定です。vlan.access.id は、ネットワーク論理スイッチポートに設定する VLAN ID (VID) です。vlan はオプションであり、省略した場合は、基盤となるネットワークのデフォルト VLAN (通常は 1) が使用されます。設定すると、OVN-Kubernetes は VLAN 設定を SDN インフラと接続された Pod に適用します。

2.1.12. .spec.network.localnet.ipam

説明
ネットワークの ipam 設定。ipam はオプションです。省略する場合は、subnets を指定する必要があります。ipam.modeDisabled の場合、subnets を省略する必要があります。ipam.mode は、OVN が IP 設定を管理する程度を制御します。Enabled の場合、OVN-Kubernetes は SDN インフラに IP 設定を適用し、選択したサブネットから Pod に IP を割り当てます。Disabled の場合、OVN-Kubernetes は MAC アドレスのみを割り当て、layer2 通信を提供します。これにより、ユーザーは Pod 上で IP アドレスを設定できるようになります。ipam.lifecycle は IP アドレスの管理ライフサイクルを制御します。'Persistent' に設定すると、割り当てられた IP アドレスは ipamclaims.k8s.cni.cncf.io オブジェクトで永続化されます。仮想マシンの場合に役立ち、IP アドレスは再起動および移行後も保持されます。ipam.modeEnabled の場合にサポートされます。
object
Expand
プロパティー説明

lifecycle

string

lifecycle は、IP アドレスの管理ライフサイクルを制御します。

許可される値は Persistent のみです。設定すると、OVN Kubernetes によって割り当てられた IP アドレスが ipamclaims.k8s.cni.cncf.io オブジェクト内に永続化されます。これらの IP アドレスは、要求された場合、他の Pod によって再利用されます。モードが Enabled の場合にのみサポートされます。

mode

string

モードは、OVN が IP 設定を管理する程度を制御します。Enabled の場合、OVN-Kubernetes は SDN インフラストラクチャーに IP 設定を適用し、選択したサブネットから個々の Pod に IP を割り当てます。Disabled の場合、OVN-Kubernetes は MAC アドレスのみを割り当て、レイヤー 2 通信を提供します。これにより、ユーザーは Pod の IP アドレスを設定できるようになります。Disabled は、セカンダリーネットワークでのみ使用できます。IPAM を無効にすると、IP による Pod 選択に依存する Kubernetes 機能 (ネットワークポリシー、サービスなど) が機能しなくなります。さらに、このネットワークにアタッチされたインターフェイスでは IP ポートセキュリティーも無効になります。デフォルトでは Enabled に設定されています。

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
Expand
プロパティー説明

access

object

access はアクセス VLAN 設定です

mode

string

mode はネットワーク VLAN モードを記述します。許可される値は "Access" です。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[]

説明
condition には、この API Resource の現在の状態のある側面の詳細が含まれます。
object
必須
  • lastTransitionTime
  • message
  • reason
  • status
  • type
Expand
プロパティー説明

lastTransitionTime

string

lastTransitionTime は、ある状態から別の状態に最後に遷移した時間です。これは、基本的な条件が変更された時点となります。不明な場合には、API フィールドが変更された時点を使用することも可能です。

message

string

message は、遷移の詳細を示す人が判読できるメッセージです。空の文字列の場合もあります。

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 では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat