ネットワーク API


OpenShift Container Platform 4.19

ネットワーク API のリファレンスガイド

Red Hat OpenShift Documentation Team

概要

このドキュメントでは、OpenShift Container Platform のネットワーク API オブジェクトとその詳細な仕様を説明します。

第1章 ネットワーク API

1.1. ClusterUserDefinedNetwork [k8s.ovn.org/v1]

説明
ClusterUserDefinedNetwork は、namespace をまたぐ共有ネットワークのネットワーク要求を記述します。
object

1.2. AdminNetworkPolicy [policy.networking.k8s.io/v1alpha1]

説明
AdminNetworkPolicy は、AdminNetworkPolicy API を構成するクラスターレベルのリソースです。
object

1.3. AdminPolicyBasedExternalRoute [k8s.ovn.org/v1]

説明
AdminPolicyBasedExternalRoute は、クラスター管理者が、選択した namespace に含まれるすべての Pod に適用される外部ゲートウェイ IP のポリシーを設定できるようにする CRD です。選択した namespace に属する Pod からクラスター外への Egress トラフィックは、これらの外部ゲートウェイ IP を介してルーティングされます。
object

1.4. BaselineAdminNetworkPolicy [policy.networking.k8s.io/v1alpha1]

説明
BaselineAdminNetworkPolicy は、AdminNetworkPolicy API を構成するクラスターレベルのリソースです。
object

1.5. CloudPrivateIPConfig [cloud.network.openshift.io/v1]

説明

CloudPrivateIPConfig は、クラウド仮想マシンに関連付けられたプライマリー NIC へのプライベート IP アドレスの割り当てを実行します。これは、IP と、IP の割当先となる Kubernetes ノードを指定することで実行されます。これは、クラスターネットワークを管理するネットワークプラグインによる使用を想定した CRD です。仕様側はネットワークプラグインが要求した状態を表し、ステータス側はこの CRD のコントローラーが実行した現在の状態を表します。これを変更する権限を持つユーザーはいません。cluster-admin が何らかの理由でこれを編集した場合、ネットワークプラグインが次にオブジェクトを調整したときに変更が上書きされます。注記: CR の名前は、要求されたプライベート IP アドレス (IPv4 または IPv6) を指定する必要があります。

互換性レベル 1: メジャーリリース内で最低 12 カ月または 3 つのマイナーリリース (どちらか長い方) の間 Stable です。

object

1.6. EgressFirewall [k8s.ovn.org/v1]

説明
EgressFirewall は、namespace の現在の Egress ファイアウォールを記述します。Pod からクラスター外部の IP アドレスへのトラフィックは、Pod の namespace の EgressFirewall 内の各 EgressFirewallRule に対して順番にチェックされます。一致するルールがない場合 (または EgressFirewall が存在しない場合)、デフォルトでトラフィックは許可されます。
object

1.7. EgressIP [k8s.ovn.org/v1]

説明
EgressIP は、仕様定義に従って EgressIP リソースに一致する任意の Pod から発信されるすべての Egress トラフィックに対し、固定ソース IP をユーザーが定義できるようにする CRD です。
object

1.8. EgressQoS [k8s.ovn.org/v1]

説明
EgressQoS は、ユーザーがその namespace 上の Pod の Egress トラフィックの DSCP 値を指定された CIDR に定義できるようにする CRD です。これらの Pod からのトラフィックは、namespace の EgressQoS 内の各 EgressQoSRule に対してチェックされ、一致する場合は、トラフィックに関連する DSCP 値がそのトラフィックにマークされます。
object

1.9. EgressService [k8s.ovn.org/v1]

説明
EgressService は、対応する LoadBalancer サービスのエンドポイントであるすべての Pod から送信される Egress パケットの送信元 IP がその Ingress IP になるようにユーザーが要求できるようにするための CRD です。ユーザーはこれを使用して、LoadBalancer サービスのエンドポイントであるすべての Pod から送信される Egress パケットが、メインネットワークとは異なるネットワークを使用するように要求することもできます。
object

1.10. Endpoints [v1]

説明

エンドポイントは、実際のサービスを実装するエンドポイントのコレクションです。以下に例を示します。

 Name: "mysvc",
 Subsets: [
   {
     Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}],
     Ports: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}]
   },
   {
     Addresses: [{"ip": "10.10.3.3"}],
     Ports: [{"name": "a", "port": 93}, {"name": "b", "port": 76}]
   },
]
Copy to Clipboard Toggle word wrap
object

1.11. EndpointSlice [discovery.k8s.io/v1]

説明
EndpointSlice は、サービスを実装するエンドポイントのサブセットを表します。特定のサービスでは、ラベルによって選択された複数の EndpointSlice オブジェクトが存在する場合があります。これらのオブジェクトは、エンドポイントの完全なセットを生成するために結合する必要があります。
object

1.12. EgressRouter [network.operator.openshift.io/v1]

説明

EgressRouter は、Pod と外部システム間のブリッジとして機能するスロールーターをユーザーが定義できるようにする機能です。スロールーターは、Pod または Pod のグループから発信された出力トラフィックを、設定に従ってリモートの外部システムまたは複数の宛先にリダイレクトするサービスを実行します。

これは、cluster-network-operator によって消費されます。より具体的に、<name> を持つ EgressRouter CR がある場合、CNO は以下を作成し、管理します。<name> と呼ばれるサービス - <name> と呼ばれる Egress Pod - <name> と呼ばれる NAD

互換性レベル 1: メジャーリリース内で最低 12 カ月または 3 つのマイナーリリース (どちらか長い方) で安定しています。

EgressRouter は、単一の egressrouter Pod 設定オブジェクトです。

object

1.13. GRPCRoute [gateway.networking.k8s.io/v1]

説明

GRPCRoute は、gRPC 要求のルーティングに使用できます。これには、ホスト名、gRPC サービス、gRPC メソッド、または HTTP/2 ヘッダーで要求を照合する機能が含まれています。フィルターを使用して追加の処理ステップを指定できます。バックエンドは、一致する要求がルーティングされる場所を指定します。

GRPCRoute は、Gateway API 内の延長サポートの対象です。以下の仕様では、"〜する必要がある" という表現は、GRPCRoute をサポートする実装は示された要件に準拠する必要があることを示しています。ただし、このルートタイプをサポートしない実装は、明示的に示されない限り、要件に従う必要はありません。

HTTPS ProtocolType を使用して GRPCRoute をサポートする実装は、HTTP/1.1 からの初期アップグレードなし (つまり ALPN 経由) で HTTP/2 接続を受け入れる必要があります。実装がこれをサポートしていない場合は、影響を受けるリスナーの "Accepted" 条件を "False" に設定し、理由を "UnsupportedProtocol" にする必要があります。実装では、HTTP/1 からのアップグレードにより HTTP/2 接続も受け入れる場合があります。

HTTP ProtocolTypeGRPCRoute をサポートする実装は、HTTP/1.1 からの初期アップグレードなし (つまり事前の知識なし https://www.rfc-editor.org/rfc/rfc7540#section-3.4) で、クリアテキスト TCP 経由の HTTP/2 (h2c、https://www.rfc-editor.org/rfc/rfc7540#section-3.1) をサポートする必要があります。実装がこれをサポートしていない場合は、影響を受けるリスナーの "Accepted" 条件を "False" に設定し、理由を "UnsupportedProtocol" にする必要があります。実装では、事前の知識なしで、HTTP/1 からのアップグレードにより HTTP/2 接続を受け入れる場合もあります。

object

1.14. Gateway [gateway.networking.k8s.io/v1]

説明
Gateway は、リスナーを IP アドレスのセットにバインドして、サービストラフィック処理インフラストラクチャーのインスタンスを表します。
object

1.15. GatewayClass [gateway.networking.k8s.io/v1]

説明

GatewayClass は、ユーザーが Gateway リソースを作成するために使用できる Gateway のクラスを記述します。

このリソースを Gateway のテンプレートとして使用することが推奨されます。つまり、Gateway は作成時点の GatewayClass の状態に基づいており、GatewayClass または関連パラメーターへの変更は既存の Gateway に伝播されません。この推奨事項は、GatewayClass または関連パラメーターへの変更の影響範囲を制限することを目的としています。実装で GatewayClass の変更を既存の Gateway に伝播することを選択した場合は、そのことが実装に明確に文書化されている必要があります。

1 つ以上の Gateway が GatewayClass を使用している場合、実装では関連する GatewayClass に gateway-exists-finalizer.gateway.networking.k8s.io ファイナライザーを必ず追加する必要があります。そうすることで、Gateway に関連付けられた GatewayClass が使用中に削除されることはなくなります。

GatewayClass はクラスターレベルのリソースです。

object

1.16. HTTPRoute [gateway.networking.k8s.io/v1]

説明
HTTPRoute は、HTTP 要求をルーティングするために使用できます。これには、ホスト名、パス、ヘッダー、またはクエリーパラメーターで要求を照合する機能が含まれます。フィルターを使用して追加の処理ステップを指定できます。バックエンドは、一致する要求のルーティング先を指定します。
object

1.17. Ingress [networking.k8s.io/v1]

説明
Ingress は、インバウンド接続がバックエンドによって定義されたエンドポイントに到達できるようにするルールのコレクションです。Ingress は、サービスに外部から到達可能な URL を提供し、トラフィックの負荷を分散し、SSL を終了し、名前ベースの仮想ホスティングを提供するように設定できます。
object

1.18. IngressClass [networking.k8s.io/v1]

説明
IngressClass は、Ingress 仕様によって参照される Ingress のクラスを表します。ingressclass.kubernetes.io/is-default-class アノテーションを使用して、IngressClass をデフォルトと見なす必要があることを示すことができます。単一の IngressClass リソースでこのアノテーションが true に設定されている場合、クラスが指定されていない新しい Ingress リソースには、このデフォルトクラスが割り当てられます。
object

1.19. IPAMClaim [k8s.cni.cncf.io/v1alpha1]

説明
IPAMClaim は IPAMClaim API のスキーマです
object

1.20. IPPool [whereabouts.cni.cncf.io/v1alpha1]

説明
IPPool は ippools API のスキーマです
object

1.21. MultiNetworkPolicy [k8s.cni.cncf.io/v1beta1]

説明
MultiNetworkPolicy は、Network Plumbing Working Group によって指定される net-attach-def の NetworkPolicy メカニズムを提供する CRD スキーマです。MultiNetworkPolicy は Kubernetes NetworkPolicy と同じです。https://kubernetes.io/docs/concepts/services-networking/network-policies/ を参照してください。
object

1.22. NetworkAttachmentDefinition [k8s.cni.cncf.io/v1]

説明
NetworkAttachmentDefinition は、Pod を 1 つ以上の論理ネットワークまたは物理ネットワークに接続する意図を表すためにネットワーク配管作業グループによって指定された CRD スキーマです。詳細は、https://github.com/k8snetworkplumbingwg/multi-net-spec をご覧ください。
object

1.23. NetworkPolicy [networking.k8s.io/v1]

説明
NetworkPolicy は、一連の Pod で許可されるネットワークトラフィックを記述します
object

1.24. NodeSlicePool [whereabouts.cni.cncf.io/v1alpha1]

説明
NodeSlicePool は nodesliceippools API のスキーマです。
object

1.25. OverlappingRangeIPReservation [whereabouts.cni.cncf.io/v1alpha1]

説明
OverlappingRangeIPReservation は OverlappingRangeIPReservations API のスキーマです
object

1.26. PodNetworkConnectivityCheck [controlplane.operator.openshift.io/v1alpha1]

説明

PodNetworkConnectivityCheck

互換性レベル 4: 互換性は提供されていません。API は、理由を問わずいつでも変更できます。これらの機能は、長期サポートを必要とするアプリケーションで使用することはできません。

object

1.27. ReferenceGrant [gateway.networking.k8s.io/v1beta1]

説明

ReferenceGrant は、ポリシーと同じ namespace 内の指定された種類のリソースを参照することが信頼されている、他の namespace 内のリソースの種類を特定します。

各 ReferenceGrant は、一意の信頼関係を表すために使用できます。追加の Reference Grant を使用すると、定義先の namespace のインバウンド参照の信頼済みソースセットに追加できます。

Gateway API 内の namespace をまたいだすべての参照 (namespace をまたぐ Gateway とルートの接続を除く) には、ReferenceGrant が必要です。

ReferenceGrant は、namespace をまたぐ許可済みのオブジェクト参照をユーザーがアサートできるようにする実行時検証の形式です。ReferenceGrant をサポートする実装では、許可がない namespace をまたぐ参照を許可してはなりません。また、許可が削除された場合は、その許可に基づくアクセスを取り消すことで応答する必要があります。

object

1.28. Route [route.openshift.io/v1]

説明

ルートを使用すると、開発者は HTTP(S) 対応の負荷分散とパブリック DNS エントリーを介したプロキシー階層を介してサービスを公開できます。ルートは、TLS オプションと証明書をさらに指定するか、ルーターが HTTP および HTTPS トラフィックに対しても受け入れる必要があるパブリック CNAME を指定する場合があります。管理者は通常、ルーターをクラスターファイアウォールの外側に表示されるように設定し、サービスコンテンツにセキュリティー、キャッシュ、またはトラフィック制御を追加する場合もあります。ルーターは通常、サービスエンドポイントと直接通信します。

ルートが作成されると、host フィールドは変更されない場合があります。通常、ルーターは、競合を解決するときに、特定のホストで最も古いルートを使用します。

ルーターは追加のカスタマイズの対象であり、アノテーションフィールドを介して追加の制御をサポートする場合があります。

管理者は複数のルーターを設定できるため、ルートステータスフィールドは、各ルーターの下のルートの名前と状態に関する情報をクライアントに返すために使用されます。たとえば、クライアントが重複した名前を選択した場合、ルートステータス条件を使用して、ルートを選択できないことを示します。

ルートで HTTP/2 ALPN を有効にするには、カスタム (非ワイルドカード) 証明書が必要です。これにより、クライアント、特に Web ブラウザーによる接続の結合が防止されます。接続の再利用/結合のリスクがあるため、デフォルトの証明書を使用するルートでは HTTP/2ALPN をサポートしていません。そのため、独自のカスタム証明書を持たないルートは、フロントエンドまたはバックエンドのいずれかで HTTP/2 ALPN で有効にされません。

互換性レベル 1: メジャーリリース内で最低 12 カ月または 3 つのマイナーリリース (どちらか長い方) の間 Stable です。

object

1.29. Service [v1]

説明
サービスは、プロキシーがリッスンするローカルポート (たとえば 3306) と、プロキシーを介して送信された要求に応答する Pod を決定するセレクターで構成されるソフトウェアサービス (たとえば、mysql) の名前付き抽象化です。
object

1.30. UserDefinedNetwork [k8s.ovn.org/v1]

説明
UserDefinedNetwork は、Namespace のネットワーク要求を記述します。
object

第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 の条件のタイプ。

2.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/k8s.ovn.org/v1/clusteruserdefinednetworks

    • DELETE: ClusterUserDefinedNetwork のコレクションを削除します
    • GET: kind である ClusterUserDefinedNetwork のオブジェクトをリスト表示します
    • POST: ClusterUserDefinedNetwork を作成します
  • /apis/k8s.ovn.org/v1/clusteruserdefinednetworks/{name}

    • DELETE: ClusterUserDefinedNetwork を削除します
    • GET: 指定された ClusterUserDefinedNetwork を読み取ります
    • PATCH: 指定された ClusterUserDefinedNetwork を部分的に更新します
    • PUT: 指定された ClusterUserDefinedNetwork を置き換えます
  • /apis/k8s.ovn.org/v1/clusteruserdefinednetworks/{name}/status

    • GET: 指定された ClusterUserDefinedNetwork のステータスを読み取ります
    • PATCH: 指定された ClusterUserDefinedNetwork のステータスを部分的に更新します
    • PUT: 指定された ClusterUserDefinedNetwork のステータスを置き換えます

2.2.1. /apis/k8s.ovn.org/v1/clusteruserdefinednetworks

HTTP メソッド
DELETE
説明
ClusterUserDefinedNetwork のコレクションを削除します
Expand
表2.1 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
kind である ClusterUserDefinedNetwork のオブジェクトをリスト表示します
Expand
表2.2 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

ClusterUserDefinedNetworkList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
ClusterUserDefinedNetwork を作成します
Expand
表2.3 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表2.4 本文パラメーター
パラメーター説明

body

ClusterUserDefinedNetwork スキーマ

 
Expand
表2.5 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

ClusterUserDefinedNetwork スキーマ

201 - Created

ClusterUserDefinedNetwork スキーマ

202 - Accepted

ClusterUserDefinedNetwork スキーマ

401 - Unauthorized

空白

2.2.2. /apis/k8s.ovn.org/v1/clusteruserdefinednetworks/{name}

Expand
表2.6 グローバルパスパラメーター
パラメーター説明

name

string

ClusterUserDefinedNetwork の名前

HTTP メソッド
DELETE
説明
ClusterUserDefinedNetwork を削除します
Expand
表2.7 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表2.8 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された ClusterUserDefinedNetwork を読み取ります
Expand
表2.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

ClusterUserDefinedNetwork スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された ClusterUserDefinedNetwork を部分的に更新します
Expand
表2.10 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表2.11 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

ClusterUserDefinedNetwork スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された ClusterUserDefinedNetwork を置き換えます
Expand
表2.12 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表2.13 本文パラメーター
パラメーター説明

body

ClusterUserDefinedNetwork スキーマ

 
Expand
表2.14 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

ClusterUserDefinedNetwork スキーマ

201 - Created

ClusterUserDefinedNetwork スキーマ

401 - Unauthorized

空白

2.2.3. /apis/k8s.ovn.org/v1/clusteruserdefinednetworks/{name}/status

Expand
表2.15 グローバルパスパラメーター
パラメーター説明

name

string

ClusterUserDefinedNetwork の名前

HTTP メソッド
GET
説明
指定された ClusterUserDefinedNetwork のステータスを読み取ります
Expand
表2.16 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

ClusterUserDefinedNetwork スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された ClusterUserDefinedNetwork のステータスを部分的に更新します
Expand
表2.17 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表2.18 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

ClusterUserDefinedNetwork スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された ClusterUserDefinedNetwork のステータスを置き換えます
Expand
表2.19 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表2.20 本文パラメーター
パラメーター説明

body

ClusterUserDefinedNetwork スキーマ

 
Expand
表2.21 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

ClusterUserDefinedNetwork スキーマ

201 - Created

ClusterUserDefinedNetwork スキーマ

401 - Unauthorized

空白

第3章 AdminNetworkPolicy [policy.networking.k8s.io/v1alpha1]

説明
AdminNetworkPolicy は、AdminNetworkPolicy API を構成するクラスターレベルのリソースです。
object
必須
  • metadata
  • spec

3.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

AdminNetworkPolicy に期待される動作の仕様。

status

object

実装によって報告されるステータスです。

3.1.1. .spec

説明
AdminNetworkPolicy に期待される動作の仕様。
object
必須
  • priority
  • subject
Expand
プロパティー説明

egress

array

Egress は、選択した Pod に適用される Egress ルールのリストです。各 ANP インスタンスでは合計 100 個のルールが許可されます。1 つの ANP オブジェクト内の Egress ルール (すべてが優先順位を共有) の相対的な優先度は、ルールが記述された順序によって決まります。したがって、Egress ルールの最初に表示されるルールの優先度が最も高くなります。Egress ルールがない ANP は Egress トラフィックに影響を与えません。

サポート: Core

egress[]

object

AdminNetworkPolicyEgressRule は、AdminNetworkPolicy の Subject フィールドで選択された Pod から送信される特定のトラフィックセットに対して実行するアクションを記述します。<network-policy-api:experimental:validation>

ingress

array

Ingress は、選択した Pod に適用される Ingress ルールのリストです。各 ANP インスタンスでは合計 100 個のルールが許可されます。1 つの ANP オブジェクト内の Ingress ルール (すべてが優先順位を共有) の相対的な優先度は、ルールが記述された順序によって決まります。したがって、Ingress ルールの最初に表示されるルールの優先度が最も高くなります。Ingress ルールがない ANP は Ingress トラフィックに影響を与えません。

サポート: Core

ingress[]

object

AdminNetworkPolicyIngressRule は、AdminNetworkPolicy の Subject フィールドで選択された Pod 宛ての特定のトラフィックセットに対して実行するアクションを記述します。

priority

integer

優先順位は 0 から 1000 までの値で表されます。優先順位の値が低いルールの方が優先度が高く、優先順位の値が高いルールよりも先にチェックされます。すべての AdminNetworkPolicy ルールの優先度は、NetworkPolicy ルールまたは BaselineAdminNetworkPolicy ルールよりも高くなります。2 つの ANP オブジェクトの優先順位が同じ場合、動作は定義されません。

サポート: Core

subject

object

subject は、この AdminNetworkPolicy が適用される Pod を定義します。ホストネットワーク化された Pod は subject の選択肢に含まれないことに注意してください。

サポート: Core

3.1.2. .spec.egress

説明

Egress は、選択した Pod に適用される Egress ルールのリストです。各 ANP インスタンスでは合計 100 個のルールが許可されます。1 つの ANP オブジェクト内の Egress ルール (すべてが優先順位を共有) の相対的な優先度は、ルールが記述された順序によって決まります。したがって、Egress ルールの最初に表示されるルールの優先度が最も高くなります。Egress ルールがない ANP は Egress トラフィックに影響を与えません。

サポート: Core

array

3.1.3. .spec.egress[]

説明
AdminNetworkPolicyEgressRule は、AdminNetworkPolicy の Subject フィールドで選択された Pod から送信される特定のトラフィックセットに対して実行するアクションを記述します。<network-policy-api:experimental:validation>
object
必須
  • action
  • to
Expand
プロパティー説明

action

string

action は、一致するトラフィックに対してこのルールが与える影響を指定します。現在サポートされているアクション: Allow: 選択したトラフィックを許可します (NetworkPolicy により拒否される場合を含む)、Deny: 選択したトラフィックを拒否します、Pass: 選択したトラフィックに残りの ANP ルールをスキップするように指示し、その Pod を選択する NetworkPolicies に実行を渡します。Pod がいずれの NetworkPolicies でも選択されていない場合、その Pod を選択する BaselineAdminNetworkPolicies に実行が渡されます。

サポート: Core

name

string

name はこのルールの識別子であり、文字数は 100 文字以下とします。このフィールドは、適用された AdminNetworkPolicies の可観測性、可読性、およびエラー報告を改善するために、実装が使用します。

サポート: Core

ports

array

ports は、ポートとプロトコルに基づいてトラフィックを照合するために使用できます。このフィールドは、送信される Egress トラフィックの宛先ポートのリストです。ports が設定されていない場合、ルールはポート経由のトラフィックをフィルタリングしません。

サポート: Core

ports[]

object

AdminNetworkPolicyPort は、Pod 上のネットワークポートの選択方法を記述します。必ず 1 つのフィールドを設定する必要があります。

to

array

to は、このルールが適用されるトラフィックの宛先のリストです。いずれかの AdminNetworkPolicyEgressPeer が送信トラフィックの宛先と一致する場合、指定されたアクションが適用されます。このフィールドは、少なくとも 1 つの項目を指定して定義されている必要があります。

サポート: Core

to[]

object

AdminNetworkPolicyEgressPeer は、トラフィックを許可するピアを定義します。特定のピアに対して、セレクターポインターを 1 つだけ設定する必要があります。いずれのフィールドも設定されていないことに気付いたコンシューマーは、未知のオプションが指定されてフェイルクローズが発生したと想定しなければなりません。

3.1.4. .spec.egress[].ports

説明

ports は、ポートとプロトコルに基づいてトラフィックを照合するために使用できます。このフィールドは、送信される Egress トラフィックの宛先ポートのリストです。ports が設定されていない場合、ルールはポート経由のトラフィックをフィルタリングしません。

サポート: Core

array

3.1.5. .spec.egress[].ports[]

説明
AdminNetworkPolicyPort は、Pod 上のネットワークポートの選択方法を記述します。必ず 1 つのフィールドを設定する必要があります。
object
Expand
プロパティー説明

namedPort

string

NamedPort は、名前に基づいて Pod 上のポートを選択します。

サポート: Extended

<network-policy-api:experimental>

portNumber

object

ポートは番号に基づいて Pod 上のポートを選択します。

サポート: Core

portRange

object

PortRange は、指定された開始値と終了値に基づいて Pod 上のポート範囲を選択します。

サポート: Core

3.1.6. .spec.egress[].ports[].portNumber

説明

ポートは番号に基づいて Pod 上のポートを選択します。

サポート: Core

object
必須
  • port
  • protocol
Expand
プロパティー説明

port

integer

この数値はネットワークポート値を定義します。

サポート: Core

protocol

string

protocol は、トラフィックが一致する必要があるネットワークプロトコル (TCP、UDP、または SCTP) です。指定しない場合、このフィールドのデフォルトは TCP です。

サポート: Core

3.1.7. .spec.egress[].ports[].portRange

説明

PortRange は、指定された開始値と終了値に基づいて Pod 上のポート範囲を選択します。

サポート: Core

object
必須
  • end
  • start
Expand
プロパティー説明

end

integer

end はポート範囲の終了となるネットワークポートを定義します。end の値には start の値より大きい数値を指定する必要があります。

サポート: Core

protocol

string

protocol は、トラフィックが一致する必要があるネットワークプロトコル (TCP、UDP、または SCTP) です。指定しない場合、このフィールドのデフォルトは TCP です。

サポート: Core

start

integer

start はポート範囲の開始となるネットワークポートを定義します。start の値には end の値より大きい数値を指定する必要があります。

サポート: Core

3.1.8. .spec.egress[].to

説明

to は、このルールが適用されるトラフィックの宛先のリストです。いずれかの AdminNetworkPolicyEgressPeer が送信トラフィックの宛先と一致する場合、指定されたアクションが適用されます。このフィールドは、少なくとも 1 つの項目を指定して定義されている必要があります。

サポート: Core

array

3.1.9. .spec.egress[].to[]

説明
AdminNetworkPolicyEgressPeer は、トラフィックを許可するピアを定義します。特定のピアに対して、セレクターポインターを 1 つだけ設定する必要があります。いずれのフィールドも設定されていないことに気付いたコンシューマーは、未知のオプションが指定されてフェイルクローズが発生したと想定しなければなりません。
object
Expand
プロパティー説明

namespaces

object

namespaces は、一連の namespace 内のすべての Pod を選択する方法を定義します。ホストネットワーク化された Pod はこのタイプのピアには含まれないことに注意してください。

サポート: Core

networks

array (string)

networks は、CIDR ブロックを介してピアを選択する方法を定義します。これは、Pod、namespace、ノードピアが選択できないクラスター外のエンティティーを表すために使用しますが、クラスター内部のトラフィックもルールに対してチェックされることに注意してください。つまり、"0.0.0.0/0" へのトラフィックを許可または拒否すると、IPv4 Pod 間トラフィックもすべて許可または拒否されます。そうされないようにするには、networks ルールの前にすべての Pod トラフィックに Passes を適用するルールを追加します。

networks 内の各項目は CIDR 形式で指定する必要があり、IPv4 または IPv6 である必要があります (例: "10.0.0.0/8" または "fd00::/8")。

networks には最大 25 個の CIDR を指定できます。

サポート: Extended

<network-policy-api:experimental>

nodes

object

nodes は、クラスター内のノードセットを選択する方法を定義します。このフィールドは、標準のラベルセレクターセマンティクスに従います。存在するが空の場合、すべてのノードが選択されます。

サポート: Extended

<network-policy-api:experimental>

pods

object

Pods は、namespace セット内の Pod セットを選択する方法を定義します。ホストネットワーク化された Pod はこのタイプのピアには含まれないことに注意してください。

サポート: Core

3.1.10. .spec.egress[].to[].namespaces

説明

namespaces は、一連の namespace 内のすべての Pod を選択する方法を定義します。ホストネットワーク化された Pod はこのタイプのピアには含まれないことに注意してください。

サポート: Core

object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

3.1.11. .spec.egress[].to[].namespaces.matchExpressions

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

3.1.12. .spec.egress[].to[].namespaces.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

3.1.13. .spec.egress[].to[].nodes

説明

nodes は、クラスター内のノードセットを選択する方法を定義します。このフィールドは、標準のラベルセレクターセマンティクスに従います。存在するが空の場合、すべてのノードが選択されます。

サポート: Extended

<network-policy-api:experimental>

object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

3.1.14. .spec.egress[].to[].nodes.matchExpressions

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

3.1.15. .spec.egress[].to[].nodes.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

3.1.16. .spec.egress[].to[].pods

説明

Pods は、namespace セット内の Pod セットを選択する方法を定義します。ホストネットワーク化された Pod はこのタイプのピアには含まれないことに注意してください。

サポート: Core

object
必須
  • namespaceSelector
  • podSelector
Expand
プロパティー説明

namespaceSelector

object

NamespaceSelector は標準のラベルセレクターのセマンティクスに従います。空の場合は、すべての namespace が選択されます。

podSelector

object

PodSelector は、namespace 内の Pod を明示的に選択するために使用されます。空の場合、すべての Pod が選択されます。

3.1.17. .spec.egress[].to[].pods.namespaceSelector

説明
NamespaceSelector は標準のラベルセレクターのセマンティクスに従います。空の場合は、すべての namespace が選択されます。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

3.1.18. .spec.egress[].to[].pods.namespaceSelector.matchExpressions

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

3.1.19. .spec.egress[].to[].pods.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

3.1.20. .spec.egress[].to[].pods.podSelector

説明
PodSelector は、namespace 内の Pod を明示的に選択するために使用されます。空の場合、すべての Pod が選択されます。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

3.1.21. .spec.egress[].to[].pods.podSelector.matchExpressions

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

3.1.22. .spec.egress[].to[].pods.podSelector.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

3.1.23. .spec.ingress

説明

Ingress は、選択した Pod に適用される Ingress ルールのリストです。各 ANP インスタンスでは合計 100 個のルールが許可されます。1 つの ANP オブジェクト内の Ingress ルール (すべてが優先順位を共有) の相対的な優先度は、ルールが記述された順序によって決まります。したがって、Ingress ルールの最初に表示されるルールの優先度が最も高くなります。Ingress ルールがない ANP は Ingress トラフィックに影響を与えません。

サポート: Core

array

3.1.24. .spec.ingress[]

説明
AdminNetworkPolicyIngressRule は、AdminNetworkPolicy の Subject フィールドで選択された Pod 宛ての特定のトラフィックセットに対して実行するアクションを記述します。
object
必須
  • action
  • from
Expand
プロパティー説明

action

string

action は、一致するトラフィックに対してこのルールが与える影響を指定します。現在サポートされているアクション: Allow: 選択したトラフィックを許可します (NetworkPolicy により拒否される場合を含む)、Deny: 選択したトラフィックを拒否します、Pass: 選択したトラフィックに残りの ANP ルールをスキップするように指示し、その Pod を選択する NetworkPolicies に実行を渡します。Pod がいずれの NetworkPolicies でも選択されていない場合、その Pod を選択する BaselineAdminNetworkPolicies に実行が渡されます。

サポート: Core

from

array

from は、このルールが適用されるトラフィックのソースのリストです。いずれかの AdminNetworkPolicyIngressPeer が受信トラフィックのソースと一致する場合、指定されたアクションが適用されます。このフィールドは、少なくとも 1 つの項目を指定して定義されている必要があります。

サポート: Core

from[]

object

AdminNetworkPolicyIngressPeer は、トラフィックの送信元として許可するクラスター内ピアを定義します。特定のピアに対して、セレクターポインターを 1 つだけ設定する必要があります。いずれのフィールドも設定されていないことに気付いたコンシューマーは、未知のオプションが指定されてフェイルクローズが発生したと想定しなければなりません。

name

string

name はこのルールの識別子であり、文字数は 100 文字以下とします。このフィールドは、適用された AdminNetworkPolicies の可観測性、可読性、およびエラー報告を改善するために、実装が使用します。

サポート: Core

ports

array

ports は、ポートとプロトコルに基づいてトラフィックを照合するために使用できます。このフィールドは、このポリシーのために (つまりポリシーの対象として) 選択された Pod で一致する必要があるポートのリストです。これは、Ingress トラフィックの宛先ポートと一致します。ports が設定されていない場合、ルールはポート経由のトラフィックをフィルタリングしません。

サポート: Core

ports[]

object

AdminNetworkPolicyPort は、Pod 上のネットワークポートの選択方法を記述します。必ず 1 つのフィールドを設定する必要があります。

3.1.25. .spec.ingress[].from

説明

from は、このルールが適用されるトラフィックのソースのリストです。いずれかの AdminNetworkPolicyIngressPeer が受信トラフィックのソースと一致する場合、指定されたアクションが適用されます。このフィールドは、少なくとも 1 つの項目を指定して定義されている必要があります。

サポート: Core

array

3.1.26. .spec.ingress[].from[]

説明
AdminNetworkPolicyIngressPeer は、トラフィックの送信元として許可するクラスター内ピアを定義します。特定のピアに対して、セレクターポインターを 1 つだけ設定する必要があります。いずれのフィールドも設定されていないことに気付いたコンシューマーは、未知のオプションが指定されてフェイルクローズが発生したと想定しなければなりません。
object
Expand
プロパティー説明

namespaces

object

namespaces は、一連の namespace 内のすべての Pod を選択する方法を定義します。ホストネットワーク化された Pod はこのタイプのピアには含まれないことに注意してください。

サポート: Core

pods

object

Pods は、namespace セット内の Pod セットを選択する方法を定義します。ホストネットワーク化された Pod はこのタイプのピアには含まれないことに注意してください。

サポート: Core

3.1.27. .spec.ingress[].from[].namespaces

説明

namespaces は、一連の namespace 内のすべての Pod を選択する方法を定義します。ホストネットワーク化された Pod はこのタイプのピアには含まれないことに注意してください。

サポート: Core

object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

3.1.28. .spec.ingress[].from[].namespaces.matchExpressions

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

3.1.29. .spec.ingress[].from[].namespaces.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

3.1.30. .spec.ingress[].from[].pods

説明

Pods は、namespace セット内の Pod セットを選択する方法を定義します。ホストネットワーク化された Pod はこのタイプのピアには含まれないことに注意してください。

サポート: Core

object
必須
  • namespaceSelector
  • podSelector
Expand
プロパティー説明

namespaceSelector

object

NamespaceSelector は標準のラベルセレクターのセマンティクスに従います。空の場合は、すべての namespace が選択されます。

podSelector

object

PodSelector は、namespace 内の Pod を明示的に選択するために使用されます。空の場合、すべての Pod が選択されます。

3.1.31. .spec.ingress[].from[].pods.namespaceSelector

説明
NamespaceSelector は標準のラベルセレクターのセマンティクスに従います。空の場合は、すべての namespace が選択されます。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

3.1.32. .spec.ingress[].from[].pods.namespaceSelector.matchExpressions

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

3.1.33. .spec.ingress[].from[].pods.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

3.1.34. .spec.ingress[].from[].pods.podSelector

説明
PodSelector は、namespace 内の Pod を明示的に選択するために使用されます。空の場合、すべての Pod が選択されます。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

3.1.35. .spec.ingress[].from[].pods.podSelector.matchExpressions

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

3.1.36. .spec.ingress[].from[].pods.podSelector.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

3.1.37. .spec.ingress[].ports

説明

ports は、ポートとプロトコルに基づいてトラフィックを照合するために使用できます。このフィールドは、このポリシーのために (つまりポリシーの対象として) 選択された Pod で一致する必要があるポートのリストです。これは、Ingress トラフィックの宛先ポートと一致します。ports が設定されていない場合、ルールはポート経由のトラフィックをフィルタリングしません。

サポート: Core

array

3.1.38. .spec.ingress[].ports[]

説明
AdminNetworkPolicyPort は、Pod 上のネットワークポートの選択方法を記述します。必ず 1 つのフィールドを設定する必要があります。
object
Expand
プロパティー説明

namedPort

string

NamedPort は、名前に基づいて Pod 上のポートを選択します。

サポート: Extended

<network-policy-api:experimental>

portNumber

object

ポートは番号に基づいて Pod 上のポートを選択します。

サポート: Core

portRange

object

PortRange は、指定された開始値と終了値に基づいて Pod 上のポート範囲を選択します。

サポート: Core

3.1.39. .spec.ingress[].ports[].portNumber

説明

ポートは番号に基づいて Pod 上のポートを選択します。

サポート: Core

object
必須
  • port
  • protocol
Expand
プロパティー説明

port

integer

この数値はネットワークポート値を定義します。

サポート: Core

protocol

string

protocol は、トラフィックが一致する必要があるネットワークプロトコル (TCP、UDP、または SCTP) です。指定しない場合、このフィールドのデフォルトは TCP です。

サポート: Core

3.1.40. .spec.ingress[].ports[].portRange

説明

PortRange は、指定された開始値と終了値に基づいて Pod 上のポート範囲を選択します。

サポート: Core

object
必須
  • end
  • start
Expand
プロパティー説明

end

integer

end はポート範囲の終了となるネットワークポートを定義します。end の値には start の値より大きい数値を指定する必要があります。

サポート: Core

protocol

string

protocol は、トラフィックが一致する必要があるネットワークプロトコル (TCP、UDP、または SCTP) です。指定しない場合、このフィールドのデフォルトは TCP です。

サポート: Core

start

integer

start はポート範囲の開始となるネットワークポートを定義します。start の値には end の値より大きい数値を指定する必要があります。

サポート: Core

3.1.41. .spec.subject

説明

subject は、この AdminNetworkPolicy が適用される Pod を定義します。ホストネットワーク化された Pod は subject の選択肢に含まれないことに注意してください。

サポート: Core

object
Expand
プロパティー説明

namespaces

object

namespaces は、namespace セレクターを介して Pod を選択するために使用されます。

pods

object

pods は、namespace および Pod セレクターを介して Pod を選択するために使用されます。

3.1.42. .spec.subject.namespaces

説明
namespaces は、namespace セレクターを介して Pod を選択するために使用されます。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

3.1.43. .spec.subject.namespaces.matchExpressions

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

3.1.44. .spec.subject.namespaces.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

3.1.45. .spec.subject.pods

説明
pods は、namespace および Pod セレクターを介して Pod を選択するために使用されます。
object
必須
  • namespaceSelector
  • podSelector
Expand
プロパティー説明

namespaceSelector

object

NamespaceSelector は標準のラベルセレクターのセマンティクスに従います。空の場合は、すべての namespace が選択されます。

podSelector

object

PodSelector は、namespace 内の Pod を明示的に選択するために使用されます。空の場合、すべての Pod が選択されます。

3.1.46. .spec.subject.pods.namespaceSelector

説明
NamespaceSelector は標準のラベルセレクターのセマンティクスに従います。空の場合は、すべての namespace が選択されます。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

3.1.47. .spec.subject.pods.namespaceSelector.matchExpressions

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

3.1.48. .spec.subject.pods.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

3.1.49. .spec.subject.pods.podSelector

説明
PodSelector は、namespace 内の Pod を明示的に選択するために使用されます。空の場合、すべての Pod が選択されます。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

3.1.50. .spec.subject.pods.podSelector.matchExpressions

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

3.1.51. .spec.subject.pods.podSelector.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

3.1.52. .status

説明
実装によって報告されるステータスです。
object
必須
  • conditions
Expand
プロパティー説明

conditions

array

 

conditions[]

object

条件には、この API リソースの現在の状態の 1 つの側面の詳細が含まれています。--- この構造体は、フィールドパスの .status.conditions で配列として直接使用することを目的としています。以下に例を示します。

たとえば、次のように入力します。FooStatus struct{ // Represents the observations of a foo’s current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"

// other fields }

3.1.53. .status.conditions

説明
array

3.1.54. .status.conditions[]

説明

条件には、この API リソースの現在の状態の 1 つの側面の詳細が含まれています。--- この構造体は、フィールドパスの .status.conditions で配列として直接使用することを目的としています。以下に例を示します。

type FooStatus struct{
    // Represents the observations of a foo's current state.
    // Known .status.conditions.type are: "Available", "Progressing", and "Degraded"
    // +patchMergeKey=type
    // +patchStrategy=merge
    // +listType=map
    // +listMapKey=type
    Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
Copy to Clipboard Toggle word wrap
    // other fields
}
Copy to Clipboard Toggle word wrap
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 の条件のタイプ。--- 多くの.condition.type 値は、Available などのリソース全体で一貫していますが、任意の条件が役立つ可能性があるため (.node.status.conditions を参照)、競合を解消する機能が重要です。一致する正規表現は (dns1123SubdomainFmt/)?(qualifiedNameFmt) です。

3.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/policy.networking.k8s.io/v1alpha1/adminnetworkpolicies

    • DELETE: AdminNetworkPolicy のコレクションを削除します
    • GET: kind である AdminNetworkPolicy のオブジェクトをリスト表示します
    • POST: AdminNetworkPolicy を作成します
  • /apis/policy.networking.k8s.io/v1alpha1/adminnetworkpolicies/{name}

    • DELETE: AdminNetworkPolicy を削除します
    • GET: 指定された AdminNetworkPolicy を読み取ります
    • PATCH: 指定された AdminNetworkPolicy を部分的に更新します
    • PUT: 指定された AdminNetworkPolicy を置き換えます
  • /apis/policy.networking.k8s.io/v1alpha1/adminnetworkpolicies/{name}/status

    • GET: 指定された AdminNetworkPolicy のステータスを読み取ります
    • PATCH: 指定された AdminNetworkPolicy のステータスを部分的に更新します
    • PUT: 指定された AdminNetworkPolicy のステータスを置き換えます

3.2.1. /apis/policy.networking.k8s.io/v1alpha1/adminnetworkpolicies

HTTP メソッド
DELETE
説明
AdminNetworkPolicy のコレクションを削除します
Expand
表3.1 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
kind である AdminNetworkPolicy のオブジェクトをリスト表示します
Expand
表3.2 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

AdminNetworkPolicyList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
create an AdminNetworkPolicy
Expand
表3.3 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表3.4 本文パラメーター
パラメーター説明

body

AdminNetworkPolicy スキーマ

 
Expand
表3.5 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

AdminNetworkPolicy スキーマ

201 - Created

AdminNetworkPolicy スキーマ

202 - Accepted

AdminNetworkPolicy スキーマ

401 - Unauthorized

空白

3.2.2. /apis/policy.networking.k8s.io/v1alpha1/adminnetworkpolicies/{name}

Expand
表3.6 グローバルパスパラメーター
パラメーター説明

name

string

AdminNetworkPolicy の名前

HTTP メソッド
DELETE
説明
AdminNetworkPolicy を削除します
Expand
表3.7 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表3.8 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された AdminNetworkPolicy を読み取ります
Expand
表3.9 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

AdminNetworkPolicy スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された AdminNetworkPolicy を部分的に更新します
Expand
表3.10 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表3.11 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

AdminNetworkPolicy スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された AdminNetworkPolicy を置き換えます
Expand
表3.12 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表3.13 本文パラメーター
パラメーター説明

body

AdminNetworkPolicy スキーマ

 
Expand
表3.14 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

AdminNetworkPolicy スキーマ

201 - Created

AdminNetworkPolicy スキーマ

401 - Unauthorized

空白

3.2.3. /apis/policy.networking.k8s.io/v1alpha1/adminnetworkpolicies/{name}/status

Expand
表3.15 グローバルパスパラメーター
パラメーター説明

name

string

AdminNetworkPolicy の名前

HTTP メソッド
GET
説明
指定された AdminNetworkPolicy のステータスを読み取ります
Expand
表3.16 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

AdminNetworkPolicy スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された AdminNetworkPolicy のステータスを部分的に更新します
Expand
表3.17 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表3.18 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

AdminNetworkPolicy スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された AdminNetworkPolicy のステータスを置き換えます
Expand
表3.19 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表3.20 本文パラメーター
パラメーター説明

body

AdminNetworkPolicy スキーマ

 
Expand
表3.21 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

AdminNetworkPolicy スキーマ

201 - Created

AdminNetworkPolicy スキーマ

401 - Unauthorized

空白

第4章 AdminPolicyBasedExternalRoute [k8s.ovn.org/v1]

説明
AdminPolicyBasedExternalRoute は、クラスター管理者が、選択した namespace に含まれるすべての Pod に適用される外部ゲートウェイ IP のポリシーを設定できるようにする CRD です。選択した namespace に属する Pod からクラスター外への Egress トラフィックは、これらの外部ゲートウェイ IP を介してルーティングされます。
object
必須
  • spec

4.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

AdminPolicyBasedExternalRouteSpec は、AdminPolicyBasedExternalRoute の望ましい状態を定義します。

status

object

AdminPolicyBasedRouteStatus には、AdminPolicyBased ルートタイプで観測されたステータスが含まれます。

4.1.1. .spec

説明
AdminPolicyBasedExternalRouteSpec は、AdminPolicyBasedExternalRoute の望ましい状態を定義します。
object
必須
  • from
  • nextHops
Expand
プロパティー説明

from

object

from は、この CR へのターゲット namespace を決定するセレクターを定義します。

nextHops

object

NextHops は、静的ホップと動的ホップの 2 種類のホップを定義します。各ホップは少なくとも 1 つの外部ゲートウェイ IP を定義します。

4.1.2. .spec.from

説明
from は、この CR へのターゲット namespace を決定するセレクターを定義します。
object
必須
  • namespaceSelector
Expand
プロパティー説明

namespaceSelector

object

NamespaceSelector は、この CR がターゲットとする namespace を決定するために使用するセレクターを定義します。

4.1.3. .spec.from.namespaceSelector

説明
NamespaceSelector は、この CR がターゲットとする namespace を決定するために使用するセレクターを定義します。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

4.1.4. .spec.from.namespaceSelector.matchExpressions

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

4.1.5. .spec.from.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

4.1.6. .spec.nextHops

説明
NextHops は、静的ホップと動的ホップの 2 種類のホップを定義します。各ホップは少なくとも 1 つの外部ゲートウェイ IP を定義します。
object
Expand
プロパティー説明

dynamic

array

DynamicHops は DynamicHop のスライスを定義します。このフィールドは任意です。

dynamic[]

object

DynamicHop は、動的外部ゲートウェイインターフェイスの設定を定義します。これらのインターフェイスは、クラスター内に存在する Pod オブジェクトにラップされます。NetworkAttachmentName フィールドは、使用するゲートウェイ IP の取得時に使用する multus ネットワーク名を取得します。PodSelector と NamespaceSelector は必須フィールドです。

static

array

StaticHops は StaticHop のスライスを定義します。このフィールドは任意です。

static[]

object

StaticHop は、外部ゲートウェイインターフェイスとして機能する静的 IP の設定を定義します。IP フィールドは必須です。

4.1.7. .spec.nextHops.dynamic

説明
DynamicHops は DynamicHop のスライスを定義します。このフィールドは任意です。
array

4.1.8. .spec.nextHops.dynamic[]

説明
DynamicHop は、動的外部ゲートウェイインターフェイスの設定を定義します。これらのインターフェイスは、クラスター内に存在する Pod オブジェクトにラップされます。NetworkAttachmentName フィールドは、使用するゲートウェイ IP の取得時に使用する multus ネットワーク名を取得します。PodSelector と NamespaceSelector は必須フィールドです。
object
必須
  • namespaceSelector
  • podSelector
Expand
プロパティー説明

bfdEnabled

boolean

BFDEnabled は、インターフェイスが Bidirectional Forward Detection プロトコルを実装するかどうかを決定します。デフォルトは false です。

namespaceSelector

object

NamespaceSelector は、Pod ゲートウェイが配置されている namespace をフィルタリングするためのセレクターを定義します。

networkAttachmentName

string

NetworkAttachmentName は、ゲートウェイ IP として使用される Pod IP の取得時に使用する multus マルチネットワーク名を決定します。このフィールドが空の場合、ロジックでは、Pod が HostNetwork で設定され、ノードの IP をゲートウェイとして使用しているものと想定されます。

podSelector

object

PodSelector は、外部ゲートウェイである Pod をフィルタリングするためのセレクターを定義します。

4.1.9. .spec.nextHops.dynamic[].namespaceSelector

説明
NamespaceSelector は、Pod ゲートウェイが配置されている namespace をフィルタリングするためのセレクターを定義します。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

4.1.10. .spec.nextHops.dynamic[].namespaceSelector.matchExpressions

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

4.1.11. .spec.nextHops.dynamic[].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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

4.1.12. .spec.nextHops.dynamic[].podSelector

説明
PodSelector は、外部ゲートウェイである Pod をフィルタリングするためのセレクターを定義します。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

4.1.13. .spec.nextHops.dynamic[].podSelector.matchExpressions

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

4.1.14. .spec.nextHops.dynamic[].podSelector.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

4.1.15. .spec.nextHops.static

説明
StaticHops は StaticHop のスライスを定義します。このフィールドは任意です。
array

4.1.16. .spec.nextHops.static[]

説明
StaticHop は、外部ゲートウェイインターフェイスとして機能する静的 IP の設定を定義します。IP フィールドは必須です。
object
必須
  • ip
Expand
プロパティー説明

bfdEnabled

boolean

BFDEnabled は、インターフェイスが Bidirectional Forward Detection プロトコルを実装するかどうかを決定します。デフォルトは false です。

ip

string

IP は、Egress トラフィックに使用される静的 IP を定義します。IP は IPv4 または IPv6 のいずれかになります。

4.1.17. .status

説明
AdminPolicyBasedRouteStatus には、AdminPolicyBased ルートタイプで観測されたステータスが含まれます。
object
Expand
プロパティー説明

lastTransitionTime

string

最後に変更が適用された時刻を取得します。

messages

array (string)

オブジェクトのステータスに関する詳細を示す、人間が判読可能なメッセージの配列。

status

string

AdminPolicyBasedRoute リソースが正常に適用されたかどうかを簡潔に示します。

4.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/k8s.ovn.org/v1/adminpolicybasedexternalroutes

    • DELETE: AdminPolicyBasedExternalRoute のコレクションを削除します
    • GET: kind である AdminPolicyBasedExternalRoute のオブジェクトをリスト表示します
    • POST: AdminPolicyBasedExternalRoute を作成します
  • /apis/k8s.ovn.org/v1/adminpolicybasedexternalroutes/{name}

    • DELETE: AdminPolicyBasedExternalRoute を削除します
    • GET: 指定された AdminPolicyBasedExternalRoute を読み取ります
    • PATCH: 指定された AdminPolicyBasedExternalRoute を部分的に更新します
    • PUT: 指定された AdminPolicyBasedExternalRoute を置き換えます
  • /apis/k8s.ovn.org/v1/adminpolicybasedexternalroutes/{name}/status

    • GET: 指定された AdminPolicyBasedExternalRoute のステータスを読み取ります
    • PATCH: 指定された AdminPolicyBasedExternalRoute のステータスを部分的に更新します
    • PUT: 指定された AdminPolicyBasedExternalRoute のステータスを置き換えます

4.2.1. /apis/k8s.ovn.org/v1/adminpolicybasedexternalroutes

HTTP メソッド
DELETE
説明
delete collection of AdminPolicyBasedExternalRoute
Expand
表4.1 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
list objects of kind AdminPolicyBasedExternalRoute
Expand
表4.2 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

AdminPolicyBasedExternalRouteList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
create an AdminPolicyBasedExternalRoute
Expand
表4.3 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表4.4 本文パラメーター
パラメーター説明

body

AdminPolicyBasedExternalRoute schema

 
Expand
表4.5 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

AdminPolicyBasedExternalRoute schema

201 - Created

AdminPolicyBasedExternalRoute schema

202 - Accepted

AdminPolicyBasedExternalRoute schema

401 - Unauthorized

空白

4.2.2. /apis/k8s.ovn.org/v1/adminpolicybasedexternalroutes/{name}

Expand
表4.6 グローバルパスパラメーター
パラメーター説明

name

string

AdminPolicyBasedExternalRoute の名前

HTTP メソッド
DELETE
説明
delete an AdminPolicyBasedExternalRoute
Expand
表4.7 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表4.8 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された AdminPolicyBasedExternalRoute を読み取ります
Expand
表4.9 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

AdminPolicyBasedExternalRoute schema

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された AdminPolicyBasedExternalRoute を部分的に更新します
Expand
表4.10 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表4.11 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

AdminPolicyBasedExternalRoute schema

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された AdminPolicyBasedExternalRoute を置き換えます
Expand
表4.12 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表4.13 本文パラメーター
パラメーター説明

body

AdminPolicyBasedExternalRoute schema

 
Expand
表4.14 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

AdminPolicyBasedExternalRoute schema

201 - Created

AdminPolicyBasedExternalRoute schema

401 - Unauthorized

空白

4.2.3. /apis/k8s.ovn.org/v1/adminpolicybasedexternalroutes/{name}/status

Expand
表4.15 グローバルパスパラメーター
パラメーター説明

name

string

AdminPolicyBasedExternalRoute の名前

HTTP メソッド
GET
説明
指定された AdminPolicyBasedExternalRoute のステータスを読み取ります
Expand
表4.16 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

AdminPolicyBasedExternalRoute schema

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された AdminPolicyBasedExternalRoute のステータスを部分的に更新します
Expand
表4.17 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表4.18 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

AdminPolicyBasedExternalRoute schema

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された AdminPolicyBasedExternalRoute のステータスを置き換えます
Expand
表4.19 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表4.20 本文パラメーター
パラメーター説明

body

AdminPolicyBasedExternalRoute schema

 
Expand
表4.21 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

AdminPolicyBasedExternalRoute schema

201 - Created

AdminPolicyBasedExternalRoute schema

401 - Unauthorized

空白

第5章 BaselineAdminNetworkPolicy [policy.networking.k8s.io/v1alpha1]

説明
BaselineAdminNetworkPolicy は、AdminNetworkPolicy API を構成するクラスターレベルのリソースです。
object
必須
  • metadata
  • spec

5.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

BaselineAdminNetworkPolicy の期待される動作の仕様。

status

object

実装によって報告されるステータスです。

5.1.1. .spec

説明
BaselineAdminNetworkPolicy の期待される動作の仕様。
object
必須
  • subject
Expand
プロパティー説明

egress

array

Egress は、AdminNetworkPolicy または NetworkPolicy ルールに一致しない場合に、選択した Pod に適用される Egress ルールのリストです。BANP インスタンスごとに、合計 100 個の Egress ルールが許可されます。単一の BANP オブジェクト内の Egress ルールの相対的な優先度は、ルールが記述される順序によって決まります。したがって、Egress ルールの最初に表示されるルールの優先度が最も高くなります。Egress ルールがない BANP は Egress トラフィックに影響を与えません。

サポート: Core

egress[]

object

BaselineAdminNetworkPolicyEgressRule は、BaselineAdminNetworkPolicy の Subject フィールドで選択された Pod から送信される特定のトラフィックセットに対して実行するアクションを記述します。<network-policy-api:experimental:validation>

ingress

array

Ingress は、AdminNetworkPolicy または NetworkPolicy ルールに一致しない場合に、選択した Pod に適用される Ingress ルールのリストです。BANP インスタンスごとに、合計 100 個の Ingress ルールが許可されます。単一の BANP オブジェクト内の Ingress ルールの相対的な優先度は、ルールが記述される順序によって決まります。したがって、Ingress ルールの最初に表示されるルールの優先度が最も高くなります。Ingress ルールがない BANP は Ingress トラフィックに影響を与えません。

サポート: Core

ingress[]

object

BaselineAdminNetworkPolicyIngressRule は、BaselineAdminNetworkPolicy の Subject フィールドで選択された Pod 宛ての特定のトラフィックセットに対して実行するアクションを記述します。

subject

object

subject は、この BaselineAdminNetworkPolicy が適用される Pod を定義します。ホストネットワーク化された Pod は subject の選択肢に含まれないことに注意してください。

サポート: Core

5.1.2. .spec.egress

説明

Egress は、AdminNetworkPolicy または NetworkPolicy ルールに一致しない場合に、選択した Pod に適用される Egress ルールのリストです。BANP インスタンスごとに、合計 100 個の Egress ルールが許可されます。単一の BANP オブジェクト内の Egress ルールの相対的な優先度は、ルールが記述される順序によって決まります。したがって、Egress ルールの最初に表示されるルールの優先度が最も高くなります。Egress ルールがない BANP は Egress トラフィックに影響を与えません。

サポート: Core

array

5.1.3. .spec.egress[]

説明
BaselineAdminNetworkPolicyEgressRule は、BaselineAdminNetworkPolicy の Subject フィールドで選択された Pod から送信される特定のトラフィックセットに対して実行するアクションを記述します。<network-policy-api:experimental:validation>
object
必須
  • action
  • to
Expand
プロパティー説明

action

string

action は、一致するトラフィックに対してこのルールが与える影響を指定します。現在、次のアクションがサポートされています: Allow: 選択したトラフィックを許可します、Deny: 選択したトラフィックを拒否します

サポート: Core

name

string

name はこのルールの識別子であり、文字数は 100 文字以下とします。このフィールドは、適用された BaselineAdminNetworkPolicies の可観測性、可読性、およびエラー報告を改善するために、実装が使用します。

サポート: Core

ports

array

ports は、ポートとプロトコルに基づいてトラフィックを照合するために使用できます。このフィールドは、送信される Egress トラフィックの宛先ポートのリストです。ports が設定されていない場合、ルールはポート経由のトラフィックをフィルタリングしません。

ports[]

object

AdminNetworkPolicyPort は、Pod 上のネットワークポートの選択方法を記述します。必ず 1 つのフィールドを設定する必要があります。

to

array

to は、このルールが適用されるトラフィックの宛先のリストです。いずれかの AdminNetworkPolicyEgressPeer が送信トラフィックの宛先と一致する場合、指定されたアクションが適用されます。このフィールドは、少なくとも 1 つの項目を指定して定義されている必要があります。

サポート: Core

to[]

object

AdminNetworkPolicyEgressPeer は、トラフィックを許可するピアを定義します。特定のピアに対して、セレクターポインターを 1 つだけ設定する必要があります。いずれのフィールドも設定されていないことに気付いたコンシューマーは、未知のオプションが指定されてフェイルクローズが発生したと想定しなければなりません。

5.1.4. .spec.egress[].ports

説明
ports は、ポートとプロトコルに基づいてトラフィックを照合するために使用できます。このフィールドは、送信される Egress トラフィックの宛先ポートのリストです。ports が設定されていない場合、ルールはポート経由のトラフィックをフィルタリングしません。
array

5.1.5. .spec.egress[].ports[]

説明
AdminNetworkPolicyPort は、Pod 上のネットワークポートの選択方法を記述します。必ず 1 つのフィールドを設定する必要があります。
object
Expand
プロパティー説明

namedPort

string

NamedPort は、名前に基づいて Pod 上のポートを選択します。

サポート: Extended

<network-policy-api:experimental>

portNumber

object

ポートは番号に基づいて Pod 上のポートを選択します。

サポート: Core

portRange

object

PortRange は、指定された開始値と終了値に基づいて Pod 上のポート範囲を選択します。

サポート: Core

5.1.6. .spec.egress[].ports[].portNumber

説明

ポートは番号に基づいて Pod 上のポートを選択します。

サポート: Core

object
必須
  • port
  • protocol
Expand
プロパティー説明

port

integer

この数値はネットワークポート値を定義します。

サポート: Core

protocol

string

protocol は、トラフィックが一致する必要があるネットワークプロトコル (TCP、UDP、または SCTP) です。指定しない場合、このフィールドのデフォルトは TCP です。

サポート: Core

5.1.7. .spec.egress[].ports[].portRange

説明

PortRange は、指定された開始値と終了値に基づいて Pod 上のポート範囲を選択します。

サポート: Core

object
必須
  • end
  • start
Expand
プロパティー説明

end

integer

end はポート範囲の終了となるネットワークポートを定義します。end の値には start の値より大きい数値を指定する必要があります。

サポート: Core

protocol

string

protocol は、トラフィックが一致する必要があるネットワークプロトコル (TCP、UDP、または SCTP) です。指定しない場合、このフィールドのデフォルトは TCP です。

サポート: Core

start

integer

start はポート範囲の開始となるネットワークポートを定義します。start の値には end の値より大きい数値を指定する必要があります。

サポート: Core

5.1.8. .spec.egress[].to

説明

to は、このルールが適用されるトラフィックの宛先のリストです。いずれかの AdminNetworkPolicyEgressPeer が送信トラフィックの宛先と一致する場合、指定されたアクションが適用されます。このフィールドは、少なくとも 1 つの項目を指定して定義されている必要があります。

サポート: Core

array

5.1.9. .spec.egress[].to[]

説明
AdminNetworkPolicyEgressPeer は、トラフィックを許可するピアを定義します。特定のピアに対して、セレクターポインターを 1 つだけ設定する必要があります。いずれのフィールドも設定されていないことに気付いたコンシューマーは、未知のオプションが指定されてフェイルクローズが発生したと想定しなければなりません。
object
Expand
プロパティー説明

namespaces

object

namespaces は、一連の namespace 内のすべての Pod を選択する方法を定義します。ホストネットワーク化された Pod はこのタイプのピアには含まれないことに注意してください。

サポート: Core

networks

array (string)

networks は、CIDR ブロックを介してピアを選択する方法を定義します。これは、Pod、namespace、ノードピアが選択できないクラスター外のエンティティーを表すために使用しますが、クラスター内部のトラフィックもルールに対してチェックされることに注意してください。つまり、"0.0.0.0/0" へのトラフィックを許可または拒否すると、IPv4 Pod 間トラフィックもすべて許可または拒否されます。そうされないようにするには、networks ルールの前にすべての Pod トラフィックに Passes を適用するルールを追加します。

networks 内の各項目は CIDR 形式で指定する必要があり、IPv4 または IPv6 である必要があります (例: "10.0.0.0/8" または "fd00::/8")。

networks には最大 25 個の CIDR を指定できます。

サポート: Extended

<network-policy-api:experimental>

nodes

object

nodes は、クラスター内のノードセットを選択する方法を定義します。このフィールドは、標準のラベルセレクターセマンティクスに従います。存在するが空の場合、すべてのノードが選択されます。

サポート: Extended

<network-policy-api:experimental>

pods

object

Pods は、namespace セット内の Pod セットを選択する方法を定義します。ホストネットワーク化された Pod はこのタイプのピアには含まれないことに注意してください。

サポート: Core

5.1.10. .spec.egress[].to[].namespaces

説明

namespaces は、一連の namespace 内のすべての Pod を選択する方法を定義します。ホストネットワーク化された Pod はこのタイプのピアには含まれないことに注意してください。

サポート: Core

object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

5.1.11. .spec.egress[].to[].namespaces.matchExpressions

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

5.1.12. .spec.egress[].to[].namespaces.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

5.1.13. .spec.egress[].to[].nodes

説明

nodes は、クラスター内のノードセットを選択する方法を定義します。このフィールドは、標準のラベルセレクターセマンティクスに従います。存在するが空の場合、すべてのノードが選択されます。

サポート: Extended

<network-policy-api:experimental>

object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

5.1.14. .spec.egress[].to[].nodes.matchExpressions

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

5.1.15. .spec.egress[].to[].nodes.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

5.1.16. .spec.egress[].to[].pods

説明

Pods は、namespace セット内の Pod セットを選択する方法を定義します。ホストネットワーク化された Pod はこのタイプのピアには含まれないことに注意してください。

サポート: Core

object
必須
  • namespaceSelector
  • podSelector
Expand
プロパティー説明

namespaceSelector

object

NamespaceSelector は標準のラベルセレクターのセマンティクスに従います。空の場合は、すべての namespace が選択されます。

podSelector

object

PodSelector は、namespace 内の Pod を明示的に選択するために使用されます。空の場合、すべての Pod が選択されます。

5.1.17. .spec.egress[].to[].pods.namespaceSelector

説明
NamespaceSelector は標準のラベルセレクターのセマンティクスに従います。空の場合は、すべての namespace が選択されます。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

5.1.18. .spec.egress[].to[].pods.namespaceSelector.matchExpressions

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

5.1.19. .spec.egress[].to[].pods.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

5.1.20. .spec.egress[].to[].pods.podSelector

説明
PodSelector は、namespace 内の Pod を明示的に選択するために使用されます。空の場合、すべての Pod が選択されます。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

5.1.21. .spec.egress[].to[].pods.podSelector.matchExpressions

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

5.1.22. .spec.egress[].to[].pods.podSelector.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

5.1.23. .spec.ingress

説明

Ingress は、AdminNetworkPolicy または NetworkPolicy ルールに一致しない場合に、選択した Pod に適用される Ingress ルールのリストです。BANP インスタンスごとに、合計 100 個の Ingress ルールが許可されます。単一の BANP オブジェクト内の Ingress ルールの相対的な優先度は、ルールが記述される順序によって決まります。したがって、Ingress ルールの最初に表示されるルールの優先度が最も高くなります。Ingress ルールがない BANP は Ingress トラフィックに影響を与えません。

サポート: Core

array

5.1.24. .spec.ingress[]

説明
BaselineAdminNetworkPolicyIngressRule は、BaselineAdminNetworkPolicy の Subject フィールドで選択された Pod 宛ての特定のトラフィックセットに対して実行するアクションを記述します。
object
必須
  • action
  • from
Expand
プロパティー説明

action

string

action は、一致するトラフィックに対してこのルールが与える影響を指定します。現在、次のアクションがサポートされています: Allow: 選択したトラフィックを許可します、Deny: 選択したトラフィックを拒否します

サポート: Core

from

array

from は、このルールが適用されるトラフィックのソースのリストです。いずれかの AdminNetworkPolicyIngressPeer が受信トラフィックのソースと一致する場合、指定されたアクションが適用されます。このフィールドは、少なくとも 1 つの項目を指定して定義されている必要があります。

サポート: Core

from[]

object

AdminNetworkPolicyIngressPeer は、トラフィックの送信元として許可するクラスター内ピアを定義します。特定のピアに対して、セレクターポインターを 1 つだけ設定する必要があります。いずれのフィールドも設定されていないことに気付いたコンシューマーは、未知のオプションが指定されてフェイルクローズが発生したと想定しなければなりません。

name

string

name はこのルールの識別子であり、文字数は 100 文字以下とします。このフィールドは、適用された BaselineAdminNetworkPolicies の可観測性、可読性、およびエラー報告を改善するために、実装が使用します。

サポート: Core

ports

array

ports は、ポートとプロトコルに基づいてトラフィックを照合するために使用できます。このフィールドは、このポリシーのために (つまりポリシーの対象として) 選択された Pod で一致する必要があるポートのリストです。これは、Ingress トラフィックの宛先ポートと一致します。ports が設定されていない場合、ルールはポート経由のトラフィックをフィルタリングしません。

サポート: Core

ports[]

object

AdminNetworkPolicyPort は、Pod 上のネットワークポートの選択方法を記述します。必ず 1 つのフィールドを設定する必要があります。

5.1.25. .spec.ingress[].from

説明

from は、このルールが適用されるトラフィックのソースのリストです。いずれかの AdminNetworkPolicyIngressPeer が受信トラフィックのソースと一致する場合、指定されたアクションが適用されます。このフィールドは、少なくとも 1 つの項目を指定して定義されている必要があります。

サポート: Core

array

5.1.26. .spec.ingress[].from[]

説明
AdminNetworkPolicyIngressPeer は、トラフィックの送信元として許可するクラスター内ピアを定義します。特定のピアに対して、セレクターポインターを 1 つだけ設定する必要があります。いずれのフィールドも設定されていないことに気付いたコンシューマーは、未知のオプションが指定されてフェイルクローズが発生したと想定しなければなりません。
object
Expand
プロパティー説明

namespaces

object

namespaces は、一連の namespace 内のすべての Pod を選択する方法を定義します。ホストネットワーク化された Pod はこのタイプのピアには含まれないことに注意してください。

サポート: Core

pods

object

Pods は、namespace セット内の Pod セットを選択する方法を定義します。ホストネットワーク化された Pod はこのタイプのピアには含まれないことに注意してください。

サポート: Core

5.1.27. .spec.ingress[].from[].namespaces

説明

namespaces は、一連の namespace 内のすべての Pod を選択する方法を定義します。ホストネットワーク化された Pod はこのタイプのピアには含まれないことに注意してください。

サポート: Core

object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

5.1.28. .spec.ingress[].from[].namespaces.matchExpressions

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

5.1.29. .spec.ingress[].from[].namespaces.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

5.1.30. .spec.ingress[].from[].pods

説明

Pods は、namespace セット内の Pod セットを選択する方法を定義します。ホストネットワーク化された Pod はこのタイプのピアには含まれないことに注意してください。

サポート: Core

object
必須
  • namespaceSelector
  • podSelector
Expand
プロパティー説明

namespaceSelector

object

NamespaceSelector は標準のラベルセレクターのセマンティクスに従います。空の場合は、すべての namespace が選択されます。

podSelector

object

PodSelector は、namespace 内の Pod を明示的に選択するために使用されます。空の場合、すべての Pod が選択されます。

5.1.31. .spec.ingress[].from[].pods.namespaceSelector

説明
NamespaceSelector は標準のラベルセレクターのセマンティクスに従います。空の場合は、すべての namespace が選択されます。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

5.1.32. .spec.ingress[].from[].pods.namespaceSelector.matchExpressions

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

5.1.33. .spec.ingress[].from[].pods.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

5.1.34. .spec.ingress[].from[].pods.podSelector

説明
PodSelector は、namespace 内の Pod を明示的に選択するために使用されます。空の場合、すべての Pod が選択されます。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

5.1.35. .spec.ingress[].from[].pods.podSelector.matchExpressions

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

5.1.36. .spec.ingress[].from[].pods.podSelector.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

5.1.37. .spec.ingress[].ports

説明

ports は、ポートとプロトコルに基づいてトラフィックを照合するために使用できます。このフィールドは、このポリシーのために (つまりポリシーの対象として) 選択された Pod で一致する必要があるポートのリストです。これは、Ingress トラフィックの宛先ポートと一致します。ports が設定されていない場合、ルールはポート経由のトラフィックをフィルタリングしません。

サポート: Core

array

5.1.38. .spec.ingress[].ports[]

説明
AdminNetworkPolicyPort は、Pod 上のネットワークポートの選択方法を記述します。必ず 1 つのフィールドを設定する必要があります。
object
Expand
プロパティー説明

namedPort

string

NamedPort は、名前に基づいて Pod 上のポートを選択します。

サポート: Extended

<network-policy-api:experimental>

portNumber

object

ポートは番号に基づいて Pod 上のポートを選択します。

サポート: Core

portRange

object

PortRange は、指定された開始値と終了値に基づいて Pod 上のポート範囲を選択します。

サポート: Core

5.1.39. .spec.ingress[].ports[].portNumber

説明

ポートは番号に基づいて Pod 上のポートを選択します。

サポート: Core

object
必須
  • port
  • protocol
Expand
プロパティー説明

port

integer

この数値はネットワークポート値を定義します。

サポート: Core

protocol

string

protocol は、トラフィックが一致する必要があるネットワークプロトコル (TCP、UDP、または SCTP) です。指定しない場合、このフィールドのデフォルトは TCP です。

サポート: Core

5.1.40. .spec.ingress[].ports[].portRange

説明

PortRange は、指定された開始値と終了値に基づいて Pod 上のポート範囲を選択します。

サポート: Core

object
必須
  • end
  • start
Expand
プロパティー説明

end

integer

end はポート範囲の終了となるネットワークポートを定義します。end の値には start の値より大きい数値を指定する必要があります。

サポート: Core

protocol

string

protocol は、トラフィックが一致する必要があるネットワークプロトコル (TCP、UDP、または SCTP) です。指定しない場合、このフィールドのデフォルトは TCP です。

サポート: Core

start

integer

start はポート範囲の開始となるネットワークポートを定義します。start の値には end の値より大きい数値を指定する必要があります。

サポート: Core

5.1.41. .spec.subject

説明

subject は、この BaselineAdminNetworkPolicy が適用される Pod を定義します。ホストネットワーク化された Pod は subject の選択肢に含まれないことに注意してください。

サポート: Core

object
Expand
プロパティー説明

namespaces

object

namespaces は、namespace セレクターを介して Pod を選択するために使用されます。

pods

object

pods は、namespace および Pod セレクターを介して Pod を選択するために使用されます。

5.1.42. .spec.subject.namespaces

説明
namespaces は、namespace セレクターを介して Pod を選択するために使用されます。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

5.1.43. .spec.subject.namespaces.matchExpressions

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

5.1.44. .spec.subject.namespaces.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

5.1.45. .spec.subject.pods

説明
pods は、namespace および Pod セレクターを介して Pod を選択するために使用されます。
object
必須
  • namespaceSelector
  • podSelector
Expand
プロパティー説明

namespaceSelector

object

NamespaceSelector は標準のラベルセレクターのセマンティクスに従います。空の場合は、すべての namespace が選択されます。

podSelector

object

PodSelector は、namespace 内の Pod を明示的に選択するために使用されます。空の場合、すべての Pod が選択されます。

5.1.46. .spec.subject.pods.namespaceSelector

説明
NamespaceSelector は標準のラベルセレクターのセマンティクスに従います。空の場合は、すべての namespace が選択されます。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

5.1.47. .spec.subject.pods.namespaceSelector.matchExpressions

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

5.1.48. .spec.subject.pods.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

5.1.49. .spec.subject.pods.podSelector

説明
PodSelector は、namespace 内の Pod を明示的に選択するために使用されます。空の場合、すべての Pod が選択されます。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

5.1.50. .spec.subject.pods.podSelector.matchExpressions

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

5.1.51. .spec.subject.pods.podSelector.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

5.1.52. .status

説明
実装によって報告されるステータスです。
object
必須
  • conditions
Expand
プロパティー説明

conditions

array

 

conditions[]

object

条件には、この API リソースの現在の状態の 1 つの側面の詳細が含まれています。--- この構造体は、フィールドパスの .status.conditions で配列として直接使用することを目的としています。以下に例を示します。

たとえば、次のように入力します。FooStatus struct{ // Represents the observations of a foo’s current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"

// other fields }

5.1.53. .status.conditions

説明
array

5.1.54. .status.conditions[]

説明

条件には、この API リソースの現在の状態の 1 つの側面の詳細が含まれています。--- この構造体は、フィールドパスの .status.conditions で配列として直接使用することを目的としています。以下に例を示します。

type FooStatus struct{
    // Represents the observations of a foo's current state.
    // Known .status.conditions.type are: "Available", "Progressing", and "Degraded"
    // +patchMergeKey=type
    // +patchStrategy=merge
    // +listType=map
    // +listMapKey=type
    Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
Copy to Clipboard Toggle word wrap
    // other fields
}
Copy to Clipboard Toggle word wrap
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 の条件のタイプ。--- 多くの.condition.type 値は、Available などのリソース全体で一貫していますが、任意の条件が役立つ可能性があるため (.node.status.conditions を参照)、競合を解消する機能が重要です。一致する正規表現は (dns1123SubdomainFmt/)?(qualifiedNameFmt) です。

5.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/policy.networking.k8s.io/v1alpha1/baselineadminnetworkpolicies

    • DELETE: BaselineAdminNetworkPolicy のコレクションを削除します
    • GET: kind である BaselineAdminNetworkPolicy のオブジェクトをリスト表示します
    • POST: BaselineAdminNetworkPolicy を作成します
  • /apis/policy.networking.k8s.io/v1alpha1/baselineadminnetworkpolicies/{name}

    • DELETE: BaselineAdminNetworkPolicy を削除します
    • GET: 指定された BaselineAdminNetworkPolicy を読み取ります
    • PATCH: 指定された BaselineAdminNetworkPolicy を部分的に更新します
    • PUT: 指定された BaselineAdminNetworkPolicy を置き換えます
  • /apis/policy.networking.k8s.io/v1alpha1/baselineadminnetworkpolicies/{name}/status

    • GET: 指定された BaselineAdminNetworkPolicy のステータスを読み取ります
    • PATCH: 指定された BaselineAdminNetworkPolicy のステータスを部分的に更新します
    • PUT: 指定された BaselineAdminNetworkPolicy のステータスを置き換えます

5.2.1. /apis/policy.networking.k8s.io/v1alpha1/baselineadminnetworkpolicies

HTTP メソッド
DELETE
説明
BaselineAdminNetworkPolicy のコレクションを削除します
Expand
表5.1 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
BaselineAdminNetworkPolicy の種類のオブジェクトをリスト表示します
Expand
表5.2 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

BaselineAdminNetworkPolicyList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
BaselineAdminNetworkPolicy を作成します
Expand
表5.3 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表5.4 本文パラメーター
パラメーター説明

body

BaselineAdminNetworkPolicy スキーマ

 
Expand
表5.5 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

BaselineAdminNetworkPolicy スキーマ

201 - Created

BaselineAdminNetworkPolicy スキーマ

202 - Accepted

BaselineAdminNetworkPolicy スキーマ

401 - Unauthorized

空白

5.2.2. /apis/policy.networking.k8s.io/v1alpha1/baselineadminnetworkpolicies/{name}

Expand
表5.6 グローバルパスパラメーター
パラメーター説明

name

string

BaselineAdminNetworkPolicy の名前

HTTP メソッド
DELETE
説明
BaselineAdminNetworkPolicy を削除します
Expand
表5.7 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表5.8 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された BaselineAdminNetworkPolicy を読み取ります
Expand
表5.9 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

BaselineAdminNetworkPolicy スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された BaselineAdminNetworkPolicy を部分的に更新します
Expand
表5.10 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表5.11 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

BaselineAdminNetworkPolicy スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された BaselineAdminNetworkPolicy を置き換えます
Expand
表5.12 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表5.13 本文パラメーター
パラメーター説明

body

BaselineAdminNetworkPolicy スキーマ

 
Expand
表5.14 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

BaselineAdminNetworkPolicy スキーマ

201 - Created

BaselineAdminNetworkPolicy スキーマ

401 - Unauthorized

空白

5.2.3. /apis/policy.networking.k8s.io/v1alpha1/baselineadminnetworkpolicies/{name}/status

Expand
表5.15 グローバルパスパラメーター
パラメーター説明

name

string

BaselineAdminNetworkPolicy の名前

HTTP メソッド
GET
説明
指定された BaselineAdminNetworkPolicy のステータスを読み取ります
Expand
表5.16 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

BaselineAdminNetworkPolicy スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された BaselineAdminNetworkPolicy のステータスを部分的に更新します
Expand
表5.17 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表5.18 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

BaselineAdminNetworkPolicy スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された BaselineAdminNetworkPolicy のステータスを置き換えます
Expand
表5.19 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表5.20 本文パラメーター
パラメーター説明

body

BaselineAdminNetworkPolicy スキーマ

 
Expand
表5.21 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

BaselineAdminNetworkPolicy スキーマ

201 - Created

BaselineAdminNetworkPolicy スキーマ

401 - Unauthorized

空白

第6章 CloudPrivateIPConfig [cloud.network.openshift.io/v1]

説明

CloudPrivateIPConfig は、クラウド仮想マシンに関連付けられたプライマリー NIC へのプライベート IP アドレスの割り当てを実行します。これは、IP と、IP の割当先となる Kubernetes ノードを指定することで実行されます。これは、クラスターネットワークを管理するネットワークプラグインによる使用を想定した CRD です。仕様側はネットワークプラグインが要求した状態を表し、ステータス側はこの CRD のコントローラーが実行した現在の状態を表します。これを変更する権限を持つユーザーはいません。cluster-admin が何らかの理由でこれを編集した場合、ネットワークプラグインが次にオブジェクトを調整したときに変更が上書きされます。注記: CR の名前は、要求されたプライベート IP アドレス (IPv4 または IPv6) を指定する必要があります。

互換性レベル 1: メジャーリリース内で最低 12 カ月または 3 つのマイナーリリース (どちらか長い方) の間 Stable です。

object
必須
  • spec

6.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

spec は、プライベート IP 要求の定義です。

status

object

status は、プライベート IP 要求の監視ステータスです。read-only

6.1.1. .spec

説明
spec は、プライベート IP 要求の定義です。
object
Expand
プロパティー説明

node

string

node は Kubernetes フィールドで指定されたノード名です: node.metadata.name

6.1.2. .status

説明
status は、プライベート IP 要求の監視ステータスです。read-only
object
必須
  • conditions
Expand
プロパティー説明

conditions

array

conditions はプライベート IP の割り当て条件とそのステータスです

conditions[]

object

condition には、この API Resource の現在の状態のある側面の詳細が含まれます。

node

string

node は Kubernetes フィールドで指定されたノード名です: node.metadata.name

6.1.3. .status.conditions

説明
conditions はプライベート IP の割り当て条件とそのステータスです
array

6.1.4. .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 の条件のタイプ。

6.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/cloud.network.openshift.io/v1/cloudprivateipconfigs

    • DELETE: CloudPrivateIPConfig のコレクションを削除します
    • GET: kind である CloudPrivateIPConfig のオブジェクトをリスト表示します
    • POST: CloudPrivateIPConfig を作成します
  • /apis/cloud.network.openshift.io/v1/cloudprivateipconfigs/{name}

    • DELETE: CloudPrivateIPConfig を削除します
    • GET: 指定された CloudPrivateIPConfig を読み取ります
    • PATCH: 指定された CloudPrivateIPConfig を部分的に更新します
    • PUT: 指定された CloudPrivateIPConfig を置き換えます
  • /apis/cloud.network.openshift.io/v1/cloudprivateipconfigs/{name}/status

    • GET: 指定された CloudPrivateIPConfig のステータスを読み取ります
    • PATCH: 指定された CloudPrivateIPConfig のステータスを部分的に更新します
    • PUT: 指定された CloudPrivateIPConfig のステータスを置き換えます

6.2.1. /apis/cloud.network.openshift.io/v1/cloudprivateipconfigs

HTTP メソッド
DELETE
説明
CloudPrivateIPConfig のコレクションを削除します
Expand
表6.1 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
kind である CloudPrivateIPConfig のオブジェクトをリスト表示します
Expand
表6.2 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

CloudPrivateIPConfigList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
CloudPrivateIPConfig を作成します
Expand
表6.3 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表6.4 本文パラメーター
パラメーター説明

body

CloudPrivateIPConfig スキーマ

 
Expand
表6.5 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

CloudPrivateIPConfig スキーマ

201 - Created

CloudPrivateIPConfig スキーマ

202 - Accepted

CloudPrivateIPConfig スキーマ

401 - Unauthorized

空白

6.2.2. /apis/cloud.network.openshift.io/v1/cloudprivateipconfigs/{name}

Expand
表6.6 グローバルパスパラメーター
パラメーター説明

name

string

CloudPrivateIPConfig の名前

HTTP メソッド
DELETE
説明
CloudPrivateIPConfig を削除します
Expand
表6.7 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表6.8 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された CloudPrivateIPConfig を読み取ります
Expand
表6.9 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

CloudPrivateIPConfig スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された CloudPrivateIPConfig を部分的に更新します
Expand
表6.10 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表6.11 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

CloudPrivateIPConfig スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された CloudPrivateIPConfig を置き換えます
Expand
表6.12 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表6.13 本文パラメーター
パラメーター説明

body

CloudPrivateIPConfig スキーマ

 
Expand
表6.14 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

CloudPrivateIPConfig スキーマ

201 - Created

CloudPrivateIPConfig スキーマ

401 - Unauthorized

空白

6.2.3. /apis/cloud.network.openshift.io/v1/cloudprivateipconfigs/{name}/status

Expand
表6.15 グローバルパスパラメーター
パラメーター説明

name

string

CloudPrivateIPConfig の名前

HTTP メソッド
GET
説明
指定された CloudPrivateIPConfig のステータスを読み取ります
Expand
表6.16 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

CloudPrivateIPConfig スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された CloudPrivateIPConfig のステータスを部分的に更新します
Expand
表6.17 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表6.18 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

CloudPrivateIPConfig スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された CloudPrivateIPConfig のステータスを置き換えます
Expand
表6.19 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表6.20 本文パラメーター
パラメーター説明

body

CloudPrivateIPConfig スキーマ

 
Expand
表6.21 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

CloudPrivateIPConfig スキーマ

201 - Created

CloudPrivateIPConfig スキーマ

401 - Unauthorized

空白

第7章 EgressFirewall [k8s.ovn.org/v1]

説明
EgressFirewall は、namespace の現在の Egress ファイアウォールを記述します。Pod からクラスター外部の IP アドレスへのトラフィックは、Pod の namespace の EgressFirewall 内の各 EgressFirewallRule に対して順番にチェックされます。一致するルールがない場合 (または EgressFirewall が存在しない場合)、デフォルトでトラフィックは許可されます。
object
必須
  • spec

7.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

EgressFirewall の期待される動作の仕様。

status

object

EgressFirewall の観測されたステータス

7.1.1. .spec

説明
EgressFirewall の期待される動作の仕様。
object
必須
  • egress
Expand
プロパティー説明

egress

array

Egress ファイアウォールルールオブジェクトのコレクション

egress[]

object

EgressFirewallRule は単一の egressfirewall ルールオブジェクトです

7.1.2. .spec.egress

説明
Egress ファイアウォールルールオブジェクトのコレクション
array

7.1.3. .spec.egress[]

説明
EgressFirewallRule は単一の egressfirewall ルールオブジェクトです
object
必須
  • to
  • type
Expand
プロパティー説明

ports

array

ports はルールが適用されるポートとプロトコルを指定します

ports[]

object

EgressFirewallPort は、トラフィックを許可または拒否するポートを指定します

to

object

to は、トラフィックが許可/拒否されるターゲットです。

type

string

タイプはこれを "Allow" または "Deny" ルールとしてマークします

7.1.4. .spec.egress[].ports

説明
ports はルールが適用されるポートとプロトコルを指定します
array

7.1.5. .spec.egress[].ports[]

説明
EgressFirewallPort は、トラフィックを許可または拒否するポートを指定します
object
必須
  • port
  • protocol
Expand
プロパティー説明

port

integer

トラフィックが一致する必要があるポート

protocol

string

トラフィックが一致する必要があるプロトコル (tcp、udp、sctp)。

7.1.6. .spec.egress[].to

説明
to は、トラフィックが許可/拒否されるターゲットです。
object
Expand
プロパティー説明

cidrSelector

string

cidrSelector は、トラフィックを許可/拒否する CIDR 範囲です。これが設定されている場合、dnsName と nodeSelector は設定を解除する必要があります。

dnsName

string

dnsName は、トラフィックを許可/拒否するドメイン名です。これが設定されている場合、cidrSelector と nodeSelector は設定を解除する必要があります。ワイルドカード DNS 名の場合、'' は 1 つのラベルのみに一致します。さらに、1 つの '' はワイルドカード DNS 名の先頭に使用できます。たとえば、'*.example.com' は 'sub1.example.com' と一致しますが、'sub2.sub1.example.com' とは一致しません。

nodeSelector

object

nodeSelector は、選択されたノードの Kubernetes ノード IP へのトラフィックを許可/拒否します。これが設定されている場合、cidrSelector と DNSName は設定を解除する必要があります。

7.1.7. .spec.egress[].to.nodeSelector

説明
nodeSelector は、選択されたノードの Kubernetes ノード IP へのトラフィックを許可/拒否します。これが設定されている場合、cidrSelector と DNSName は設定を解除する必要があります。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

7.1.8. .spec.egress[].to.nodeSelector.matchExpressions

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

7.1.9. .spec.egress[].to.nodeSelector.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

7.1.10. .status

説明
EgressFirewall の観測されたステータス
object
Expand
プロパティー説明

messages

array (string)

 

status

string

 

7.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/k8s.ovn.org/v1/egressfirewalls

    • GET: kind である EgressFirewall のオブジェクトをリスト表示します
  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressfirewalls

    • DELETE: EgressFirewall のコレクションを削除します
    • GET: kind である EgressFirewall のオブジェクトをリスト表示します
    • POST: EgressFirewall を作成します
  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressfirewalls/{name}

    • DELETE: EgressFirewall を削除します
    • GET: 指定された EgressFirewall を読み取ります
    • PATCH: 指定された EgressFirewall を部分的に更新します
    • PUT: 指定された EgressFirewall を置き換えます
  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressfirewalls/{name}/status

    • GET: 指定された EgressFirewall のステータスを読み取ります
    • PATCH: 指定された EgressFirewall のステータスを部分的に更新します
    • PUT: 指定された EgressFirewall のステータスを置き換えます

7.2.1. /apis/k8s.ovn.org/v1/egressfirewalls

HTTP メソッド
GET
説明
kind である EgressFirewall のオブジェクトをリスト表示します
Expand
表7.1 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressFirewallList スキーマ

401 - Unauthorized

空白

7.2.2. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressfirewalls

HTTP メソッド
DELETE
説明
EgressFirewall のコレクションを削除します
Expand
表7.2 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
kind である EgressFirewall のオブジェクトをリスト表示します
Expand
表7.3 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressFirewallList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
EgressFirewall を作成します
Expand
表7.4 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表7.5 本文パラメーター
パラメーター説明

body

EgressFirewall スキーマ

 
Expand
表7.6 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressFirewall スキーマ

201 - Created

EgressFirewall スキーマ

202 - Accepted

EgressFirewall スキーマ

401 - Unauthorized

空白

7.2.3. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressfirewalls/{name}

Expand
表7.7 グローバルパスパラメーター
パラメーター説明

name

string

EgressFirewall の名前

HTTP メソッド
DELETE
説明
EgressFirewall を削除します
Expand
表7.8 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表7.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された EgressFirewall を読み取ります
Expand
表7.10 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressFirewall スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された EgressFirewall を部分的に更新します
Expand
表7.11 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表7.12 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

EgressFirewall スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された EgressFirewall を置き換えます
Expand
表7.13 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表7.14 本文パラメーター
パラメーター説明

body

EgressFirewall スキーマ

 
Expand
表7.15 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressFirewall スキーマ

201 - Created

EgressFirewall スキーマ

401 - Unauthorized

空白

7.2.4. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressfirewalls/{name}/status

Expand
表7.16 グローバルパスパラメーター
パラメーター説明

name

string

EgressFirewall の名前

HTTP メソッド
GET
説明
指定された EgressFirewall のステータスを読み取ります
Expand
表7.17 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressFirewall スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された EgressFirewall のステータスを部分的に更新します
Expand
表7.18 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表7.19 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

EgressFirewall スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された EgressFirewall のステータスを置き換えます
Expand
表7.20 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表7.21 本文パラメーター
パラメーター説明

body

EgressFirewall スキーマ

 
Expand
表7.22 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressFirewall スキーマ

201 - Created

EgressFirewall スキーマ

401 - Unauthorized

空白

第8章 EgressIP [k8s.ovn.org/v1]

説明
EgressIP は、仕様定義に従って EgressIP リソースに一致する任意の Pod から発信されるすべての Egress トラフィックに対し、固定ソース IP をユーザーが定義できるようにする CRD です。
object
必須
  • spec

8.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

EgressIP の期待される動作の仕様。

status

object

EgressIP の観測されたステータス。read-only

8.1.1. .spec

説明
EgressIP の期待される動作の仕様。
object
必須
  • egressIPs
  • namespaceSelector
Expand
プロパティー説明

egressIPs

array (string)

EgressIPs は、要求された Egress IP アドレスのリストです。IPv4 および IPv6、またはそのいずれかを使用できます。このフィールドは必須です。

namespaceSelector

object

NamespaceSelector は、ラベルがこの定義と一致する namespace にのみ Egress IP を適用します。このフィールドは必須です。

podSelector

object

PodSelector は、ラベルがこの定義に一致する Pod にのみ Egress IP を適用します。このフィールドはオプションです。設定されていない場合は、NamespaceSelector に一致する namespace 内のすべての Pod に Egress IP が適用されます。設定されている場合は、NamespaceSelector と交差し、この Pod セレクターに一致する (すでに NamespaceSelector と一致している namespace 内の) Pod に Egress IP を適用します。

8.1.2. .spec.namespaceSelector

説明
NamespaceSelector は、ラベルがこの定義と一致する namespace にのみ Egress IP を適用します。このフィールドは必須です。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

8.1.3. .spec.namespaceSelector.matchExpressions

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

8.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

8.1.5. .spec.podSelector

説明
PodSelector は、ラベルがこの定義に一致する Pod にのみ Egress IP を適用します。このフィールドはオプションです。設定されていない場合は、NamespaceSelector に一致する namespace 内のすべての Pod に Egress IP が適用されます。設定されている場合は、NamespaceSelector と交差し、この Pod セレクターに一致する (すでに NamespaceSelector と一致している namespace 内の) Pod に Egress IP を適用します。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

8.1.6. .spec.podSelector.matchExpressions

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

8.1.7. .spec.podSelector.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

8.1.8. .status

説明
EgressIP の観測されたステータス。read-only
object
必須
  • items
Expand
プロパティー説明

items

array

割り当てられた Egress IP とそれに対応するノード割り当てのリスト。

items[]

object

割り当てられた Egress IP のノードごとのステータス。

8.1.9. .status.items

説明
割り当てられた Egress IP とそれに対応するノード割り当てのリスト。
array

8.1.10. .status.items[]

説明
割り当てられた Egress IP のノードごとのステータス。
object
必須
  • egressIP
  • node
Expand
プロパティー説明

egressIP

string

割り当てられた Egress IP

node

string

割り当てられたノード名

8.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/k8s.ovn.org/v1/egressips

    • DELETE: EgressIP のコレクションを削除します
    • GET: kind である EgressIP のオブジェクトをリスト表示します
    • POST: EgressIP を作成します
  • /apis/k8s.ovn.org/v1/egressips/{name}

    • DELETE: EgressIP を削除します
    • GET: 指定された EgressIP を読み取ります
    • PATCH: 指定された EgressIP を部分的に更新します
    • PUT: 指定された EgressIP を置き換えます

8.2.1. /apis/k8s.ovn.org/v1/egressips

HTTP メソッド
DELETE
説明
EgressIP のコレクションを削除します
Expand
表8.1 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
kind である EgressIP のオブジェクトをリスト表示します
Expand
表8.2 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressIPList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
EgressIP を作成します
Expand
表8.3 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表8.4 本文パラメーター
パラメーター説明

body

EgressIP スキーマ

 
Expand
表8.5 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressIP スキーマ

201 - Created

EgressIP スキーマ

202 - Accepted

EgressIP スキーマ

401 - Unauthorized

空白

8.2.2. /apis/k8s.ovn.org/v1/egressips/{name}

Expand
表8.6 グローバルパスパラメーター
パラメーター説明

name

string

EgressIP の名前

HTTP メソッド
DELETE
説明
EgressIP を削除します
Expand
表8.7 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表8.8 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された EgressIP を読み取ります
Expand
表8.9 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressIP スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された EgressIP を部分的に更新します
Expand
表8.10 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表8.11 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

EgressIP スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された EgressIP を置き換えます
Expand
表8.12 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表8.13 本文パラメーター
パラメーター説明

body

EgressIP スキーマ

 
Expand
表8.14 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressIP スキーマ

201 - Created

EgressIP スキーマ

401 - Unauthorized

空白

第9章 EgressQoS [k8s.ovn.org/v1]

説明
EgressQoS は、ユーザーがその namespace 上の Pod の Egress トラフィックの DSCP 値を指定された CIDR に定義できるようにする CRD です。これらの Pod からのトラフィックは、namespace の EgressQoS 内の各 EgressQoSRule に対してチェックされ、一致する場合は、トラフィックに関連する DSCP 値がそのトラフィックにマークされます。
object

9.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

EgressQoSSpec は EgressQoS の望ましい状態を定義します

status

object

EgressQoSStatus は EgressQoS の観測された状態を定義します

9.1.1. .spec

説明
EgressQoSSpec は EgressQoS の望ましい状態を定義します
object
必須
  • egress
Expand
プロパティー説明

egress

array

Egress QoS ルールオブジェクトのコレクション

egress[]

object

 

9.1.2. .spec.egress

説明
Egress QoS ルールオブジェクトのコレクション
array

9.1.3. .spec.egress[]

説明
object
必須
  • dscp
Expand
プロパティー説明

dscp

integer

一致する Pod のトラフィックの DSCP マーキング値。

dstCIDR

string

DstCIDR は宛先の CIDR を指定します。この CIDR に向かうトラフィックのみが DSCP 値でマークされます。このフィールドはオプションです。設定されていない場合は、宛先に関係なくすべての Egress トラフィックにルールが適用されます。

podSelector

object

PodSelector は、ラベルがこの定義と一致する namespace 内の Pod にのみ QoS ルールを適用します。このフィールドはオプションです。設定されていない場合は、namespace 内のすべての Pod にルールが適用されます。

9.1.4. .spec.egress[].podSelector

説明
PodSelector は、ラベルがこの定義と一致する namespace 内の Pod にのみ QoS ルールを適用します。このフィールドはオプションです。設定されていない場合は、namespace 内のすべての Pod にルールが適用されます。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

9.1.5. .spec.egress[].podSelector.matchExpressions

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

9.1.6. .spec.egress[].podSelector.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

9.1.7. .status

説明
EgressQoSStatus は EgressQoS の観測された状態を定義します
object
Expand
プロパティー説明

conditions

array

EgressQoS オブジェクトのステータスに関する詳細を示す条件オブジェクトの配列。

conditions[]

object

条件には、この API リソースの現在の状態の 1 つの側面の詳細が含まれています。--- この構造体は、フィールドパスの .status.conditions で配列として直接使用することを目的としています。以下に例を示します。

たとえば、次のように入力します。FooStatus struct{ // Represents the observations of a foo’s current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"

// other fields }

status

string

EgressQoS リソースが正常に適用されたかどうかを簡潔に示します。

9.1.8. .status.conditions

説明
EgressQoS オブジェクトのステータスに関する詳細を示す条件オブジェクトの配列。
array

9.1.9. .status.conditions[]

説明

条件には、この API リソースの現在の状態の 1 つの側面の詳細が含まれています。--- この構造体は、フィールドパスの .status.conditions で配列として直接使用することを目的としています。以下に例を示します。

type FooStatus struct{
    // Represents the observations of a foo's current state.
    // Known .status.conditions.type are: "Available", "Progressing", and "Degraded"
    // +patchMergeKey=type
    // +patchStrategy=merge
    // +listType=map
    // +listMapKey=type
    Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
Copy to Clipboard Toggle word wrap
    // other fields
}
Copy to Clipboard Toggle word wrap
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 の条件のタイプ。--- 多くの.condition.type 値は、Available などのリソース全体で一貫していますが、任意の条件が役立つ可能性があるため (.node.status.conditions を参照)、競合を解消する機能が重要です。一致する正規表現は (dns1123SubdomainFmt/)?(qualifiedNameFmt) です。

9.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/k8s.ovn.org/v1/egressqoses

    • GET: kind である EgressQoS のオブジェクトをリスト表示します
  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressqoses

    • DELETE: EgressQoS のコレクションを削除します
    • GET: kind である EgressQoS のオブジェクトをリスト表示します
    • POST: EgressQoS を作成します
  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressqoses/{name}

    • DELETE: EgressQoS を削除します
    • GET: 指定された EgressQoS を読み取ります
    • PATCH: 指定された EgressQoS を部分的に更新します
    • PUT: 指定された EgressQoS を置き換えます
  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressqoses/{name}/status

    • GET: 指定された EgressQoS のステータスを読み取ります
    • PATCH: 指定された EgressQoS のステータスを部分的に更新します
    • PUT: 指定された EgressQoS のステータスを置き換えます

9.2.1. /apis/k8s.ovn.org/v1/egressqoses

HTTP メソッド
GET
説明
kind である EgressQoS のオブジェクトをリスト表示します
Expand
表9.1 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressQoSList スキーマ

401 - Unauthorized

空白

9.2.2. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressqoses

HTTP メソッド
DELETE
説明
EgressQoS のコレクションを削除します
Expand
表9.2 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
kind である EgressQoS のオブジェクトをリスト表示します
Expand
表9.3 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressQoSList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
EgressQoS を作成します
Expand
表9.4 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表9.5 本文パラメーター
パラメーター説明

body

EgressQoS スキーマ

 
Expand
表9.6 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressQoS スキーマ

201 - Created

EgressQoS スキーマ

202 - Accepted

EgressQoS スキーマ

401 - Unauthorized

空白

9.2.3. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressqoses/{name}

Expand
表9.7 グローバルパスパラメーター
パラメーター説明

name

string

EgressQoS の名前

HTTP メソッド
DELETE
説明
EgressQoS を削除します
Expand
表9.8 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表9.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された EgressQoS を読み取ります
Expand
表9.10 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressQoS スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された EgressQoS を部分的に更新します
Expand
表9.11 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表9.12 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

EgressQoS スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された EgressQoS を置き換えます
Expand
表9.13 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表9.14 本文パラメーター
パラメーター説明

body

EgressQoS スキーマ

 
Expand
表9.15 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressQoS スキーマ

201 - Created

EgressQoS スキーマ

401 - Unauthorized

空白

9.2.4. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressqoses/{name}/status

Expand
表9.16 グローバルパスパラメーター
パラメーター説明

name

string

EgressQoS の名前

HTTP メソッド
GET
説明
指定された EgressQoS のステータスを読み取ります
Expand
表9.17 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressQoS スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された EgressQoS のステータスを部分的に更新します
Expand
表9.18 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表9.19 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

EgressQoS スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された EgressQoS のステータスを置き換えます
Expand
表9.20 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表9.21 本文パラメーター
パラメーター説明

body

EgressQoS スキーマ

 
Expand
表9.22 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressQoS スキーマ

201 - Created

EgressQoS スキーマ

401 - Unauthorized

空白

第10章 EgressService [k8s.ovn.org/v1]

説明
EgressService は、対応する LoadBalancer サービスのエンドポイントであるすべての Pod から送信される Egress パケットの送信元 IP がその Ingress IP になるようにユーザーが要求できるようにするための CRD です。ユーザーはこれを使用して、LoadBalancer サービスのエンドポイントであるすべての Pod から送信される Egress パケットが、メインネットワークとは異なるネットワークを使用するように要求することもできます。
object

10.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

EgressServiceSpec は EgressService の望ましい状態を定義します

status

object

EgressServiceStatus は EgressService の観測された状態を定義します

10.1.1. .spec

説明
EgressServiceSpec は EgressService の望ましい状態を定義します
object
Expand
プロパティー説明

network

string

このサービスが Egress と対応する Ingress 応答を送信するネットワーク。これは通常、VRF マッピングとして実装され、ルーティングテーブルの数値 ID または文字列名を表します。省略した場合、デフォルトのホストルーティングが使用されます。

nodeSelector

object

sourceIPBy=LoadBalancerIP の場合、サービスのトラフィックを処理するために選択できるノードを制限できます。存在する場合、指定されたセレクターと一致するラベルを持つノードのみが、サービスのトラフィックを処理するために選択できます。指定されていない場合は、クラスター内の任意のノードを選択してサービスのトラフィックを管理できます。

sourceIPBy

string

LoadBalancer サービスをバックアップする Pod から発信される Egress トラフィックの送信元 IP を決定します。LoadBalancerIP の場合、ソース IP は LoadBalancer の Ingress IP に設定されます。Network の場合、ソース IP は、すでに設定されているマスカレードルールを活用して、ネットワークのインターフェイスに従って設定されます。通常、これらのルールは送信インターフェイスの IP への SNAT を指定します。つまり、パケットは通常、ノードの IP とともに送信されます。

10.1.2. .spec.nodeSelector

説明
sourceIPBy=LoadBalancerIP の場合、サービスのトラフィックを処理するために選択できるノードを制限できます。存在する場合、指定されたセレクターと一致するラベルを持つノードのみが、サービスのトラフィックを処理するために選択できます。指定されていない場合は、クラスター内の任意のノードを選択してサービスのトラフィックを管理できます。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

10.1.3. .spec.nodeSelector.matchExpressions

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

10.1.4. .spec.nodeSelector.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

10.1.5. .status

説明
EgressServiceStatus は EgressService の観測された状態を定義します
object
必須
  • host
Expand
プロパティー説明

host

string

サービスのトラフィックを処理するために選択されたノードの名前。sourceIPBy=Network の場合、このフィールドは "ALL" に設定されます。

10.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/k8s.ovn.org/v1/egressservices

    • GET: EgressService のオブジェクトをリスト表示します
  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressservices

    • DELETE: EgressService のコレクションを削除します
    • GET: EgressService のオブジェクトをリスト表示します
    • POST: EgressService を作成します
  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressservices/{name}

    • DELETE: EgressService を削除します
    • GET: 指定された EgressService を読み取ります
    • PATCH: 指定された EgressService を部分的に更新します
    • PUT: 指定された EgressService を置き換えます
  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressservices/{name}/status

    • GET: 指定された EgressService のステータスを読み取ります
    • PATCH: 指定された EgressService のステータスを部分的に更新します
    • PUT: 指定された EgressService のステータスを置き換えます

10.2.1. /apis/k8s.ovn.org/v1/egressservices

HTTP メソッド
GET
説明
kind である EgressService のオブジェクトをリスト表示します
Expand
表10.1 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressServiceList スキーマ

401 - Unauthorized

空白

10.2.2. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressservices

HTTP メソッド
DELETE
説明
EgressService のコレクションを削除します
Expand
表10.2 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
kind である EgressService のオブジェクトをリスト表示します
Expand
表10.3 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressServiceList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
EgressService を作成します
Expand
表10.4 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表10.5 本文パラメーター
パラメーター説明

body

EgressService スキーマ

 
Expand
表10.6 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressService スキーマ

201 - Created

EgressService スキーマ

202 - Accepted

EgressService スキーマ

401 - Unauthorized

空白

10.2.3. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressservices/{name}

Expand
表10.7 グローバルパスパラメーター
パラメーター説明

name

string

EgressService の名前

HTTP メソッド
DELETE
説明
EgressService を削除します
Expand
表10.8 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表10.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された EgressService を読み取ります
Expand
表10.10 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressService スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された EgressService を部分的に更新します
Expand
表10.11 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表10.12 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

EgressService スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された EgressService を置き換えます
Expand
表10.13 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表10.14 本文パラメーター
パラメーター説明

body

EgressService スキーマ

 
Expand
表10.15 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressService スキーマ

201 - Created

EgressService スキーマ

401 - Unauthorized

空白

10.2.4. /apis/k8s.ovn.org/v1/namespaces/{namespace}/egressservices/{name}/status

Expand
表10.16 グローバルパスパラメーター
パラメーター説明

name

string

EgressService の名前

HTTP メソッド
GET
説明
指定された EgressService のステータスを読み取ります
Expand
表10.17 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressService スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された EgressService のステータスを部分的に更新します
Expand
表10.18 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表10.19 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

EgressService スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された EgressService のステータスを置き換えます
Expand
表10.20 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表10.21 本文パラメーター
パラメーター説明

body

EgressService スキーマ

 
Expand
表10.22 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressService スキーマ

201 - Created

EgressService スキーマ

401 - Unauthorized

空白

第11章 Endpoints [v1]

説明

エンドポイントは、実際のサービスを実装するエンドポイントのコレクションです。以下に例を示します。

 Name: "mysvc",
 Subsets: [
   {
     Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}],
     Ports: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}]
   },
   {
     Addresses: [{"ip": "10.10.3.3"}],
     Ports: [{"name": "a", "port": 93}, {"name": "b", "port": 76}]
   },
]
Copy to Clipboard Toggle word wrap
object

11.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 を参照してください。

subsets

array

すべてのエンドポイントのセットは、すべてのサブセットの和集合です。アドレスは、共有する IP に従ってサブセットに配置されます。複数のポートを持つ単一のアドレス。一部は準備ができており、一部は準備ができていません (異なるコンテナーからのものであるため)。その結果、アドレスは異なるポートの異なるサブセットに表示されます。同じサブセットの Addresses と NotReadyAddresses の両方にアドレスは表示されません。サービスを構成するアドレスとポートのセット。

subsets[]

object

EndpointSubset は、共通のポートセットを持つアドレスのグループです。拡張されたエンドポイントのセットは、アドレス x ポートのデカルト積です。たとえば、次のようになります。

{ Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}], Ports: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}] }

結果として作成されるエンドポイントは以下のように表示できます。

a: [ 10.10.1.1:8675, 10.10.2.2:8675 ], b: [ 10.10.1.1:309, 10.10.2.2:309 ]

11.1.1. .subsets

説明
すべてのエンドポイントのセットは、すべてのサブセットの和集合です。アドレスは、共有する IP に従ってサブセットに配置されます。複数のポートを持つ単一のアドレス。一部は準備ができており、一部は準備ができていません (異なるコンテナーからのものであるため)。その結果、アドレスは異なるポートの異なるサブセットに表示されます。同じサブセットの Addresses と NotReadyAddresses の両方にアドレスは表示されません。サービスを構成するアドレスとポートのセット。
array

11.1.2. .subsets[]

説明

EndpointSubset は、共通のポートセットを持つアドレスのグループです。拡張されたエンドポイントのセットは、アドレス x ポートのデカルト積です。たとえば、次のようになります。

{
  Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}],
  Ports:     [{"name": "a", "port": 8675}, {"name": "b", "port": 309}]
}
Copy to Clipboard Toggle word wrap

結果として作成されるエンドポイントは以下のように表示できます。

a: [ 10.10.1.1:8675, 10.10.2.2:8675 ],
b: [ 10.10.1.1:309, 10.10.2.2:309 ]
Copy to Clipboard Toggle word wrap
object
Expand
プロパティー説明

addresses

array

準備完了としてマークされた関連ポートを提供する IP アドレス。これらのエンドポイントは、ロードバランサーとクライアントが利用するのに安全であると見なす必要があります。

addresses[]

object

EndpointAddress は、単一の IP アドレスを記述するタプルです。

notReadyAddresses

array

関連するポートを提供しているが、開始がまだ完了していないか、最近準備チェックに失敗したか、最近活性チェックに失敗したために現在準備完了としてマークされていない IP アドレス。

notReadyAddresses[]

object

EndpointAddress は、単一の IP アドレスを記述するタプルです。

ports

array

関連する IP アドレスで使用可能なポート番号。

ports[]

object

EndpointPort は、単一のポートを記述するタプルです。

11.1.3. .subsets[].addresses

説明
準備完了としてマークされた関連ポートを提供する IP アドレス。これらのエンドポイントは、ロードバランサーとクライアントが利用するのに安全であると見なす必要があります。
array

11.1.4. .subsets[].addresses[]

説明
EndpointAddress は、単一の IP アドレスを記述するタプルです。
object
必須
  • ip
Expand
プロパティー説明

hostname

string

このエンドポイントのホスト名

ip

string

このエンドポイントの IP。loopback (127.0.0.0/8 or ::1)、link-local (169.254.0.0/16 または fe80::/10)、link-local multicast (224.0.0.0/24 or ff02::/16) は使用できません。

nodeName

string

オプション: このエンドポイントをホストしているノード。これを使用して、ノードにローカルなエンドポイントを判別できます。

targetRef

object

ObjectReference には参照先のオブジェクトを調査または変更するのに十分な情報が含まれます。

11.1.5. .subsets[].addresses[].targetRef

説明
ObjectReference には参照先のオブジェクトを調査または変更するのに十分な情報が含まれます。
object
Expand
プロパティー説明

apiVersion

string

参照先の API バージョン。

fieldPath

string

オブジェクト全体ではなく一部を参照する場合に、この文字列には、desiredState.manifest.containers[2] など、有効な JSON/Go フィールドアクセスステートメントを含める必要があります。たとえば、オブジェクトの参照先が Pod 内のコンテナーの場合には、"spec.containers{name}" などの値に設定されます ("name" はイベントをトリガーしたコンテナー名に置き換えます)。またはコンテナー名が指定されていない場合には、"spec.containers[2]" の値に設定されます (この Pod 内でインデックスが 2 のコンテナー)。この構文が選択された唯一の理由は、オブジェクトの一部の参照を明確に定義するためです。

kind

string

参照先の種類。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。

name

string

参照先の名前。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

namespace

string

参照先の namespace。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

resourceVersion

string

この参照が作成される特定の resourceVersion (ある場合)。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

uid

string

参照先の UID。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

11.1.6. .subsets[].notReadyAddresses

説明
関連するポートを提供しているが、開始がまだ完了していないか、最近準備チェックに失敗したか、最近活性チェックに失敗したために現在準備完了としてマークされていない IP アドレス。
array

11.1.7. .subsets[].notReadyAddresses[]

説明
EndpointAddress は、単一の IP アドレスを記述するタプルです。
object
必須
  • ip
Expand
プロパティー説明

hostname

string

このエンドポイントのホスト名

ip

string

このエンドポイントの IP。loopback (127.0.0.0/8 or ::1)、link-local (169.254.0.0/16 または fe80::/10)、link-local multicast (224.0.0.0/24 or ff02::/16) は使用できません。

nodeName

string

オプション: このエンドポイントをホストしているノード。これを使用して、ノードにローカルなエンドポイントを判別できます。

targetRef

object

ObjectReference には参照先のオブジェクトを調査または変更するのに十分な情報が含まれます。

11.1.8. .subsets[].notReadyAddresses[].targetRef

説明
ObjectReference には参照先のオブジェクトを調査または変更するのに十分な情報が含まれます。
object
Expand
プロパティー説明

apiVersion

string

参照先の API バージョン。

fieldPath

string

オブジェクト全体ではなく一部を参照する場合に、この文字列には、desiredState.manifest.containers[2] など、有効な JSON/Go フィールドアクセスステートメントを含める必要があります。たとえば、オブジェクトの参照先が Pod 内のコンテナーの場合には、"spec.containers{name}" などの値に設定されます ("name" はイベントをトリガーしたコンテナー名に置き換えます)。またはコンテナー名が指定されていない場合には、"spec.containers[2]" の値に設定されます (この Pod 内でインデックスが 2 のコンテナー)。この構文が選択された唯一の理由は、オブジェクトの一部の参照を明確に定義するためです。

kind

string

参照先の種類。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。

name

string

参照先の名前。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

namespace

string

参照先の namespace。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

resourceVersion

string

この参照が作成される特定の resourceVersion (ある場合)。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

uid

string

参照先の UID。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

11.1.9. .subsets[].ports

説明
関連する IP アドレスで使用可能なポート番号。
array

11.1.10. .subsets[].ports[]

説明
EndpointPort は、単一のポートを記述するタプルです。
object
必須
  • port
Expand
プロパティー説明

appProtocol

string

このポートのアプリケーションプロトコル。これは、実装が理解できるプロトコルの動作をさらに多く提供できるようにヒントとして使用されます。このフィールドは、標準の Kubernetes ラベル構文に従います。有効な値は以下のいずれかになります。

* 接頭辞のないプロトコル名 - IANA 標準サービス名用に予約されています (RFC-6335 および https://www.iana.org/assignments/service-names に準拠)。

* Kubernetes によって定義された接頭辞の名前: * 'kubernetes.io/h2c' - クリアテキスト経由の HTTP/2 事前知識 (https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior- を参照)。* 'kubernetes.io/ws' - クリアテキスト経由の WebSocket (https://www.rfc-editor.org/rfc/rfc6455 を参照)。* 'kubernetes.io/wss' - TLS 経由の WebSocket (https://www.rfc-editor.org/rfc/rfc6455 を参照)。

* 他のプロトコルは、mycompany.com/my-custom-protocol など、実装定義の接頭辞名を使用する必要があります。

name

string

このポートの名前。これは、対応する ServicePort の 'name' フィールドと一致する必要があります。DNS_LABEL である必要があります。1 つのポートが定義されている場合のみオプション。

port

integer

エンドポイントのポート番号。

protocol

string

このポートの IP プロトコル。UDP、TCP、または SCTP である必要があります。デフォルトは TCP です。

使用可能な列挙値: - "SCTP" は SCTP プロトコル、"TCP" は TCP プロトコル、"UDP" は UDP プロトコルです。

11.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /api/v1/endpoints

    • GET: エンドポイントの種類のオブジェクトをリスト表示または監視する
  • /api/v1/watch/endpoints

    • GET: エンドポイントのリストに対する個々の変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用してください。
  • /api/v1/namespaces/{namespace}/endpoints

    • 削除: エンドポイントのコレクションを削除します
    • GET: エンドポイントの種類のオブジェクトをリスト表示または監視する
    • POST: エンドポイントを作成します
  • /api/v1/watch/namespaces/{namespace}/endpoints

    • GET: エンドポイントのリストに対する個々の変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用してください。
  • /api/v1/namespaces/{namespace}/endpoints/{name}

    • 削除: エンドポイントを削除します
    • GET: 指定されたエンドポイントを読み取ります
    • PATCH: 指定されたエンドポイントを部分的に更新します
    • PUT: 指定されたエンドポイントを置き換えます
  • /api/v1/watch/namespaces/{namespace}/endpoints/{name}

    • GET: エンドポイントの種類のオブジェクトへの変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用し、'fieldSelector' パラメーターで単一の項目にフィルター処理します。

11.2.1. /api/v1/endpoints

HTTP メソッド
GET
説明
種類のエンドポイントのオブジェクトをリスト表示または監視する
Expand
表11.1 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

EndpointsList スキーマ

401 - Unauthorized

空白

11.2.2. /api/v1/watch/endpoints

HTTP メソッド
GET
説明
エンドポイントのリストに対する個々の変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用してください。
Expand
表11.2 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

WatchEvent スキーマ

401 - Unauthorized

空白

11.2.3. /api/v1/namespaces/{namespace}/endpoints

HTTP メソッド
DELETE
説明
エンドポイントのコレクションを削除する
Expand
表11.3 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表11.4 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
種類のエンドポイントのオブジェクトをリスト表示または監視する
Expand
表11.5 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

EndpointsList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
エンドポイントを作成する
Expand
表11.6 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表11.7 本文パラメーター
パラメーター説明

body

Endpoints スキーマ

 
Expand
表11.8 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Endpoints スキーマ

201 - Created

Endpoints スキーマ

202 - Accepted

Endpoints スキーマ

401 - Unauthorized

空白

11.2.4. /api/v1/watch/namespaces/{namespace}/endpoints

HTTP メソッド
GET
説明
エンドポイントのリストに対する個々の変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用してください。
Expand
表11.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

WatchEvent スキーマ

401 - Unauthorized

空白

11.2.5. /api/v1/namespaces/{namespace}/endpoints/{name}

Expand
表11.10 グローバルパスパラメーター
パラメーター説明

name

string

エンドポイントの名前

HTTP メソッド
DELETE
説明
エンドポイントを削除する
Expand
表11.11 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表11.12 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定されたエンドポイントを読み取ります
Expand
表11.13 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Endpoints スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定されたエンドポイントを部分的に更新します
Expand
表11.14 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表11.15 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Endpoints スキーマ

201 - Created

Endpoints スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定されたエンドポイントを置き換えます
Expand
表11.16 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表11.17 本文パラメーター
パラメーター説明

body

Endpoints スキーマ

 
Expand
表11.18 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Endpoints スキーマ

201 - Created

Endpoints スキーマ

401 - Unauthorized

空白

11.2.6. /api/v1/watch/namespaces/{namespace}/endpoints/{name}

Expand
表11.19 グローバルパスパラメーター
パラメーター説明

name

string

エンドポイントの名前

HTTP メソッド
GET
説明
エンドポイントの種類のオブジェクトへの変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用し、'fieldSelector' パラメーターで単一の項目にフィルター処理します。
Expand
表11.20 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

WatchEvent スキーマ

401 - Unauthorized

空白

第12章 EndpointSlice [discovery.k8s.io/v1]

説明
EndpointSlice は、サービスを実装するエンドポイントのサブセットを表します。特定のサービスでは、ラベルによって選択された複数の EndpointSlice オブジェクトが存在する場合があります。これらのオブジェクトは、エンドポイントの完全なセットを生成するために結合する必要があります。
object
必須
  • addressType
  • endpoints

12.1. 仕様

Expand
プロパティー説明

addressType

string

addressType は、この EndpointSlice によって伝送されるアドレスのタイプを指定します。このスライスのすべてのアドレスは同じタイプである必要があります。このフィールドは、作成後は不変です。現在、次のアドレスタイプがサポートされています。* IPv4:IPv4 アドレスを表します。* IPv6:IPv6 アドレスを表します。* FQDN: 完全修飾ドメイン名を表します。

使用可能な列挙値: - "FQDN" は、FQDN を表します。"IPv4" は、IPv4 アドレスを表します。"IPv6" は、IPv6 アドレスを表します。

apiVersion

string

apiVersion はオブジェクトのこの表現のバージョンスキーマを定義します。サーバーは認識されたスキーマを最新の内部値に変換し、認識されない値は拒否することがあります。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources を参照してください。

endpoints

array

エンドポイントは、このスライス内の一意のエンドポイントのリストです。各スライスには、最大 1000 のエンドポイントを含めることができます。

endpoints[]

object

エンドポイントは、サービスを実装する単一の論理的な "バックエンド" を表します。

kind

string

kind はこのオブジェクトが表す REST リソースを表す文字列の値です。サーバーはクライアントが要求を送信するエンドポイントからこれを推測できることがあります。これは更新できません。CamelCase を使用します。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。

metadata

ObjectMeta

標準オブジェクトのメタデータ。

ports

array

ポートは、このスライスの各エンドポイントによって公開されるネットワークポートのリストを指定します。各ポートには一意の名前を付ける必要があります。ポートが空の場合、定義されたポートがないことを示します。ポートが nil ポート値で定義されている場合、それは "すべてのポート" を示します。各スライスには、最大 100 個のポートを含めることができます。

ports[]

object

EndpointPort は、EndpointSlice によって使用されるポートを表します

12.1.1. .endpoints

説明
エンドポイントは、このスライス内の一意のエンドポイントのリストです。各スライスには、最大 1000 のエンドポイントを含めることができます。
array

12.1.2. .endpoints[]

説明
エンドポイントは、サービスを実装する単一の論理的な "バックエンド" を表します。
object
必須
  • addresses
Expand
プロパティー説明

addresses

array (string)

このエンドポイントのアドレス。このフィールドの内容は、対応する EndpointSlice addressType フィールドに従って解釈されます。コンシューマーは、自分の能力のコンテキストでさまざまなタイプのアドレスを処理する必要があります。これには、少なくとも 1 つのアドレスが含まれている必要がありますが、100 を超えてはなりません。これらはすべて代替可能であると想定されており、クライアントは最初の要素だけを使用することもできます。https://issue.k8s.io/106267 を参照してください。

conditions

object

EndpointConditions は、エンドポイントの現在の状態を表します。

deprecatedTopology

object (string)

deprecatedTopology には、v1beta1API のトポロジー情報部分が含まれています。このフィールドは非推奨であり、v1beta1 API が削除されると削除されます (kubernetes v1.24 より早く)。このフィールドは値を保持できますが、v1 API を介して書き込むことはできず、このフィールドに書き込もうとすると、黙って無視されます。トポロジー情報は、代わりに zone フィールドと nodeName フィールドにあります。

hints

object

EndpointHints は、エンドポイントの消費方法を説明するヒントを提供します。

hostname

string

このエンドポイントのホスト名。このフィールドは、エンドポイントのコンシューマーがエンドポイントを相互に区別するために使用できます (DNS 名など)。同じホスト名を使用する複数のエンドポイントは代替可能と見なす必要があります (たとえば、DNS の複数の A 値)。小文字で、DNS ラベル (RFC 1123) 検証に合格する必要があります。

nodeName

string

nodeName は、このエンドポイントをホストしているノードの名前を表します。これは、ノードにローカルなエンドポイントを決定するために使用できます。

targetRef

ObjectReference

targetRef は、このエンドポイントを表す Kubernetes オブジェクトへの参照です。

zone

string

zone は、このエンドポイントが存在するゾーンの名前です。

12.1.3. .endpoints[].conditions

説明
EndpointConditions は、エンドポイントの現在の状態を表します。
object
Expand
プロパティー説明

ready

boolean

ready は、エンドポイントを管理しているシステムに応じて、このエンドポイントがトラフィックを受信する準備ができていることを示します。nil 値は、不明な状態を示します。ほとんどの場合、コンシューマーはこの未知の状態を準備ができていると解釈する必要があります。互換性の理由から、通常の準備動作が明示的にオーバーライドされている場合 (例: 関連するサービスが publishNotReadyAddresses フラグを設定している場合) を除き、終了エンドポイントに対して ready を "true" にすることはできません。

serving

boolean

サービングは、エンドポイントの終了状態に関係なく設定されることを除いて、ready と同じです。終了する準備完了エンドポイントの場合、この条件を true に設定する必要があります。ゼロの場合、コンシューマーは準備完了状態に従う必要があります。

terminating

boolean

終了は、このエンドポイントが終了していることを示します。nil 値は、不明な状態を示します。コンシューマーは、この未知の状態を、エンドポイントが終了していないことを意味すると解釈する必要があります。

12.1.4. .endpoints[].hints

説明
EndpointHints は、エンドポイントの消費方法を説明するヒントを提供します。
object
Expand
プロパティー説明

forZones

array

forZones は、トポロジー対応ルーティングを有効にするために、このエンドポイントが消費されるゾーンを示します。

forZones[]

object

ForZone は、このエンドポイントを消費するゾーンに関する情報を提供します。

12.1.5. .endpoints[].hints.forZones

説明
forZones は、トポロジー対応ルーティングを有効にするために、このエンドポイントが消費されるゾーンを示します。
array

12.1.6. .endpoints[].hints.forZones[]

説明
ForZone は、このエンドポイントを消費するゾーンに関する情報を提供します。
object
必須
  • name
Expand
プロパティー説明

name

string

name はゾーンの名前を表します。

12.1.7. .ports

説明
ポートは、このスライスの各エンドポイントによって公開されるネットワークポートのリストを指定します。各ポートには一意の名前を付ける必要があります。ポートが空の場合、定義されたポートがないことを示します。ポートが nil ポート値で定義されている場合、それは "すべてのポート" を示します。各スライスには、最大 100 個のポートを含めることができます。
array

12.1.8. .ports[]

説明
EndpointPort は、EndpointSlice によって使用されるポートを表します
object
Expand
プロパティー説明

appProtocol

string

このポートのアプリケーションプロトコル。これは、実装が理解できるプロトコルの動作をさらに多く提供できるようにヒントとして使用されます。このフィールドは、標準の Kubernetes ラベル構文に従います。有効な値は以下のいずれかになります。

* 接頭辞のないプロトコル名 - IANA 標準サービス名用に予約されています (RFC-6335 および https://www.iana.org/assignments/service-names に準拠)。

* Kubernetes によって定義された接頭辞の名前: * 'kubernetes.io/h2c' - クリアテキスト経由の HTTP/2 事前知識 (https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior- を参照)。* 'kubernetes.io/ws' - クリアテキスト経由の WebSocket (https://www.rfc-editor.org/rfc/rfc6455 を参照)。* 'kubernetes.io/wss' - TLS 経由の WebSocket (https://www.rfc-editor.org/rfc/rfc6455 を参照)。

* 他のプロトコルは、mycompany.com/my-custom-protocol など、実装定義の接頭辞名を使用する必要があります。

name

string

name は、このポートの名前を表します。EndpointSlice のすべてのポートには、一意の名前を付ける必要があります。EndpointSlice が Kubernetes サービスから派生している場合、これは Service.ports[].name に対応します。名前は空の文字列であるか、DNS_LABEL 検証に合格する必要があります。*長さは 63 文字以下である必要があります。* 小文字の英数字または '-' で構成する必要があります。*英数字で開始および終了する必要があります。デフォルトは空の文字列です。

port

integer

port は、エンドポイントのポート番号を表します。これが指定されていない場合、ポートは制限されないため、特定のコンシューマーのコンテキストで解釈する必要があります。

protocol

string

protocol は、このポートの IP プロトコルを表します。UDP、TCP、または SCTP である必要があります。デフォルトは TCP です。

使用可能な列挙値: - "SCTP" は SCTP プロトコル、"TCP" は TCP プロトコル、"UDP" は UDP プロトコルです。

12.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/discovery.k8s.io/v1/endpointslices

    • GET:EndpointSlice の種類のオブジェクトをリスト表示または監視します
  • /apis/discovery.k8s.io/v1/watch/endpointslices

    • GET:EndpointSlice のリストに対する個々の変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用してください。
  • /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices

    • DELETE:EndpointSlice のコレクションを削除します
    • GET:EndpointSlice の種類のオブジェクトをリスト表示または監視します
    • POST:EndpointSlice を作成します
  • /apis/discovery.k8s.io/v1/watch/namespaces/{namespace}/endpointslices

    • GET:EndpointSlice のリストに対する個々の変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用してください。
  • /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}

    • 削除:EndpointSlice を削除します
    • GET: 指定された EndpointSlice を読み取ります
    • PATCH: 指定された EndpointSlice を部分的に更新します
    • PUT: 指定された EndpointSlice を置き換えます
  • /apis/discovery.k8s.io/v1/watch/namespaces/{namespace}/endpointslices/{name}

    • GET:EndpointSlice の種類のオブジェクトへの変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用し、'fieldSelector' パラメーターで単一の項目にフィルター処理します。

12.2.1. /apis/discovery.k8s.io/v1/endpointslices

HTTP メソッド
GET
説明
EndpointSlice の種類のオブジェクトをリスト表示または監視する
Expand
表12.1 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

EndpointSliceList スキーマ

401 - Unauthorized

空白

12.2.2. /apis/discovery.k8s.io/v1/watch/endpointslices

HTTP メソッド
GET
説明
EndpointSlice のリストに対する個々の変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用してください。
Expand
表12.2 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

WatchEvent スキーマ

401 - Unauthorized

空白

12.2.3. /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices

HTTP メソッド
DELETE
説明
EndpointSlice のコレクションを削除します
Expand
表12.3 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表12.4 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
EndpointSlice の種類のオブジェクトをリスト表示または監視する
Expand
表12.5 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

EndpointSliceList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
EndpointSlice を作成する
Expand
表12.6 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表12.7 本文パラメーター
パラメーター説明

body

EndpointSlice スキーマ

 
Expand
表12.8 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

EndpointSlice スキーマ

201 - Created

EndpointSlice スキーマ

202 - Accepted

EndpointSlice スキーマ

401 - Unauthorized

空白

12.2.4. /apis/discovery.k8s.io/v1/watch/namespaces/{namespace}/endpointslices

HTTP メソッド
GET
説明
EndpointSlice のリストに対する個々の変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用してください。
Expand
表12.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

WatchEvent スキーマ

401 - Unauthorized

空白

12.2.5. /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}

Expand
表12.10 グローバルパスパラメーター
パラメーター説明

name

string

EndpointSlice の名前

HTTP メソッド
DELETE
説明
EndpointSlice を削除します
Expand
表12.11 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表12.12 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された EndpointSlice を読み取ります
Expand
表12.13 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

EndpointSlice スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された EndpointSlice を部分的に更新します
Expand
表12.14 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表12.15 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

EndpointSlice スキーマ

201 - Created

EndpointSlice スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された EndpointSlice を置き換えます
Expand
表12.16 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表12.17 本文パラメーター
パラメーター説明

body

EndpointSlice スキーマ

 
Expand
表12.18 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

EndpointSlice スキーマ

201 - Created

EndpointSlice スキーマ

401 - Unauthorized

空白

12.2.6. /apis/discovery.k8s.io/v1/watch/namespaces/{namespace}/endpointslices/{name}

Expand
表12.19 グローバルパスパラメーター
パラメーター説明

name

string

EndpointSlice の名前

HTTP メソッド
GET
説明
EndpointSlice の種類のオブジェクトへの変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用し、'fieldSelector' パラメーターで単一の項目にフィルター処理します。
Expand
表12.20 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

WatchEvent スキーマ

401 - Unauthorized

空白

第13章 EgressRouter [network.operator.openshift.io/v1]

説明

EgressRouter は、Pod と外部システム間のブリッジとして機能するスロールーターをユーザーが定義できるようにする機能です。スロールーターは、Pod または Pod のグループから発信された出力トラフィックを、設定に従ってリモートの外部システムまたは複数の宛先にリダイレクトするサービスを実行します。

これは、cluster-network-operator によって消費されます。より具体的に、<name> を持つ EgressRouter CR がある場合、CNO は以下を作成し、管理します。<name> と呼ばれるサービス - <name> と呼ばれる Egress Pod - <name> と呼ばれる NAD

互換性レベル 1: メジャーリリース内で最低 12 カ月または 3 つのマイナーリリース (どちらか長い方) で安定しています。

EgressRouter は、単一の egressrouter Pod 設定オブジェクトです。

object
必須
  • spec

13.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

目的のスロールーターの仕様。

status

object

EgressRouter の監視ステータス。

13.1.1. .spec

説明
目的のスロールーターの仕様。
object
必須
  • addresses
  • mode
  • networkInterface
Expand
プロパティー説明

addresses

array

Pod のセカンダリーインターフェイスで設定する IP アドレスのリスト。

addresses[]

object

EgressRouterAddress には、ルーターのインターフェイスで設定する IP CIDR とゲートウェイのペアが含まれています

mode

string

mode は、egress ルーターに使用されるモードを示します。デフォルトのモードは "Redirect" であり、現在サポートされている唯一のモードです。

networkInterface

object

作成/使用するインターフェイスの仕様。デフォルトは macvlan です。現在、macvlan のみがサポートされています。

redirect

object

redirect は、リダイレクトモードに固有の設定パラメーターを表します。

13.1.2. .spec.addresses

説明
Pod のセカンダリーインターフェイスで設定する IP アドレスのリスト。
array

13.1.3. .spec.addresses[]

説明
EgressRouterAddress には、ルーターのインターフェイスで設定する IP CIDR とゲートウェイのペアが含まれています
object
必須
  • ip
Expand
プロパティー説明

gateway

string

ネクストホップゲートウェイの IP アドレス (自動的に決定できない場合)。IPv4 または IPv6 にすることができます。

ip

string

ip は、ルーターのインターフェイスで設定するアドレスです。IPv4 または IPv6 にすることができます。

13.1.4. .spec.networkInterface

説明
作成/使用するインターフェイスの仕様。デフォルトは macvlan です。現在、macvlan のみがサポートされています。
object
Expand
プロパティー説明

macvlan

object

interfaceType macvlan に固有の引数

13.1.5. .spec.networkInterface.macvlan

説明
interfaceType macvlan に固有の引数
object
必須
  • mode
Expand
プロパティー説明

master

string

マスターインターフェイスの名前。IP アドレスから推測できる場合は指定する必要はありません。

mode

string

mode は、macvlan インターフェイスに使用されるモードを示します。Bridge | Private | VEPA|Passthru の 1 つ。デフォルトのモードは "Bridge" です。

13.1.6. .spec.redirect

説明
redirect は、リダイレクトモードに固有の設定パラメーターを表します。
object
Expand
プロパティー説明

fallbackIP

string

fallbackIP は、リモート宛先の IP アドレスを指定します。IPv4 または IPv6 にすることができます。リダイレクトルールが指定されていない場合、ルーターからのすべてのトラフィックはこの IP にリダイレクトされます。リダイレクトルールが指定されている場合、ルーター上の他のポート (ルールで定義されていない) の接続はすべてこの IP にリダイレクトされます。リダイレクトルールが指定されていて、フォールバック IP が提供されていない場合、他のポートでの接続は単に拒否されます。

redirectRules

array

リダイレクトモードで Pod から宛先への DNAT リダイレクトを定義する L4RedirectRules のリスト。

redirectRules[]

object

L4RedirectRule は、特定のポートから宛先 IP およびポートへの DNAT リダイレクトを定義します。

13.1.7. .spec.redirect.redirectRules

説明
リダイレクトモードで Pod から宛先への DNAT リダイレクトを定義する L4RedirectRules のリスト。
array

13.1.8. .spec.redirect.redirectRules[]

説明
L4RedirectRule は、特定のポートから宛先 IP およびポートへの DNAT リダイレクトを定義します。
object
必須
  • destinationIP
  • port
  • protocol
Expand
プロパティー説明

destinationIP

string

IP は、リモート宛先の IP アドレスを指定します。IPv4 または IPv6 にすることができます。

port

integer

port は、クライアントがリダイレクトされるトラフィックを送信する必要があるポート番号です。

protocol

string

protocol は、TCP、SCTP、または UDP にすることができます。

targetPort

integer

targetPort を使用すると、トラフィックのリダイレクト先となるリモート宛先のポート番号を指定できます。指定しない場合は、"Port" の値が使用されます。

13.1.9. .status

説明
EgressRouter の監視ステータス。
object
必須
  • conditions
Expand
プロパティー説明

conditions

array

スロールーターの監視ステータス

conditions[]

object

EgressRouterStatusCondition は、スロールーターの管理および監視対象コンポーネントの状態を表します。

13.1.10. .status.conditions

説明
スロールーターの監視ステータス
array

13.1.11. .status.conditions[]

説明
EgressRouterStatusCondition は、スロールーターの管理および監視対象コンポーネントの状態を表します。
object
必須
  • status
  • type
Expand
プロパティー説明

lastTransitionTime

``

lastTransitionTime は、現在のステータスプロパティーが最後に更新された時刻です。

message

string

message は、現在の状態に関する追加情報を提供します。これは人間によってのみ消費されます。改行文字 (U + 000A) が含まれている場合があり、改行としてレンダリングする必要があります。

reason

string

reason は、状態の現在のステータスの CamelCase の理由です。

status

string

条件のステータス、True、False、Unknown のいずれか。

type

string

type は、この条件によって報告されるアスペクトを指定します。利用可能、進行中、劣化の 1 つ

13.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/network.operator.openshift.io/v1/egressrouters

    • GET: 種類 EgressRouter のオブジェクトをリスト表示します
  • /apis/network.operator.openshift.io/v1/namespaces/{namespace}/egressrouters

    • DELETE:EgressRouter のコレクションを削除します
    • GET: 種類 EgressRouter のオブジェクトをリスト表示します
    • POST:EgressRouter を作成します
  • /apis/network.operator.openshift.io/v1/namespaces/{namespace}/egressrouters/{name}

    • 削除:EgressRouter を削除します
    • GET: 指定された EgressRouter を読み取ります
    • PATCH: 指定された EgressRouter を部分的に更新します
    • PUT: 指定された EgressRouter を置き換えます
  • /apis/network.operator.openshift.io/v1/namespaces/{namespace}/egressrouters/{name}/status

    • GET: 指定された EgressRouter のステータスを読み取ります
    • PATCH: 指定された EgressRouter のステータスを部分的に更新します
    • PUT: 指定された EgressRouter のステータスを置き換えます

13.2.1. /apis/network.operator.openshift.io/v1/egressrouters

HTTP メソッド
GET
説明
EgressRouter の種類のオブジェクトをリスト表示します
Expand
表13.1 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressRouterList スキーマ

401 - Unauthorized

空白

13.2.2. /apis/network.operator.openshift.io/v1/namespaces/{namespace}/egressrouters

HTTP メソッド
DELETE
説明
EgressRouter のコレクションを削除します
Expand
表13.2 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
EgressRouter の種類のオブジェクトをリスト表示します
Expand
表13.3 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressRouterList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
EgressRouter を作成する
Expand
表13.4 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表13.5 本文パラメーター
パラメーター説明

body

EgressRouter スキーマ

 
Expand
表13.6 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressRouter スキーマ

201 - Created

EgressRouter スキーマ

202 - Accepted

EgressRouter スキーマ

401 - Unauthorized

空白

13.2.3. /apis/network.operator.openshift.io/v1/namespaces/{namespace}/egressrouters/{name}

Expand
表13.7 グローバルパスパラメーター
パラメーター説明

name

string

EgressRouter の名前

HTTP メソッド
DELETE
説明
EgressRouter を削除します
Expand
表13.8 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表13.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された EgressRouter を読み取ります
Expand
表13.10 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressRouter スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された EgressRouter を部分的に更新します
Expand
表13.11 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表13.12 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

EgressRouter スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された EgressRouter を置き換えます
Expand
表13.13 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表13.14 本文パラメーター
パラメーター説明

body

EgressRouter スキーマ

 
Expand
表13.15 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressRouter スキーマ

201 - Created

EgressRouter スキーマ

401 - Unauthorized

空白

13.2.4. /apis/network.operator.openshift.io/v1/namespaces/{namespace}/egressrouters/{name}/status

Expand
表13.16 グローバルパスパラメーター
パラメーター説明

name

string

EgressRouter の名前

HTTP メソッド
GET
説明
指定された EgressRouter のステータスを読み取ります
Expand
表13.17 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressRouter スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された EgressRouter のステータスを部分的に更新します
Expand
表13.18 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表13.19 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

EgressRouter スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された EgressRouter のステータスを置き換えます
Expand
表13.20 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表13.21 本文パラメーター
パラメーター説明

body

EgressRouter スキーマ

 
Expand
表13.22 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

EgressRouter スキーマ

201 - Created

EgressRouter スキーマ

401 - Unauthorized

空白

第14章 GRPCRoute [gateway.networking.k8s.io/v1]

説明

GRPCRoute は、gRPC 要求のルーティングに使用できます。これには、ホスト名、gRPC サービス、gRPC メソッド、または HTTP/2 ヘッダーで要求を照合する機能が含まれています。フィルターを使用して追加の処理ステップを指定できます。バックエンドは、一致する要求がルーティングされる場所を指定します。

GRPCRoute は、Gateway API 内の延長サポートの対象です。以下の仕様では、"〜する必要がある" という表現は、GRPCRoute をサポートする実装は示された要件に準拠する必要があることを示しています。ただし、このルートタイプをサポートしない実装は、明示的に示されない限り、要件に従う必要はありません。

HTTPS ProtocolType を使用して GRPCRoute をサポートする実装は、HTTP/1.1 からの初期アップグレードなし (つまり ALPN 経由) で HTTP/2 接続を受け入れる必要があります。実装がこれをサポートしていない場合は、影響を受けるリスナーの "Accepted" 条件を "False" に設定し、理由を "UnsupportedProtocol" にする必要があります。実装では、HTTP/1 からのアップグレードにより HTTP/2 接続も受け入れる場合があります。

HTTP ProtocolTypeGRPCRoute をサポートする実装は、HTTP/1.1 からの初期アップグレードなし (つまり事前の知識なし https://www.rfc-editor.org/rfc/rfc7540#section-3.4) で、クリアテキスト TCP 経由の HTTP/2 (h2c、https://www.rfc-editor.org/rfc/rfc7540#section-3.1) をサポートする必要があります。実装がこれをサポートしていない場合は、影響を受けるリスナーの "Accepted" 条件を "False" に設定し、理由を "UnsupportedProtocol" にする必要があります。実装では、事前の知識なしで、HTTP/1 からのアップグレードにより HTTP/2 接続を受け入れる場合もあります。

object

14.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

spec は、GRPCRoute の望ましい状態を定義します。

status

object

status は、GRPCRoute の現在の状態を定義します。

14.1.1. .spec

説明
spec は、GRPCRoute の望ましい状態を定義します。
object
Expand
プロパティー説明

hostnames

array (string)

hostnames は、GRPC Host ヘッダーと照合して、要求を処理するための GRPCRoute を選択するためのホスト名のセットを定義します。2 つの例外を除き、これは RFC 1123 のホスト名の定義と一致します。

1.IP は許可されていません。2. ホスト名の前にワイルドカードラベル (*.) を付けることができます。ワイルドカードラベルは、最初のラベルとして単独で表示される必要があります。

リスナーと GRPCRoute の両方でホスト名が指定されている場合、GRPCRoute をリスナーにアタッチするには、少なくとも 1 つの交差するホスト名が存在する必要があります。以下に例を示します。

* リスナーのホスト名は test.example.com で、ホスト名が指定されていないか、少なくとも test.example.com または *.example.com のいずれかが指定された GRPCRoutes と一致します。* リスナーのホスト名は *.example.com で、ホスト名が指定されていないか、リスナーのホスト名と一致するホスト名が 1 つ以上指定された GRPCRoutes と一致します。たとえば、test.example.com\*.example.com はどちらも一致します。一方で、example.comtest.example.net は一致しません。

ワイルドカードラベル (*.) が接頭辞として追加されているホスト名は、接尾辞一致として解釈されます。つまり、*.example.com に一致すると、test.example.comfoo.test.example.com の両方に一致しますが、example.com には一致しません。

リスナーと GRPCRoute の両方にホスト名が指定されている場合、リスナーのホスト名と一致しない GRPCRoute のホスト名はすべて無視する必要があります。たとえば、リスナーが *.example.com を指定し、GRPCRoute が test.example.comtest.example.net を指定した場合、test.example.net は一致とみなされてはなりません。

リスナーと GRPCRoute の両方にホスト名が指定されており、どちらも上記の条件に一致しない場合は、実装で GRPCRoute が受け入れられてはなりません。実装は、対応する RouteParentStatus で 'Accepted' 条件を False ステータスで報告する必要があります。

HTTPRoute または GRPCRoute タイプの Route (A) がリスナーにアタッチされ、そのリスナーにすでに他のタイプの Route (B) がアタッチされ、A と B のホスト名の共通部分が空ではない場合、実装では次の条件に従った順番で、これらの 2 つのルートのうち 1 つだけを受け入れる必要があります。

* 作成タイムスタンプに基づく古い方のルート。* "{namespace}/{name}" のアルファベット順で最初に表示されるルート。

拒否されたルートは、対応する RouteParentStatus で 'Accepted' 条件を 'False' ステータスで報告する必要があります。

サポート: Core

parentRefs

array

ParentRefs は、ルートの割り当て先となるリソース (通常はゲートウェイ) を参照します。割り当てを完了するには、参照先の親リソースでこれを許可する必要があることに注意してください。つまり、ゲートウェイの場合は、ゲートウェイがこの種類のルートおよび namespace からの割り当てを許可する必要があります。サービスの場合は、サービスが "producer" ルートと同じ namespace に存在するか、メッシュ実装が参照先のサービスの "consumer" ルートをサポートして許可する必要があることを意味します。ReferenceGrant は、サービスへの ParentRef の管理には適用できません。ルートとは異なる namespace にサービスの "producer" ルートを作成することはできません。

"Core" サポートを備えた親リソースには 2 つの kind があります。

* ゲートウェイ (ゲートウェイ適合プロファイル) * サービス (メッシュ適合プロファイル、ClusterIP サービスのみ)

この API は、今後拡張され、追加の kind の親リソースをサポートする可能性があります。

ParentRefs はそれぞれ 区別される 必要があります。これは次のいずれかを意味します。

* 異なるオブジェクトを選択します。この場合、parentRef エントリーはそれぞれ区別されるエントリーです。フィールドに関して言えば、これは、groupkindnamespacename を使用して定義されるマルチパートキーが、ルート内のすべての parentRef エントリー間で一意である必要があることを意味します。* 異なるオブジェクトは選択しませんが、同じオブジェクトを選択する各 ParentRef は、使用するオプションフィールドごとに、同じオプションフィールドのセットを異なる値に設定する必要があります。1 つの ParentRef がオプションフィールドの組み合わせを設定する場合、すべて同じ組み合わせを設定する必要があります。

例:

* 1 つの ParentRef が sectionName を設定する場合、同じオブジェクトを参照するすべての ParentRef も sectionName を設定する必要があります。* 1 つの ParentRef が port を設定する場合、同じオブジェクトを参照するすべての ParentRef も port を設定する必要があります。* 1 つの ParentRef が sectionNameport を設定する場合、同じオブジェクトを参照するすべての ParentRef も sectionNameport を設定する必要があります。

実装によって折りたたまれる可能性のある複数の区別されるオブジェクトを個別に参照できます。たとえば、一部の実装では、互換性のあるゲートウェイリスナーをマージすることを選択することがあります。その場合は、それらのリソースに割り当てられたルートのリストもマージする必要があります。

namespace の境界をまたぐ ParentRef には、特定のルールがあることに注意してください。namespace 間の参照は、参照先の namespace 内の何かによって明示的に許可されている場合にのみ有効です。たとえば、ゲートウェイには AllowedRoutes フィールドがあり、ReferenceGrant は他の種類の namespace 間参照を有効にする一般的な方法を提供します。

parentRefs[]

object

ParentReference は、このリソース (通常はルート) の親とみなされる API オブジェクト (通常はゲートウェイ) を識別します。"Core" サポートを備えた親リソースには 2 つの kind があります。

* ゲートウェイ (ゲートウェイ適合プロファイル) * サービス (メッシュ適合プロファイル、ClusterIP サービスのみ)

この API は、今後拡張され、追加の kind の親リソースをサポートする可能性があります。

API オブジェクトはクラスター内で有効である必要があります。この参照を有効にするには、Group と Kind がクラスターに登録されている必要があります。

rules

array

rules は、GRPC マッチャー、フィルター、およびアクションのリストです。

rules[]

object

GRPCRouteRule は、条件 (一致) に基づいて gRPC 要求を一致させ、それを処理 (フィルター) し、要求を API オブジェクト (backendRefs) に転送するためのセマンティクスを定義します。

14.1.2. .spec.parentRefs

説明

ParentRefs は、ルートの割り当て先となるリソース (通常はゲートウェイ) を参照します。割り当てを完了するには、参照先の親リソースでこれを許可する必要があることに注意してください。つまり、ゲートウェイの場合は、ゲートウェイがこの種類のルートおよび namespace からの割り当てを許可する必要があります。サービスの場合は、サービスが "producer" ルートと同じ namespace に存在するか、メッシュ実装が参照先のサービスの "consumer" ルートをサポートして許可する必要があることを意味します。ReferenceGrant は、サービスへの ParentRef の管理には適用できません。ルートとは異なる namespace にサービスの "producer" ルートを作成することはできません。

"Core" サポートを備えた親リソースには 2 つの kind があります。

  • ゲートウェイ (ゲートウェイ適合プロファイル)
  • サービス (メッシュ適合プロファイル、ClusterIP サービスのみ)

この API は、今後拡張され、追加の kind の親リソースをサポートする可能性があります。

ParentRefs はそれぞれ 区別される 必要があります。これは次のいずれかを意味します。

  • 異なるオブジェクトを選択します。この場合、parentRef エントリーはそれぞれ区別されるエントリーです。フィールドに関して言えば、これは、groupkindnamespacename を使用して定義されるマルチパートキーが、ルート内のすべての parentRef エントリー間で一意である必要があることを意味します。
  • 異なるオブジェクトは選択しませんが、同じオブジェクトを選択する各 ParentRef は、使用するオプションフィールドごとに、同じオプションフィールドのセットを異なる値に設定する必要があります。1 つの ParentRef がオプションフィールドの組み合わせを設定する場合、すべて同じ組み合わせを設定する必要があります。

例:

  • 1 つの ParentRef が sectionName を設定する場合、同じオブジェクトを参照するすべての ParentRef も sectionName を設定する必要があります。
  • 1 つの ParentRef が port を設定する場合、同じオブジェクトを参照するすべての ParentRef も port を設定する必要があります。
  • 1 つの ParentRef が sectionNameport を設定する場合、同じオブジェクトを参照するすべての ParentRef も sectionNameport を設定する必要があります。

実装によって折りたたまれる可能性のある複数の区別されるオブジェクトを個別に参照できます。たとえば、一部の実装では、互換性のあるゲートウェイリスナーをマージすることを選択することがあります。その場合は、それらのリソースに割り当てられたルートのリストもマージする必要があります。

namespace の境界をまたぐ ParentRef には、特定のルールがあることに注意してください。namespace 間の参照は、参照先の namespace 内の何かによって明示的に許可されている場合にのみ有効です。たとえば、ゲートウェイには AllowedRoutes フィールドがあり、ReferenceGrant は他の種類の namespace 間参照を有効にする一般的な方法を提供します。

array

14.1.3. .spec.parentRefs[]

説明

ParentReference は、このリソース (通常はルート) の親とみなされる API オブジェクト (通常はゲートウェイ) を識別します。"Core" サポートを備えた親リソースには 2 つの kind があります。

  • ゲートウェイ (ゲートウェイ適合プロファイル)
  • サービス (メッシュ適合プロファイル、ClusterIP サービスのみ)

この API は、今後拡張され、追加の kind の親リソースをサポートする可能性があります。

API オブジェクトはクラスター内で有効である必要があります。この参照を有効にするには、Group と Kind がクラスターに登録されている必要があります。

object
必須
  • name
Expand
プロパティー説明

group

string

group は参照先のグループです。指定されていない場合は、"gateway.networking.k8s.io" が推論されます。コア API グループ ("Service" kind の参照先など) を設定するには、Group を明示的に "" (空の文字列) に設定する必要があります。

サポート: Core

kind

string

kind は参照先の kind です。

"Core" サポートを備えた親リソースには 2 つの kind があります。

* ゲートウェイ (ゲートウェイ適合プロファイル) * サービス (メッシュ適合プロファイル、ClusterIP サービスのみ)

その他のリソースのサポートは実装によって異なります。

name

string

name は参照先の名前です。

サポート: Core

namespace

string

namespace は参照先の namespace です。指定されていない場合は、ルートのローカル namespace を参照します。

namespace の境界をまたぐ ParentRef には固有のルールがあることに注意してください。namespace 間の参照は、参照先の namespace 内の何かによって明示的に許可されている場合にのみ有効です。たとえば、Gateway には AllowedRoutes フィールドがあり、ReferenceGrant は他の種類の namespace 間参照を有効にする一般的な方法を提供します。

サポート: Core

port

integer

port は、このルートがターゲットとするネットワークポートです。親リソースのタイプに応じて、解釈が異なる場合があります。

親リソースがゲートウェイの場合、これは指定されたポートでリッスンし、この種類のルートもサポートする (そしてこのルートを選択する) すべてのリスナーをターゲットとします。ルートで指定されたネットワーク動作を、ポートが変更される可能性のあるリスナーではなく特定のポートに適用する必要がある場合以外で Port を設定することは推奨されません。Port と SectionName の両方を指定する場合、選択したリスナーの名前とポートは、指定された両方の値と一致する必要があります。

実装では、他の親リソースをサポートすることを選択できます。他のタイプの親リソースをサポートする実装では、ポートが解釈されるかどうか、どのように解釈されるかを明確に文書化する必要があります。

ステータスの目的上、親リソースが割り当てを部分的に受け入れる限り、割り当ては成功したとみなされます。たとえば、ゲートウェイリスナーは、ルートの種類、namespace、またはホスト名によって、どのルートを割り当てられるかを制限できます。2 つのゲートウェイリスナーのうち 1 つが参照ルートからの割り当てを受け入れた場合、ルートは正常に割り当て済みであるとみなされる必要があります。ゲートウェイリスナーがこのルートからの割り当てを受け入れない場合、ゲートウェイからルートへの割り当てが解除されたとみなされる必要があります。

サポート: Extended

sectionName

string

SectionName は、ターゲットリソース内のセクションの名前です。次のリソースでは、SectionName は次のように解釈されます。

* ゲートウェイ: リスナー名。Port (実験的機能) と SectionName の両方を指定する場合、選択したリスナーの名前とポートは、指定された両方の値と一致する必要があります。* サービス: ポート名。Port (実験的機能) と SectionName の両方を指定する場合、選択したリスナーの名前とポートは、指定された両方の値と一致する必要があります。

実装では、ルートを他のリソースに割り当てることもサポートできます。その場合は、SectionName がどのように解釈されるかを明確に文書化する必要があります。

指定されていない場合 (空の文字列)、リソース全体が参照されます。ステータスの目的上、親リソース内の少なくとも 1 つのセクションが割り当てを受け入れると、割り当ては成功したとみなされます。たとえば、ゲートウェイリスナーは、ルートの種類、namespace、またはホスト名によって、どのルートを割り当てられるかを制限できます。2 つのゲートウェイリスナーのうち 1 つが参照ルートからの割り当てを受け入れた場合、ルートは正常に割り当て済みであるとみなされる必要があります。ゲートウェイリスナーがこのルートからの割り当てを受け入れない場合、ゲートウェイからルートへの割り当てが解除されたとみなされる必要があります。

サポート: Core

14.1.4. .spec.rules

説明
rules は、GRPC マッチャー、フィルター、およびアクションのリストです。
array

14.1.5. .spec.rules[]

説明
GRPCRouteRule は、条件 (一致) に基づいて gRPC 要求を一致させ、それを処理 (フィルター) し、要求を API オブジェクト (backendRefs) に転送するためのセマンティクスを定義します。
object
Expand
プロパティー説明

backendRefs

array

backendRefs は、一致する要求を送信するバックエンドを定義します。

失敗の動作は、指定された BackendRef の数と無効な BackendRef の数により異なります。

BackendRefs 内の すべて のエントリーが無効で、このルートルールにフィルターがまったく指定されていない場合、このルールに一致する すべて のトラフィックは UNAVAILABLE ステータスを受け取る必要があります。

1 つの GRPCBackendRef が無効になるルールは、GRPCBackendRef の定義を参照してください。

GRPCBackendRef が無効な場合、無効なバックエンドにルーティングされるはずであった要求に対して UNAVAILABLE ステータスを返す必要があります。複数のバックエンドが指定されており、その一部が無効な場合、無効なバックエンドにルーティングされるはずであった割合の要求は、UNAVAILABLE ステータスを受け取る必要があります。

たとえば、2 つのバックエンドが同じ重みで指定され、そのうちの 1 つが無効な場合、トラフィックの 50 パーセントは UNAVAILABLE ステータスを受信する必要があります。実装では、その 50 パーセントを決定する方法を選択できます。

サポート: Kubernetes Service は Core

サポート: その他のリソースは実装固有

重みのサポート: Core

backendRefs[]

object

GRPCBackendRef は、GRPCRoute が gRPC 要求を転送する方法を定義します。

ローカル namespace とは異なる namespace を指定する場合、その namespace の所有者が参照を受け入れるためには、参照先 namespace に ReferenceGrant オブジェクトが必要であることに注意してください。詳細は、ReferenceGrant ドキュメントを参照してください。

filters

array

フィルターは、このルールに一致する要求に適用されるフィルターを定義します。

複数の動作の順序付けの効果は現在指定されていません。これは、アルファ段階でのフィードバックに基づき、今後変更される可能性があります。

このレベルでの適合レベルは、フィルタータイプに基づき定義されます。

- すべてのコアフィルターは、GRPCRoute をサポートするすべての実装でサポートされる必要があります。- 実装者は拡張フィルターをサポートすることが推奨されます。- 実装固有のカスタムフィルターでは、実装をまたいだ API は保証されていません。

フィルターに明示的に指定されていない限り、同じフィルターを複数回指定することはサポートされません。

実装がフィルターの組み合わせをサポートできない場合は、その制限を明確に文書化する必要があります。互換性のないフィルターやサポート対象外のフィルターが指定され、Accepted 条件のステータスが False に設定されると、実装では IncompatibleFilters を理由としてこの設定エラーを指定します。

サポート: Core

filters[]

object

GRPCRouteFilter は、要求または応答のライフサイクル中に完了する必要がある処理手順を定義します。GRPCRouteFilters は、ゲートウェイ実装で実行される可能性のある処理を表現するための拡張ポイントとなることを意図されています。例としては、要求または応答の変更、認証ストラテジーの実装、帯域制限、トラフィックシェーピングなどが挙げられます。API の保証/適合性は、フィルタータイプに基づき定義されます。

matches

array

matches は、着信 gRPC 要求にルールを一致させるために使用する条件を定義します。match はそれぞれ独立しています。つまり、いずれか の match が満たされると、ルールが一致します。

たとえば、次の matches 設定を見てみましょう。

matches: - method: service: foo.bar headers: values: version: 2 - method: service: foo.bar.v2

次の 2 つの条件のいずれかを満たすと、要求はこのルールに一致するとみなされます。

- foo.bar のサービスであり、ヘッダー version: 2 が含まれる。- foo.bar.v2 のサービスである。

複数の match 条件を AND で結合して指定する方法は、GRPCRouteMatch のドキュメントを参照してください。

matches が指定されていない場合、実装はすべての gRPC 要求に一致する必要があります。

GRPCRoutes から生成されたプロキシーまたはロードバランサーのルーティング設定では、以下に示す条件に基づき優先順位付けをする必要があり、同順位の場合は次の条件を使用して決定します。GRPCRoutes と HTTPRoutes の間でマージを行ってはなりません。以下の項目が最も多いルールが優先される必要があります。

* 一致する非ワイルドカードのホスト名の文字。* 一致するホスト名の文字。* 一致するサービスの文字。* 一致するメソッドの文字。* 一致するヘッダー。

複数のルートをまたいで同点が存在する場合は、以下に示す条件に基づき一致の優先順位を決定する必要があり、同順位の場合は次の条件を使用して決定します。

* 作成タイムスタンプに基づく古い方のルート。* "{namespace}/{name}" のアルファベット順で最初に表示されるルート。

優先権が与えられたルート内でまだ同順位が存在する場合、上記の基準を満たす最初のマッチングルールに matching の優先権を付与する必要があります。

matches[]

object

GRPCRouteMatch は、要求を特定のアクションに一致させるために使用される述語を定義します。複数の一致タイプは AND を使用して結合されます。つまり、すべての条件が満たされた場合にのみ match は true と評価されます。

たとえば、以下の match は、サービスが foo であり、かつ version: v1 ヘッダーが含まれている場合にのみ gRPC 要求と一致します。

matches: - method: type: Exact service: "foo" headers: - name: "version" value "v1"

14.1.6. .spec.rules[].backendRefs

説明

backendRefs は、一致する要求を送信するバックエンドを定義します。

失敗の動作は、指定された BackendRef の数と無効な BackendRef の数により異なります。

BackendRefs 内の すべて のエントリーが無効で、このルートルールにフィルターがまったく指定されていない場合、このルールに一致する すべて のトラフィックは UNAVAILABLE ステータスを受け取る必要があります。

1 つの GRPCBackendRef が無効になるルールは、GRPCBackendRef の定義を参照してください。

GRPCBackendRef が無効な場合、無効なバックエンドにルーティングされるはずであった要求に対して UNAVAILABLE ステータスを返す必要があります。複数のバックエンドが指定されており、その一部が無効な場合、無効なバックエンドにルーティングされるはずであった割合の要求は、UNAVAILABLE ステータスを受け取る必要があります。

たとえば、2 つのバックエンドが同じ重みで指定され、そのうちの 1 つが無効な場合、トラフィックの 50 パーセントは UNAVAILABLE ステータスを受信する必要があります。実装では、その 50 パーセントを決定する方法を選択できます。

サポート: Kubernetes Service は Core

サポート: その他のリソースは実装固有

重みのサポート: Core

array

14.1.7. .spec.rules[].backendRefs[]

説明

GRPCBackendRef は、GRPCRoute が gRPC 要求を転送する方法を定義します。

ローカル namespace とは異なる namespace を指定する場合、その namespace の所有者が参照を受け入れるためには、参照先 namespace に ReferenceGrant オブジェクトが必要であることに注意してください。詳細は、ReferenceGrant ドキュメントを参照してください。

object
必須
  • name
Expand
プロパティー説明

filters

array

このレベルで定義されたフィルターは、ここで定義されたバックエンドに要求が転送される場合にのみ実行される必要があります。

サポート: 実装固有 (より広範なフィルターのサポートが必要な場合は、GRPCRouteRule の Filters フィールドを使用します。)

filters[]

object

GRPCRouteFilter は、要求または応答のライフサイクル中に完了する必要がある処理手順を定義します。GRPCRouteFilters は、ゲートウェイ実装で実行される可能性のある処理を表現するための拡張ポイントとなることを意図されています。例としては、要求または応答の変更、認証ストラテジーの実装、帯域制限、トラフィックシェーピングなどが挙げられます。API の保証/適合性は、フィルタータイプに基づき定義されます。

group

string

group は参照先のグループです。たとえば "gateway.networking.k8s.io" です。指定されていないか空の文字列の場合、core API グループが推論されます。

kind

string

kind は、参照先の Kubernetes リソースの種類です。たとえば、"Service" があります。

指定されていない場合のデフォルトは "Service" です。

ExternalName サービスは、クラスターの外部に存在する可能性のある CNAME DNS レコードを参照する可能性があるため、準拠の観点から判断することが困難です。また、転送先としても安全ではない可能性があります (詳細は、CVE-2021-25740 を参照してください)。実装では、ExternalName サービスをサポートしないでください。

サポート: Core (ExternalName 以外のタイプのサービス)

サポート: 実装固有 (ExternalName タイプのサービス)

name

string

name は参照先の名前です。

namespace

string

namespace はバックエンドの namespace です。指定しない場合は、ローカル namespace が推論されます。

ローカル namespace とは異なる namespace を指定する場合、その namespace の所有者が参照を受け入れるためには、参照先 namespace に ReferenceGrant オブジェクトが必要であることに注意してください。詳細は、ReferenceGrant ドキュメントを参照してください。

サポート: Core

port

integer

port は、このリソースに使用する宛先ポート番号を指定します。参照先が Kubernetes サービスの場合は port が必要です。この場合、ポート番号はターゲットポートではなく、サービスポート番号です。その他のリソースの場合、宛先ポートは参照先リソースまたはこのフィールドから導出される可能性があります。

weight

integer

weight は、参照先のバックエンドに転送される要求の割合を指定します。重み/(この BackendRefs リスト内のすべての重みの合計) で計算されます。ゼロ以外の値の場合、実装がサポートする精度に応じて、ここで定義された正確な割合から僅かな誤差が発生する可能性があります重みはパーセンテージではありません。重みの合計が 100 になる必要はありません。

バックエンドが 1 つだけ指定され、その重みが 0 より大きい場合、トラフィックの 100% がそのバックエンドに転送されます。重みが 0 に設定されている場合、このエントリーに対してトラフィックは転送されません。指定しない場合、重みはデフォルトで 1 になります。

このフィールドのサポートは、使用されるコンテキストにより異なります。

14.1.8. .spec.rules[].backendRefs[].filters

説明

このレベルで定義されたフィルターは、ここで定義されたバックエンドに要求が転送される場合にのみ実行される必要があります。

サポート: 実装固有 (より広範なフィルターのサポートが必要な場合は、GRPCRouteRule の Filters フィールドを使用します。)

array

14.1.9. .spec.rules[].backendRefs[].filters[]

説明
GRPCRouteFilter は、要求または応答のライフサイクル中に完了する必要がある処理手順を定義します。GRPCRouteFilters は、ゲートウェイ実装で実行される可能性のある処理を表現するための拡張ポイントとなることを意図されています。例としては、要求または応答の変更、認証ストラテジーの実装、帯域制限、トラフィックシェーピングなどが挙げられます。API の保証/適合性は、フィルタータイプに基づき定義されます。
object
必須
  • type
Expand
プロパティー説明

extensionRef

object

ExtensionRef は、"filter" 動作に対するオプションの実装固有の拡張機能です。たとえば、"networking.example.net" グループ内の "myroutefilter" リソースがあります。ExtensionRef は、コアフィルターおよび拡張フィルターには使用しないでください。

サポート: 実装固有

このフィルターは同じルール内で複数回使用できます。

requestHeaderModifier

object

RequestHeaderModifier は、要求ヘッダーを変更するフィルターのスキーマを定義します。

サポート: Core

requestMirror

object

RequestMirror は、要求をミラーリングするフィルターのスキーマを定義します。要求は指定された宛先に送信されますが、その宛先からの応答は無視されます。

このフィルターは同じルール内で複数回使用できます。すべての実装が複数のバックエンドへのミラーリングをサポートできるわけではないことに注意してください。

サポート: Extended

responseHeaderModifier

object

ResponseHeaderModifier は、応答ヘッダーを変更するフィルターのスキーマを定義します。

サポート: Extended

type

string

type は適用するフィルターのタイプを識別します。他の API フィールドと同様に、タイプは次の 3 つの準拠レベルに分類されます。

- コア: このパッケージの "サポート: Core" で定義されたフィルタータイプとそれに対応する設定 (例: "RequestHeaderModifier")。GRPCRoute をサポートするすべての実装は、コアフィルターをサポートする必要があります。

- 拡張: このパッケージの "サポート: Extended" で定義されたフィルタータイプとそれに対応する設定 (例: "RequestMirror")。実装者は拡張フィルターをサポートすることが推奨されます。

- 実装固有: 特定のベンダーによって定義およびサポートされているフィルター。将来的には、複数の実装をまたいで動作が収束するフィルターを、拡張またはコア適合レベルに含めることが検討される予定です。このようなフィルターのフィルター固有の設定は、ExtensionRef フィールドを使用して指定されます。カスタムフィルターの場合、Type は "ExtensionRef" に設定する必要があります。

実装者は、実装固有の動作でコア API を拡張するために、カスタム実装タイプを定義することが推奨されます。

カスタムフィルタータイプへの参照を解決できない場合は、フィルターをスキップしてはなりません。代わりに、そのフィルターによって処理されるはずだった要求は、HTTP エラー応答を受信する必要があります。

14.1.10. .spec.rules[].backendRefs[].filters[].extensionRef

説明

ExtensionRef は、"filter" 動作に対するオプションの実装固有の拡張機能です。たとえば、"networking.example.net" グループ内の "myroutefilter" リソースがあります。ExtensionRef は、コアフィルターおよび拡張フィルターには使用しないでください。

サポート: 実装固有

このフィルターは同じルール内で複数回使用できます。

object
必須
  • group
  • kind
  • name
Expand
プロパティー説明

group

string

group は参照先のグループです。たとえば "gateway.networking.k8s.io" です。指定されていないか空の文字列の場合、core API グループが推論されます。

kind

string

kind は参照先の kind です。たとえば、"HTTPRoute" や "Service" があります。

name

string

name は参照先の名前です。

14.1.11. .spec.rules[].backendRefs[].filters[].requestHeaderModifier

説明

RequestHeaderModifier は、要求ヘッダーを変更するフィルターのスキーマを定義します。

サポート: Core

object
Expand
プロパティー説明

add

array

Add は、アクションの前に、指定されたヘッダー (名前、値) を要求に追加します。ヘッダー名に関連付けられている既存の値に追加されます。

入力: GET /foo HTTP/1.1 my-header: foo

設定: add: - name: "my-header" value: "bar,baz"

出力: GET /foo HTTP/1.1 my-header: foo,bar,baz

add[]

object

HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。

remove

array (string)

アクションの前に、HTTP 要求から指定されたヘッダーを削除します。Remove の値は、HTTP ヘッダー名のリストです。ヘッダー名では、大文字と小文字が区別されないことに注意してください (https://datatracker.ietf.org/doc/html/rfc2616#section-4.2 を参照)。

入力: GET /foo HTTP/1.1 my-header1: foo my-header2: bar my-header3: baz

設定: remove: ["my-header1", "my-header3"]

出力: GET /foo HTTP/1.1 my-header2: bar

set

array

Set は、アクションの前に指定されたヘッダー (名前、値) を使用して要求を上書きします。

入力: GET /foo HTTP/1.1 my-header: foo

設定: set: - name: "my-header" value: "bar"

出力: GET /foo HTTP/1.1 my-header: bar

set[]

object

HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。

14.1.12. .spec.rules[].backendRefs[].filters[].requestHeaderModifier.add

説明

Add は、アクションの前に、指定されたヘッダー (名前、値) を要求に追加します。ヘッダー名に関連付けられている既存の値に追加されます。

入力: GET /foo HTTP/1.1 my-header: foo

設定: add: - name: "my-header" value: "bar,baz"

出力: GET /foo HTTP/1.1 my-header: foo,bar,baz

array

14.1.13. .spec.rules[].backendRefs[].filters[].requestHeaderModifier.add[]

説明
HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。
object
必須
  • name
  • value
Expand
プロパティー説明

name

string

name は、一致させる HTTP ヘッダーの名前です。名前の一致では、大文字と小文字を区別しないでください。(https://tools.ietf.org/html/rfc7230#section-3.2 を参照)。

複数のエントリーが同じヘッダー名を指定している場合、同じ名前を持つ最初のエントリーが一致とみなされる必要があります。同じヘッダー名を持つ後続のエントリーは無視する必要があります。ヘッダー名では大文字と小文字が区別されないため、"foo" と "Foo" は同じとみなされます。

value

string

value は、一致させる HTTP ヘッダーの値です。

14.1.14. .spec.rules[].backendRefs[].filters[].requestHeaderModifier.set

説明

Set は、アクションの前に指定されたヘッダー (名前、値) を使用して要求を上書きします。

入力: GET /foo HTTP/1.1 my-header: foo

設定: set: - name: "my-header" value: "bar"

出力: GET /foo HTTP/1.1 my-header: bar

array

14.1.15. .spec.rules[].backendRefs[].filters[].requestHeaderModifier.set[]

説明
HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。
object
必須
  • name
  • value
Expand
プロパティー説明

name

string

name は、一致させる HTTP ヘッダーの名前です。名前の一致では、大文字と小文字を区別しないでください。(https://tools.ietf.org/html/rfc7230#section-3.2 を参照)。

複数のエントリーが同じヘッダー名を指定している場合、同じ名前を持つ最初のエントリーが一致とみなされる必要があります。同じヘッダー名を持つ後続のエントリーは無視する必要があります。ヘッダー名では大文字と小文字が区別されないため、"foo" と "Foo" は同じとみなされます。

value

string

value は、一致させる HTTP ヘッダーの値です。

14.1.16. .spec.rules[].backendRefs[].filters[].requestMirror

説明

RequestMirror は、要求をミラーリングするフィルターのスキーマを定義します。要求は指定された宛先に送信されますが、その宛先からの応答は無視されます。

このフィルターは同じルール内で複数回使用できます。すべての実装が複数のバックエンドへのミラーリングをサポートできるわけではないことに注意してください。

サポート: Extended

object
必須
  • backendRef
Expand
プロパティー説明

backendRef

object

BackendRef は、ミラーリングされた要求が送信されるリソースを参照します。

ミラーリングされた要求は、この BackendRef 内に存在するエンドポトの数に関係なく、この BackendRef 内の単一の宛先エンドポイントにのみ送信する必要があります。

参照先が見つからない場合、この BackendRef は無効であり、ゲートウェイから削除する必要があります。コントローラーは、ルートステータスの "ResolvedRefs" 条件が status: False に設定されていることを確認し、基礎となる実装でこのバックエンドを設定しないようにする必要があります。

ReferenceGrant が許可しない 既存 オブジェクトへの namespace 間の参照がある場合、コントローラーは、ルートの "ResolvedRefs" 条件が status: False (理由は "RefNotPermitted") に設定されていることを確認して、基礎となる実装でこのバックエンドを設定しないようにする必要があります。

どちらのエラーでも、ResolvedRefs 条件のメッセージを使用して、問題の詳細を提供する必要があります。

サポート : Kubernetes Service は Extended

サポート: その他のリソースは実装固有

fraction

object

Fraction は、BackendRef にミラーリングする必要がある要求の割合を表します。

Fraction と Percent のいずれか 1 つだけを指定できます。どちらのフィールドも指定されていない場合は、要求の 100% がミラーリングされます。

percent

integer

percent は、BackendRef にミラーリングする必要がある要求のパーセンテージを表します。最小値は 0 (要求の 0% を示す)、最大値は 100 (要求の 100% を示す) です。

Fraction と Percent のいずれか 1 つだけを指定できます。どちらのフィールドも指定されていない場合は、要求の 100% がミラーリングされます。

14.1.17. .spec.rules[].backendRefs[].filters[].requestMirror.backendRef

説明

BackendRef は、ミラーリングされた要求が送信されるリソースを参照します。

ミラーリングされた要求は、この BackendRef 内に存在するエンドポトの数に関係なく、この BackendRef 内の単一の宛先エンドポイントにのみ送信する必要があります。

参照先が見つからない場合、この BackendRef は無効であり、ゲートウェイから削除する必要があります。コントローラーは、ルートステータスの "ResolvedRefs" 条件が status: False に設定されていることを確認し、基礎となる実装でこのバックエンドを設定しないようにする必要があります。

ReferenceGrant が許可しない 既存 オブジェクトへの namespace 間の参照がある場合、コントローラーは、ルートの "ResolvedRefs" 条件が status: False (理由は "RefNotPermitted") に設定されていることを確認して、基礎となる実装でこのバックエンドを設定しないようにする必要があります。

どちらのエラーでも、ResolvedRefs 条件のメッセージを使用して、問題の詳細を提供する必要があります。

サポート : Kubernetes Service は Extended

サポート: その他のリソースは実装固有

object
必須
  • name
Expand
プロパティー説明

group

string

group は参照先のグループです。たとえば "gateway.networking.k8s.io" です。指定されていないか空の文字列の場合、core API グループが推論されます。

kind

string

kind は、参照先の Kubernetes リソースの種類です。たとえば、"Service" があります。

指定されていない場合のデフォルトは "Service" です。

ExternalName サービスは、クラスターの外部に存在する可能性のある CNAME DNS レコードを参照する可能性があるため、準拠の観点から判断することが困難です。また、転送先としても安全ではない可能性があります (詳細は、CVE-2021-25740 を参照してください)。実装では、ExternalName サービスをサポートしないでください。

サポート: Core (ExternalName 以外のタイプのサービス)

サポート: 実装固有 (ExternalName タイプのサービス)

name

string

name は参照先の名前です。

namespace

string

namespace はバックエンドの namespace です。指定しない場合は、ローカル namespace が推論されます。

ローカル namespace とは異なる namespace を指定する場合、その namespace の所有者が参照を受け入れるためには、参照先 namespace に ReferenceGrant オブジェクトが必要であることに注意してください。詳細は、ReferenceGrant ドキュメントを参照してください。

サポート: Core

port

integer

port は、このリソースに使用する宛先ポート番号を指定します。参照先が Kubernetes サービスの場合は port が必要です。この場合、ポート番号はターゲットポートではなく、サービスポート番号です。その他のリソースの場合、宛先ポートは参照先リソースまたはこのフィールドから導出される可能性があります。

14.1.18. .spec.rules[].backendRefs[].filters[].requestMirror.fraction

説明

Fraction は、BackendRef にミラーリングする必要がある要求の割合を表します。

Fraction と Percent のいずれか 1 つだけを指定できます。どちらのフィールドも指定されていない場合は、要求の 100% がミラーリングされます。

object
必須
  • numerator
Expand
プロパティー説明

denominator

integer

 

numerator

integer

 

14.1.19. .spec.rules[].backendRefs[].filters[].responseHeaderModifier

説明

ResponseHeaderModifier は、応答ヘッダーを変更するフィルターのスキーマを定義します。

サポート: Extended

object
Expand
プロパティー説明

add

array

Add は、アクションの前に、指定されたヘッダー (名前、値) を要求に追加します。ヘッダー名に関連付けられている既存の値に追加されます。

入力: GET /foo HTTP/1.1 my-header: foo

設定: add: - name: "my-header" value: "bar,baz"

出力: GET /foo HTTP/1.1 my-header: foo,bar,baz

add[]

object

HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。

remove

array (string)

アクションの前に、HTTP 要求から指定されたヘッダーを削除します。Remove の値は、HTTP ヘッダー名のリストです。ヘッダー名では、大文字と小文字が区別されないことに注意してください (https://datatracker.ietf.org/doc/html/rfc2616#section-4.2 を参照)。

入力: GET /foo HTTP/1.1 my-header1: foo my-header2: bar my-header3: baz

設定: remove: ["my-header1", "my-header3"]

出力: GET /foo HTTP/1.1 my-header2: bar

set

array

Set は、アクションの前に指定されたヘッダー (名前、値) を使用して要求を上書きします。

入力: GET /foo HTTP/1.1 my-header: foo

設定: set: - name: "my-header" value: "bar"

出力: GET /foo HTTP/1.1 my-header: bar

set[]

object

HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。

14.1.20. .spec.rules[].backendRefs[].filters[].responseHeaderModifier.add

説明

Add は、アクションの前に、指定されたヘッダー (名前、値) を要求に追加します。ヘッダー名に関連付けられている既存の値に追加されます。

入力: GET /foo HTTP/1.1 my-header: foo

設定: add: - name: "my-header" value: "bar,baz"

出力: GET /foo HTTP/1.1 my-header: foo,bar,baz

array

14.1.21. .spec.rules[].backendRefs[].filters[].responseHeaderModifier.add[]

説明
HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。
object
必須
  • name
  • value
Expand
プロパティー説明

name

string

name は、一致させる HTTP ヘッダーの名前です。名前の一致では、大文字と小文字を区別しないでください。(https://tools.ietf.org/html/rfc7230#section-3.2 を参照)。

複数のエントリーが同じヘッダー名を指定している場合、同じ名前を持つ最初のエントリーが一致とみなされる必要があります。同じヘッダー名を持つ後続のエントリーは無視する必要があります。ヘッダー名では大文字と小文字が区別されないため、"foo" と "Foo" は同じとみなされます。

value

string

value は、一致させる HTTP ヘッダーの値です。

14.1.22. .spec.rules[].backendRefs[].filters[].responseHeaderModifier.set

説明

Set は、アクションの前に指定されたヘッダー (名前、値) を使用して要求を上書きします。

入力: GET /foo HTTP/1.1 my-header: foo

設定: set: - name: "my-header" value: "bar"

出力: GET /foo HTTP/1.1 my-header: bar

array

14.1.23. .spec.rules[].backendRefs[].filters[].responseHeaderModifier.set[]

説明
HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。
object
必須
  • name
  • value
Expand
プロパティー説明

name

string

name は、一致させる HTTP ヘッダーの名前です。名前の一致では、大文字と小文字を区別しないでください。(https://tools.ietf.org/html/rfc7230#section-3.2 を参照)。

複数のエントリーが同じヘッダー名を指定している場合、同じ名前を持つ最初のエントリーが一致とみなされる必要があります。同じヘッダー名を持つ後続のエントリーは無視する必要があります。ヘッダー名では大文字と小文字が区別されないため、"foo" と "Foo" は同じとみなされます。

value

string

value は、一致させる HTTP ヘッダーの値です。

14.1.24. .spec.rules[].filters

説明

フィルターは、このルールに一致する要求に適用されるフィルターを定義します。

複数の動作の順序付けの効果は現在指定されていません。これは、アルファ段階でのフィードバックに基づき、今後変更される可能性があります。

このレベルでの適合レベルは、フィルタータイプに基づき定義されます。

  • すべてのコアフィルターは、GRPCRoute をサポートするすべての実装でサポートされる必要があります。
  • 実装者は拡張フィルターをサポートすることが推奨されます。
  • 実装固有のカスタムフィルターでは、実装間で API は保証されません。

フィルターに明示的に指定されていない限り、同じフィルターを複数回指定することはサポートされません。

実装がフィルターの組み合わせをサポートできない場合は、その制限を明確に文書化する必要があります。互換性のないフィルターやサポート対象外のフィルターが指定され、Accepted 条件のステータスが False に設定されると、実装では IncompatibleFilters を理由としてこの設定エラーを指定します。

サポート: Core

array

14.1.25. .spec.rules[].filters[]

説明
GRPCRouteFilter は、要求または応答のライフサイクル中に完了する必要がある処理手順を定義します。GRPCRouteFilters は、ゲートウェイ実装で実行される可能性のある処理を表現するための拡張ポイントとなることを意図されています。例としては、要求または応答の変更、認証ストラテジーの実装、帯域制限、トラフィックシェーピングなどが挙げられます。API の保証/適合性は、フィルタータイプに基づき定義されます。
object
必須
  • type
Expand
プロパティー説明

extensionRef

object

ExtensionRef は、"filter" 動作に対するオプションの実装固有の拡張機能です。たとえば、"networking.example.net" グループ内の "myroutefilter" リソースがあります。ExtensionRef は、コアフィルターおよび拡張フィルターには使用しないでください。

サポート: 実装固有

このフィルターは同じルール内で複数回使用できます。

requestHeaderModifier

object

RequestHeaderModifier は、要求ヘッダーを変更するフィルターのスキーマを定義します。

サポート: Core

requestMirror

object

RequestMirror は、要求をミラーリングするフィルターのスキーマを定義します。要求は指定された宛先に送信されますが、その宛先からの応答は無視されます。

このフィルターは同じルール内で複数回使用できます。すべての実装が複数のバックエンドへのミラーリングをサポートできるわけではないことに注意してください。

サポート: Extended

responseHeaderModifier

object

ResponseHeaderModifier は、応答ヘッダーを変更するフィルターのスキーマを定義します。

サポート: Extended

type

string

type は適用するフィルターのタイプを識別します。他の API フィールドと同様に、タイプは次の 3 つの準拠レベルに分類されます。

- コア: このパッケージの "サポート: Core" で定義されたフィルタータイプとそれに対応する設定 (例: "RequestHeaderModifier")。GRPCRoute をサポートするすべての実装は、コアフィルターをサポートする必要があります。

- 拡張: このパッケージの "サポート: Extended" で定義されたフィルタータイプとそれに対応する設定 (例: "RequestMirror")。実装者は拡張フィルターをサポートすることが推奨されます。

- 実装固有: 特定のベンダーによって定義およびサポートされているフィルター。将来的には、複数の実装をまたいで動作が収束するフィルターを、拡張またはコア適合レベルに含めることが検討される予定です。このようなフィルターのフィルター固有の設定は、ExtensionRef フィールドを使用して指定されます。カスタムフィルターの場合、Type は "ExtensionRef" に設定する必要があります。

実装者は、実装固有の動作でコア API を拡張するために、カスタム実装タイプを定義することが推奨されます。

カスタムフィルタータイプへの参照を解決できない場合は、フィルターをスキップしてはなりません。代わりに、そのフィルターによって処理されるはずだった要求は、HTTP エラー応答を受信する必要があります。

14.1.26. .spec.rules[].filters[].extensionRef

説明

ExtensionRef は、"filter" 動作に対するオプションの実装固有の拡張機能です。たとえば、"networking.example.net" グループ内の "myroutefilter" リソースがあります。ExtensionRef は、コアフィルターおよび拡張フィルターには使用しないでください。

サポート: 実装固有

このフィルターは同じルール内で複数回使用できます。

object
必須
  • group
  • kind
  • name
Expand
プロパティー説明

group

string

group は参照先のグループです。たとえば "gateway.networking.k8s.io" です。指定されていないか空の文字列の場合、core API グループが推論されます。

kind

string

kind は参照先の kind です。たとえば、"HTTPRoute" や "Service" があります。

name

string

name は参照先の名前です。

14.1.27. .spec.rules[].filters[].requestHeaderModifier

説明

RequestHeaderModifier は、要求ヘッダーを変更するフィルターのスキーマを定義します。

サポート: Core

object
Expand
プロパティー説明

add

array

Add は、アクションの前に、指定されたヘッダー (名前、値) を要求に追加します。ヘッダー名に関連付けられている既存の値に追加されます。

入力: GET /foo HTTP/1.1 my-header: foo

設定: add: - name: "my-header" value: "bar,baz"

出力: GET /foo HTTP/1.1 my-header: foo,bar,baz

add[]

object

HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。

remove

array (string)

アクションの前に、HTTP 要求から指定されたヘッダーを削除します。Remove の値は、HTTP ヘッダー名のリストです。ヘッダー名では、大文字と小文字が区別されないことに注意してください (https://datatracker.ietf.org/doc/html/rfc2616#section-4.2 を参照)。

入力: GET /foo HTTP/1.1 my-header1: foo my-header2: bar my-header3: baz

設定: remove: ["my-header1", "my-header3"]

出力: GET /foo HTTP/1.1 my-header2: bar

set

array

Set は、アクションの前に指定されたヘッダー (名前、値) を使用して要求を上書きします。

入力: GET /foo HTTP/1.1 my-header: foo

設定: set: - name: "my-header" value: "bar"

出力: GET /foo HTTP/1.1 my-header: bar

set[]

object

HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。

14.1.28. .spec.rules[].filters[].requestHeaderModifier.add

説明

Add は、アクションの前に、指定されたヘッダー (名前、値) を要求に追加します。ヘッダー名に関連付けられている既存の値に追加されます。

入力: GET /foo HTTP/1.1 my-header: foo

設定: add: - name: "my-header" value: "bar,baz"

出力: GET /foo HTTP/1.1 my-header: foo,bar,baz

array

14.1.29. .spec.rules[].filters[].requestHeaderModifier.add[]

説明
HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。
object
必須
  • name
  • value
Expand
プロパティー説明

name

string

name は、一致させる HTTP ヘッダーの名前です。名前の一致では、大文字と小文字を区別しないでください。(https://tools.ietf.org/html/rfc7230#section-3.2 を参照)。

複数のエントリーが同じヘッダー名を指定している場合、同じ名前を持つ最初のエントリーが一致とみなされる必要があります。同じヘッダー名を持つ後続のエントリーは無視する必要があります。ヘッダー名では大文字と小文字が区別されないため、"foo" と "Foo" は同じとみなされます。

value

string

value は、一致させる HTTP ヘッダーの値です。

14.1.30. .spec.rules[].filters[].requestHeaderModifier.set

説明

Set は、アクションの前に指定されたヘッダー (名前、値) を使用して要求を上書きします。

入力: GET /foo HTTP/1.1 my-header: foo

設定: set: - name: "my-header" value: "bar"

出力: GET /foo HTTP/1.1 my-header: bar

array

14.1.31. .spec.rules[].filters[].requestHeaderModifier.set[]

説明
HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。
object
必須
  • name
  • value
Expand
プロパティー説明

name

string

name は、一致させる HTTP ヘッダーの名前です。名前の一致では、大文字と小文字を区別しないでください。(https://tools.ietf.org/html/rfc7230#section-3.2 を参照)。

複数のエントリーが同じヘッダー名を指定している場合、同じ名前を持つ最初のエントリーが一致とみなされる必要があります。同じヘッダー名を持つ後続のエントリーは無視する必要があります。ヘッダー名では大文字と小文字が区別されないため、"foo" と "Foo" は同じとみなされます。

value

string

value は、一致させる HTTP ヘッダーの値です。

14.1.32. .spec.rules[].filters[].requestMirror

説明

RequestMirror は、要求をミラーリングするフィルターのスキーマを定義します。要求は指定された宛先に送信されますが、その宛先からの応答は無視されます。

このフィルターは同じルール内で複数回使用できます。すべての実装が複数のバックエンドへのミラーリングをサポートできるわけではないことに注意してください。

サポート: Extended

object
必須
  • backendRef
Expand
プロパティー説明

backendRef

object

BackendRef は、ミラーリングされた要求が送信されるリソースを参照します。

ミラーリングされた要求は、この BackendRef 内に存在するエンドポトの数に関係なく、この BackendRef 内の単一の宛先エンドポイントにのみ送信する必要があります。

参照先が見つからない場合、この BackendRef は無効であり、ゲートウェイから削除する必要があります。コントローラーは、ルートステータスの "ResolvedRefs" 条件が status: False に設定されていることを確認し、基礎となる実装でこのバックエンドを設定しないようにする必要があります。

ReferenceGrant が許可しない 既存 オブジェクトへの namespace 間の参照がある場合、コントローラーは、ルートの "ResolvedRefs" 条件が status: False (理由は "RefNotPermitted") に設定されていることを確認して、基礎となる実装でこのバックエンドを設定しないようにする必要があります。

どちらのエラーでも、ResolvedRefs 条件のメッセージを使用して、問題の詳細を提供する必要があります。

サポート : Kubernetes Service は Extended

サポート: その他のリソースは実装固有

fraction

object

Fraction は、BackendRef にミラーリングする必要がある要求の割合を表します。

Fraction と Percent のいずれか 1 つだけを指定できます。どちらのフィールドも指定されていない場合は、要求の 100% がミラーリングされます。

percent

integer

percent は、BackendRef にミラーリングする必要がある要求のパーセンテージを表します。最小値は 0 (要求の 0% を示す)、最大値は 100 (要求の 100% を示す) です。

Fraction と Percent のいずれか 1 つだけを指定できます。どちらのフィールドも指定されていない場合は、要求の 100% がミラーリングされます。

14.1.33. .spec.rules[].filters[].requestMirror.backendRef

説明

BackendRef は、ミラーリングされた要求が送信されるリソースを参照します。

ミラーリングされた要求は、この BackendRef 内に存在するエンドポトの数に関係なく、この BackendRef 内の単一の宛先エンドポイントにのみ送信する必要があります。

参照先が見つからない場合、この BackendRef は無効であり、ゲートウェイから削除する必要があります。コントローラーは、ルートステータスの "ResolvedRefs" 条件が status: False に設定されていることを確認し、基礎となる実装でこのバックエンドを設定しないようにする必要があります。

ReferenceGrant が許可しない 既存 オブジェクトへの namespace 間の参照がある場合、コントローラーは、ルートの "ResolvedRefs" 条件が status: False (理由は "RefNotPermitted") に設定されていることを確認して、基礎となる実装でこのバックエンドを設定しないようにする必要があります。

どちらのエラーでも、ResolvedRefs 条件のメッセージを使用して、問題の詳細を提供する必要があります。

サポート : Kubernetes Service は Extended

サポート: その他のリソースは実装固有

object
必須
  • name
Expand
プロパティー説明

group

string

group は参照先のグループです。たとえば "gateway.networking.k8s.io" です。指定されていないか空の文字列の場合、core API グループが推論されます。

kind

string

kind は、参照先の Kubernetes リソースの種類です。たとえば、"Service" があります。

指定されていない場合のデフォルトは "Service" です。

ExternalName サービスは、クラスターの外部に存在する可能性のある CNAME DNS レコードを参照する可能性があるため、準拠の観点から判断することが困難です。また、転送先としても安全ではない可能性があります (詳細は、CVE-2021-25740 を参照してください)。実装では、ExternalName サービスをサポートしないでください。

サポート: Core (ExternalName 以外のタイプのサービス)

サポート: 実装固有 (ExternalName タイプのサービス)

name

string

name は参照先の名前です。

namespace

string

namespace はバックエンドの namespace です。指定しない場合は、ローカル namespace が推論されます。

ローカル namespace とは異なる namespace を指定する場合、その namespace の所有者が参照を受け入れるためには、参照先 namespace に ReferenceGrant オブジェクトが必要であることに注意してください。詳細は、ReferenceGrant ドキュメントを参照してください。

サポート: Core

port

integer

port は、このリソースに使用する宛先ポート番号を指定します。参照先が Kubernetes サービスの場合は port が必要です。この場合、ポート番号はターゲットポートではなく、サービスポート番号です。その他のリソースの場合、宛先ポートは参照先リソースまたはこのフィールドから導出される可能性があります。

14.1.34. .spec.rules[].filters[].requestMirror.fraction

説明

Fraction は、BackendRef にミラーリングする必要がある要求の割合を表します。

Fraction と Percent のいずれか 1 つだけを指定できます。どちらのフィールドも指定されていない場合は、要求の 100% がミラーリングされます。

object
必須
  • numerator
Expand
プロパティー説明

denominator

integer

 

numerator

integer

 

14.1.35. .spec.rules[].filters[].responseHeaderModifier

説明

ResponseHeaderModifier は、応答ヘッダーを変更するフィルターのスキーマを定義します。

サポート: Extended

object
Expand
プロパティー説明

add

array

Add は、アクションの前に、指定されたヘッダー (名前、値) を要求に追加します。ヘッダー名に関連付けられている既存の値に追加されます。

入力: GET /foo HTTP/1.1 my-header: foo

設定: add: - name: "my-header" value: "bar,baz"

出力: GET /foo HTTP/1.1 my-header: foo,bar,baz

add[]

object

HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。

remove

array (string)

アクションの前に、HTTP 要求から指定されたヘッダーを削除します。Remove の値は、HTTP ヘッダー名のリストです。ヘッダー名では、大文字と小文字が区別されないことに注意してください (https://datatracker.ietf.org/doc/html/rfc2616#section-4.2 を参照)。

入力: GET /foo HTTP/1.1 my-header1: foo my-header2: bar my-header3: baz

設定: remove: ["my-header1", "my-header3"]

出力: GET /foo HTTP/1.1 my-header2: bar

set

array

Set は、アクションの前に指定されたヘッダー (名前、値) を使用して要求を上書きします。

入力: GET /foo HTTP/1.1 my-header: foo

設定: set: - name: "my-header" value: "bar"

出力: GET /foo HTTP/1.1 my-header: bar

set[]

object

HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。

14.1.36. .spec.rules[].filters[].responseHeaderModifier.add

説明

Add は、アクションの前に、指定されたヘッダー (名前、値) を要求に追加します。ヘッダー名に関連付けられている既存の値に追加されます。

入力: GET /foo HTTP/1.1 my-header: foo

設定: add: - name: "my-header" value: "bar,baz"

出力: GET /foo HTTP/1.1 my-header: foo,bar,baz

array

14.1.37. .spec.rules[].filters[].responseHeaderModifier.add[]

説明
HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。
object
必須
  • name
  • value
Expand
プロパティー説明

name

string

name は、一致させる HTTP ヘッダーの名前です。名前の一致では、大文字と小文字を区別しないでください。(https://tools.ietf.org/html/rfc7230#section-3.2 を参照)。

複数のエントリーが同じヘッダー名を指定している場合、同じ名前を持つ最初のエントリーが一致とみなされる必要があります。同じヘッダー名を持つ後続のエントリーは無視する必要があります。ヘッダー名では大文字と小文字が区別されないため、"foo" と "Foo" は同じとみなされます。

value

string

value は、一致させる HTTP ヘッダーの値です。

14.1.38. .spec.rules[].filters[].responseHeaderModifier.set

説明

Set は、アクションの前に指定されたヘッダー (名前、値) を使用して要求を上書きします。

入力: GET /foo HTTP/1.1 my-header: foo

設定: set: - name: "my-header" value: "bar"

出力: GET /foo HTTP/1.1 my-header: bar

array

14.1.39. .spec.rules[].filters[].responseHeaderModifier.set[]

説明
HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。
object
必須
  • name
  • value
Expand
プロパティー説明

name

string

name は、一致させる HTTP ヘッダーの名前です。名前の一致では、大文字と小文字を区別しないでください。(https://tools.ietf.org/html/rfc7230#section-3.2 を参照)。

複数のエントリーが同じヘッダー名を指定している場合、同じ名前を持つ最初のエントリーが一致とみなされる必要があります。同じヘッダー名を持つ後続のエントリーは無視する必要があります。ヘッダー名では大文字と小文字が区別されないため、"foo" と "Foo" は同じとみなされます。

value

string

value は、一致させる HTTP ヘッダーの値です。

14.1.40. .spec.rules[].matches

説明

matches は、着信 gRPC 要求にルールを一致させるために使用する条件を定義します。match はそれぞれ独立しています。つまり、いずれか の match が満たされると、ルールが一致します。

たとえば、次の matches 設定を見てみましょう。

matches: - method: service: foo.bar headers: values: version: 2 - method: service: foo.bar.v2

次の 2 つの条件のいずれかを満たすと、要求はこのルールに一致するとみなされます。

  • foo.bar のサービスであり、ヘッダー version: 2 が含まれる
  • foo.bar.v2 のサービス

複数の match 条件を AND で結合して指定する方法は、GRPCRouteMatch のドキュメントを参照してください。

matches が指定されていない場合、実装はすべての gRPC 要求に一致する必要があります。

GRPCRoutes から生成されたプロキシーまたはロードバランサーのルーティング設定では、以下に示す条件に基づき優先順位付けをする必要があり、同順位の場合は次の条件を使用して決定します。GRPCRoutes と HTTPRoutes の間でマージを行ってはなりません。以下の項目が最も多いルールが優先される必要があります。

  • 一致するワイルドカード以外のホスト名の文字。
  • 一致するホスト名の文字。
  • 一致するサービス内の文字。
  • 一致するメソッドの文字。
  • 一致するヘッダー。

複数のルートをまたいで同点が存在する場合は、以下に示す条件に基づき一致の優先順位を決定する必要があり、同順位の場合は次の条件を使用して決定します。

  • 作成タイムスタンプに基づく最も古いルート。
  • "{namespace}/{name}" のアルファベット順で最初に表示されるルート。

優先権が与えられたルート内でまだ同順位が存在する場合、上記の基準を満たす最初のマッチングルールに matching の優先権を付与する必要があります。

array

14.1.41. .spec.rules[].matches[]

説明

GRPCRouteMatch は、要求を特定のアクションに一致させるために使用される述語を定義します。複数の一致タイプは AND を使用して結合されます。つまり、すべての条件が満たされた場合にのみ match は true と評価されます。

たとえば、以下の match は、サービスが foo であり、かつ version: v1 ヘッダーが含まれている場合にのみ gRPC 要求と一致します。

matches: - method: type: Exact service: "foo" headers: - name: "version" value "v1"

object
Expand
プロパティー説明

headers

array

Headers は gRPC 要求ヘッダーマッチャーを指定します。一致する値が複数ある場合は、AND を使用して結合されます。つまり、ルートを選択するには、要求が指定されたすべてのヘッダーと一致する必要があります。

headers[]

object

GRPCHeaderMatch は、gRPC 要求ヘッダーを照合して gRPC ルートを選択する方法を説明します。

method

object

method は、gRPC 要求サービス/メソッドマッチャーを指定します。このフィールドを指定しない場合は、すべてのサービスとメソッドが一致します。

14.1.42. .spec.rules[].matches[].headers

説明
Headers は gRPC 要求ヘッダーマッチャーを指定します。一致する値が複数ある場合は、AND を使用して結合されます。つまり、ルートを選択するには、要求が指定されたすべてのヘッダーと一致する必要があります。
array

14.1.43. .spec.rules[].matches[].headers[]

説明
GRPCHeaderMatch は、gRPC 要求ヘッダーを照合して gRPC ルートを選択する方法を説明します。
object
必須
  • name
  • value
Expand
プロパティー説明

name

string

Name は、一致させる gRPC ヘッダーの名前です。

複数のエントリーが同じヘッダー名を指定している場合、同じ名前を持つ最初のエントリーのみが一致として考慮される必要があります。同じヘッダー名を持つ後続のエントリーは無視する必要があります。ヘッダー名では大文字と小文字が区別されないため、"foo" と "Foo" は同じとみなされます。

type

string

type は、ヘッダーの値と一致させる方法を指定します。

value

string

value は、一致させる gRPC ヘッダーの値です。

14.1.44. .spec.rules[].matches[].method

説明
method は、gRPC 要求サービス/メソッドマッチャーを指定します。このフィールドを指定しない場合は、すべてのサービスとメソッドが一致します。
object
Expand
プロパティー説明

method

string

照合するメソッドの値。空にする、または省略すると、すべてのサービスに一致します。

サービスとメソッドの少なくとも 1 つは空でない文字列にする必要があります。

service

string

照合するサービスの値。空にする、または省略すると、いずれのサービスにも一致します。

サービスとメソッドの少なくとも 1 つは空でない文字列にする必要があります。

type

string

type は、サービスやメソッドとの照合方法を指定します。サポート: コア (指定されたサービスと方法に正確に一致)

サポート: 実装固有 (指定されたメソッドに正確に一致、サービスは指定されていない)

サポート: 実装固有 (RegularExpression)

14.1.45. .status

説明
status は、GRPCRoute の現在の状態を定義します。
object
必須
  • parents
Expand
プロパティー説明

parents

array

parents は、ルートに関連付けられている親リソース (通常はゲートウェイ) のリストと、各親に対するルートのステータスです。このルートが親に割り当てられる場合、親を管理するコントローラーは、ルートを最初に確認したときにこのリストにエントリーを追加し、ルートまたはゲートウェイが変更された場合にはエントリーを適切に更新する必要があります。

この API の実装によって解決できない親参照は、このリストに追加されないことに注意してください。この API の実装では、対象のゲートウェイ/親リソースのルートステータスのみ設定できます。

このリストには最大 32 個のゲートウェイが表示されます。リストが空の場合、ルートはどのゲートウェイにも割り当てられていないことを意味します。

parents[]

object

RouteParentStatus は、関連付けられた親に対するルートのステータスを記述します。

14.1.46. .status.parents

説明

parents は、ルートに関連付けられている親リソース (通常はゲートウェイ) のリストと、各親に対するルートのステータスです。このルートが親に割り当てられる場合、親を管理するコントローラーは、ルートを最初に確認したときにこのリストにエントリーを追加し、ルートまたはゲートウェイが変更された場合にはエントリーを適切に更新する必要があります。

この API の実装によって解決できない親参照は、このリストに追加されないことに注意してください。この API の実装では、対象のゲートウェイ/親リソースのルートステータスのみ設定できます。

このリストには最大 32 個のゲートウェイが表示されます。リストが空の場合、ルートはどのゲートウェイにも割り当てられていないことを意味します。

array

14.1.47. .status.parents[]

説明
RouteParentStatus は、関連付けられた親に対するルートのステータスを記述します。
object
必須
  • controllerName
  • parentRef
Expand
プロパティー説明

conditions

array

conditions は、ゲートウェイに対するルートのステータスを記述します。ルートの可用性は、ゲートウェイ自体のステータス条件とリスナーのステータスにも左右されることに注意してください。

ルートの ParentRef が、このタイプのルートをサポートする既存のゲートウェイを指定し、そのゲートウェイのコントローラーが十分なアクセス権を持っている場合、そのゲートウェイのコントローラーは、ルートがゲートウェイによって受け入れられたか拒否されたか、およびその理由を示すために、ルートに "Accepted" 条件を設定する必要があります。

ルートのルールの少なくとも 1 つがゲートウェイに実装されている場合、ルートは "Accepted" とみなされる必要があります。

コントローラーの可視性が不足しているために "Accepted" 条件が設定されないケースが多数あります。これには次のような場合が含まれます。

* ルートが存在しない親を参照している場合。* コントローラーがサポートしていないルートタイプの場合。* コントローラーがアクセスできない namespace にルートが配置されている場合。

conditions[]

object

condition には、この API Resource の現在の状態のある側面の詳細が含まれます。

controllerName

string

ControllerName は、このステータスを書き込んだコントローラーの名前を示すドメイン/パスの文字列です。これは、GatewayClass の controllerName フィールドに対応します。

例: "example.net/gateway-controller"

このフィールドの形式は DOMAIN "/" PATH です。この場合の DOMAIN と PATH は有効な Kubernetes 名です (https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names)。

コントローラーはステータスを書き込むときにこのフィールドに値を入力する必要があります。コントローラーは、ControllerName が設定されたステータスのエントリーが不要になったときにクリーンアップされるようにする必要があります。

parentRef

object

ParentRef は、この RouteParentStatus 構造体がステータスを記述する、仕様内の ParentRef に対応します。

14.1.48. .status.parents[].conditions

説明

conditions は、ゲートウェイに対するルートのステータスを記述します。ルートの可用性は、ゲートウェイ自体のステータス条件とリスナーのステータスにも左右されることに注意してください。

ルートの ParentRef が、このタイプのルートをサポートする既存のゲートウェイを指定し、そのゲートウェイのコントローラーが十分なアクセス権を持っている場合、そのゲートウェイのコントローラーは、ルートがゲートウェイによって受け入れられたか拒否されたか、およびその理由を示すために、ルートに "Accepted" 条件を設定する必要があります。

ルートのルールの少なくとも 1 つがゲートウェイに実装されている場合、ルートは "Accepted" とみなされる必要があります。

コントローラーの可視性が不足しているために "Accepted" 条件が設定されないケースが多数あります。これには次のような場合が含まれます。

  • ルートが存在しない親を参照している場合。
  • コントローラーがサポートしていないルートタイプの場合。
  • コントローラーがアクセスできない namespace にルートが配置されている場合。
array

14.1.49. .status.parents[].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 の条件のタイプ。

14.1.50. .status.parents[].parentRef

説明
ParentRef は、この RouteParentStatus 構造体がステータスを記述する、仕様内の ParentRef に対応します。
object
必須
  • name
Expand
プロパティー説明

group

string

group は参照先のグループです。指定されていない場合は、"gateway.networking.k8s.io" が推論されます。コア API グループ ("Service" kind の参照先など) を設定するには、Group を明示的に "" (空の文字列) に設定する必要があります。

サポート: Core

kind

string

kind は参照先の kind です。

"Core" サポートを備えた親リソースには 2 つの kind があります。

* ゲートウェイ (ゲートウェイ適合プロファイル) * サービス (メッシュ適合プロファイル、ClusterIP サービスのみ)

その他のリソースのサポートは実装によって異なります。

name

string

name は参照先の名前です。

サポート: Core

namespace

string

namespace は参照先の namespace です。指定されていない場合は、ルートのローカル namespace を参照します。

namespace の境界をまたぐ ParentRef には固有のルールがあることに注意してください。namespace 間の参照は、参照先の namespace 内の何かによって明示的に許可されている場合にのみ有効です。たとえば、Gateway には AllowedRoutes フィールドがあり、ReferenceGrant は他の種類の namespace 間参照を有効にする一般的な方法を提供します。

サポート: Core

port

integer

port は、このルートがターゲットとするネットワークポートです。親リソースのタイプに応じて、解釈が異なる場合があります。

親リソースがゲートウェイの場合、これは指定されたポートでリッスンし、この種類のルートもサポートする (そしてこのルートを選択する) すべてのリスナーをターゲットとします。ルートで指定されたネットワーク動作を、ポートが変更される可能性のあるリスナーではなく特定のポートに適用する必要がある場合以外で Port を設定することは推奨されません。Port と SectionName の両方を指定する場合、選択したリスナーの名前とポートは、指定された両方の値と一致する必要があります。

実装では、他の親リソースをサポートすることを選択できます。他のタイプの親リソースをサポートする実装では、ポートが解釈されるかどうか、どのように解釈されるかを明確に文書化する必要があります。

ステータスの目的上、親リソースが割り当てを部分的に受け入れる限り、割り当ては成功したとみなされます。たとえば、ゲートウェイリスナーは、ルートの種類、namespace、またはホスト名によって、どのルートを割り当てられるかを制限できます。2 つのゲートウェイリスナーのうち 1 つが参照ルートからの割り当てを受け入れた場合、ルートは正常に割り当て済みであるとみなされる必要があります。ゲートウェイリスナーがこのルートからの割り当てを受け入れない場合、ゲートウェイからルートへの割り当てが解除されたとみなされる必要があります。

サポート: Extended

sectionName

string

SectionName は、ターゲットリソース内のセクションの名前です。次のリソースでは、SectionName は次のように解釈されます。

* ゲートウェイ: リスナー名。Port (実験的機能) と SectionName の両方を指定する場合、選択したリスナーの名前とポートは、指定された両方の値と一致する必要があります。* サービス: ポート名。Port (実験的機能) と SectionName の両方を指定する場合、選択したリスナーの名前とポートは、指定された両方の値と一致する必要があります。

実装では、ルートを他のリソースに割り当てることもサポートできます。その場合は、SectionName がどのように解釈されるかを明確に文書化する必要があります。

指定されていない場合 (空の文字列)、リソース全体が参照されます。ステータスの目的上、親リソース内の少なくとも 1 つのセクションが割り当てを受け入れると、割り当ては成功したとみなされます。たとえば、ゲートウェイリスナーは、ルートの種類、namespace、またはホスト名によって、どのルートを割り当てられるかを制限できます。2 つのゲートウェイリスナーのうち 1 つが参照ルートからの割り当てを受け入れた場合、ルートは正常に割り当て済みであるとみなされる必要があります。ゲートウェイリスナーがこのルートからの割り当てを受け入れない場合、ゲートウェイからルートへの割り当てが解除されたとみなされる必要があります。

サポート: Core

14.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/gateway.networking.k8s.io/v1/grpcroutes

    • GET: kind が GRPCRoute のオブジェクトをリスト表示します
  • /apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/grpcroutes

    • DELETE: GRPCRoute のコレクションを削除します
    • GET: kind が GRPCRoute のオブジェクトをリスト表示します
    • POST: GRPCRoute を作成します
  • /apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/grpcroutes/{name}

    • DELETE: GRPCRoute を削除します
    • GET: 指定された GRPCRoute を読み取ります
    • PATCH: 指定された GRPCRoute を部分的に更新します
    • PUT: 指定された GRPCRoute を置き換えます
  • /apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/grpcroutes/{name}/status

    • GET: 指定された GRPCRoute のステータスを読み取ります
    • PATCH: 指定された GRPCRoute のステータスを部分的に更新します
    • PUT: 指定された GRPCRoute のステータスを置き換えます

14.2.1. /apis/gateway.networking.k8s.io/v1/grpcroutes

HTTP メソッド
GET
説明
kind が GRPCRoute のオブジェクトをリスト表示します
Expand
表14.1 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

GRPCRouteList スキーマ

401 - Unauthorized

空白

14.2.2. /apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/grpcroutes

HTTP メソッド
DELETE
説明
GRPCRoute のコレクションを削除します
Expand
表14.2 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
kind が GRPCRoute のオブジェクトをリスト表示します
Expand
表14.3 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

GRPCRouteList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
GRPCRoute を作成します
Expand
表14.4 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表14.5 本文パラメーター
パラメーター説明

body

GRPCRoute スキーマ

 
Expand
表14.6 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

GRPCRoute スキーマ

201 - Created

GRPCRoute スキーマ

202 - Accepted

GRPCRoute スキーマ

401 - Unauthorized

空白

14.2.3. /apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/grpcroutes/{name}

Expand
表14.7 グローバルパスパラメーター
パラメーター説明

name

string

GRPCRoute の名前

HTTP メソッド
DELETE
説明
GRPCRoute を削除します
Expand
表14.8 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表14.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された GRPCRoute を読み取ります
Expand
表14.10 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

GRPCRoute スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された GRPCRoute を部分的に更新します
Expand
表14.11 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表14.12 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

GRPCRoute スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された GRPCRoute を置き換えます
Expand
表14.13 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表14.14 本文パラメーター
パラメーター説明

body

GRPCRoute スキーマ

 
Expand
表14.15 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

GRPCRoute スキーマ

201 - Created

GRPCRoute スキーマ

401 - Unauthorized

空白

14.2.4. /apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/grpcroutes/{name}/status

Expand
表14.16 グローバルパスパラメーター
パラメーター説明

name

string

GRPCRoute の名前

HTTP メソッド
GET
説明
指定された GRPCRoute の読み取りステータス
Expand
表14.17 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

GRPCRoute スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された GRPCRoute のステータスを部分的に更新します
Expand
表14.18 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表14.19 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

GRPCRoute スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された GRPCRoute のステータスを置き換えます
Expand
表14.20 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表14.21 本文パラメーター
パラメーター説明

body

GRPCRoute スキーマ

 
Expand
表14.22 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

GRPCRoute スキーマ

201 - Created

GRPCRoute スキーマ

401 - Unauthorized

空白

第15章 Gateway [gateway.networking.k8s.io/v1]

説明
Gateway は、リスナーを IP アドレスのセットにバインドして、サービストラフィック処理インフラストラクチャーのインスタンスを表します。
object
必須
  • spec

15.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

spec はゲートウェイの望ましい状態を定義します。

status

object

status はゲートウェイの現在の状態を定義します。

15.1.1. .spec

説明
spec はゲートウェイの望ましい状態を定義します。
object
必須
  • gatewayClassName
  • listeners
Expand
プロパティー説明

addresses

array

このゲートウェイに対して要求されたアドレス。これはオプションであり、動作は実装によって異なります。仕様で値が設定され、要求されたアドレスが無効または利用できない場合、実装では GatewayStatus.Addresses の関連エントリーでこれを示す必要があります。

Addresses フィールドは、このゲートウェイに向かうトラフィックが使用する "ゲートウェイの外" のアドレスの要求を表します。これは、外部ロードバランサーまたはその他のネットワークインフラストラクチャーの IP アドレスやホスト名、あるいはトラフィックの送信先であるその他のアドレスである可能性があります。

Addresses が指定されていない場合、実装では、適切なアドレスセットを割り当てて、実装固有の方法でゲートウェイをスケジュールすることができます。

実装では、すべてのリスナーを、ゲートウェイに割り当てるすべての GatewayAddress にバインドし、GatewayStatus.Addresses に対応するエントリーを追加する必要があります。

サポート: Extended

addresses[]

object

GatewayAddress は、ゲートウェイにバインドできるアドレスを記述します。

gatewayClassName

string

このゲートウェイに使用される GatewayClassName。これは GatewayClass リソースの名前です。

infrastructure

object

インフラストラクチャーは、このゲートウェイインスタンスに関するインフラストラクチャーレベルの属性を定義します。

サポート: Extended

listeners

array

このゲートウェイに関連付けられたリスナー。listeners は、このゲートウェイのアドレスにバインドされる論理エンドポイントを定義します。少なくとも 1 つのリスナーを指定する必要があります。

区別されるリスナー

トラフィックフローは正確に 1 つのリスナーに割り当てられる必要があることを考慮すると、リスナーセット (たとえば 1 つのゲートウェイ) 内の各リスナーは 区別される 必要があります。(このセクションでは、"1 つのゲートウェイ内のリスナー" ではなく "リスナーセット" と使用しています。これは、実装によって複数のゲートウェイの設定が単一のデータプレーンにマージされる可能性があり、その場合も これらのルールが適用されるためです。)

これは実際には、セット内の各リスナーがポート、プロトコル、およびプロトコルでサポートされている場合はホスト名の一意の組み合わせを持つ必要があることを意味します。

ポート、プロトコル、および TLS 設定のいくつかの組み合わせはコアサポートとみなされ、サポートするオブジェクトに基づき実装でサポートされる必要があります。

HTTPRoute

1.HTTPRoute、ポート: 80、プロトコル: HTTP 2。HTTPRoute、ポート: 443、プロトコル: HTTPS、TLS モード: Terminate、TLS キーペア提供

TLSRoute

1.TLSRoute、ポート: 443、プロトコル: TLS、TLS モード: Passthrough

"区別される" リスナーには次のプロパティーがあります。

実装では、受信要求を単一の区別されるリスナーに一致させることができます

複数のリスナーがフィールドの値を共有している場合 (たとえば、同じポート値を持つ 2 つのリスナー)、実装では他の Listener フィールドを使用して、要求を 1 つのリスナーにのみ一致させることができます。

複数のリスナーが Protocol フィールドに同じ値を持つ場合、一致するプロトコル値を持つ各リスナーは、他のフィールドに異なる値を持つ必要があります。

リスナーごとに異なる必要があるフィールドのセットは、プロトコルにより異なります。以下のルールは、ゲートウェイ API 仕様で現在定義されている各プロトコルにおいて、リスナーを区別するために考慮する必要があるフィールドのルールを定義します。

プロトコル値を共有するリスナーセットは、次のフィールドのうち 少なくとも 1 つ異なる 値を持たなければ一意にはなりません。

* HTTP、HTTPS、TLS: ポート、ホスト名 * TCP、UDP: ポート

注意すべき 非常に 重要なルールの 1 つは、以下の両方が実装に当てはまる場合に何が起きるかというものです。

* TCP プロトコルリスナーだけでなく、HTTP、HTTPS、または TLS プロトコルリスナーもサポートする。* 同じ port を使用する HTTP、HTTPS、または TLS プロトコルを TCP プロトコルと同じとみなす。

この場合、TCP リスナーとポートを共有するすべてのリスナーは区別されないため、受け入れてはなりません。

実装が TCP プロトコルリスナーをサポートしていない場合、前述のルールは適用されず、TCP リスナーは受け入れられません。

tls フィールドは、リスナーが区別できるかどうかの判断には使用されないことに注意してください。これは、TLS 設定 のみ が異なるリスナーは、すべてのケースで競合するためです。

# ホスト名のみで区別されるリスナー

リスナーがホスト名のみに基づいて区別される場合、正しいリスナーとそれに関連付けられたルートのセットを選択するために、受信要求のホスト名は、最も具体的なホスト名の値から最も具体的でないホスト名の値の順に照合される必要があります。

完全一致はワイルドカード一致の前に処理する必要があり、ワイルドカード一致はフォールバック (ホスト名の値が空) 一致の前に処理する必要があります。たとえば、"foo.example.com""*.example.com" よりも優先され、"\*.example.com""" よりも優先されます。

さらに、ワイルドカードエントリーが複数ある場合は、より具体的なワイルドカードエントリーを、より具体的でないワイルドカードエントリーよりも先に処理する必要があります。たとえば、"*.foo.example.com""\*.example.com" よりも優先されます。

これは正確には、ホスト名内におけるワイルドカード文字の右側のドットの数が多いほど優先順位が高くなる、と定義できます。

ただし、ワイルドカード文字は、左側にある任意の数の文字 およびドット に一致するため、"*.example.com""foo.bar.example.com" "bar.example.com" の両方に一致します。

区別できないリスナーの処理

リスナーのセットに区別できないリスナーが含まれている場合、それらのリスナーは 競合 しており、実装ではリスナーステータスの "Conflicted" 条件を "True" に設定する必要があります。

このドキュメントでは、"区別できない" と "競合する" という表現は同義とみなされます。

実装では、うち競合するリスナーが含まれない一部のリスナーセットのみを受け入れる場合に限り、一部のリスナーが競合するゲートウェイを受け入れることができます。

具体的には、実装では、次の規則に従ってリスナーセットを部分的に受け入れることができます。

* 実装では、1 つの競合するリスナーをウィナーとして選択してはなりません。区別できないすべてのリスナーは、処理対象として受け入れてはなりません。* 区別されるリスナーが 1 つ以上存在する必要があります。そうでない場合、実質的にはゲートウェイにはリスナーが 含まれておらず、全体として処理を拒否されなければなりません。

ゲートウェイに競合するリスナーが含まれている場合、ゲートウェイを受け入れるかどうかにかかわらず、実装ではゲートウェイステータスとして "ListenersNotValid" 条件が設定されなければなりません。その条件では、どのリスナーが競合しているか、どのリスナーが受け入れられたかを、メッセージで明示する必要があります。さらに、これらのリスナーのリスナーステータスでは、どのリスナーが競合していて受け入れられていないかを示す必要があります。

リスナーの基本動作

区別されるすべてのリスナーにおいて、要求は最大で 1 つのリスナーと一致することに注意してください。たとえば、"foo.example.com" と "*.example.com" に対してリスナーが定義されている場合、"foo.example.com" への要求は、"foo.example.com" リスナー ("*.example.com" リスナーではない) に割り当てられたルートのみを使用してルーティングされる必要があります。

これは "リスナーの分離" と呼ばれる概念で、ゲートウェイ API の拡張機能です。リスナーの分離をサポートしない実装では、その旨を明確に文書化する必要があり、GatewayHTTPListenerIsolation 機能のサポートを主張してはなりません。

リスナーの分離を サポートする 実装では、Extended GatewayHTTPListenerIsolation 機能のサポートを主張し、関連する適合テストに合格する必要があります。

互換リスナー

ゲートウェイのリスナーは、次の場合に 互換性がある とみなされます。

1.区別される場合。2. 実装では、割り当てられたすべてのアドレスですべてのリスナーを使用できる、というアドレス要件に準拠してサービスを提供できます。

延長サポートにおける互換性のある組み合わせは、実装ごとに異なることが予想されます。ある実装では互換性がある組み合わせが、別の実装では互換性がない場合があります。

たとえば、同じアドレスで TCP リスナーと UDP リスナーの両方に対応できない実装や、同じポートで HTTPS リスナーと汎用 TLS リスナーを混在させることができない実装では、これらのケースは区別できても互換性があるとはみなされません。

すべてのゲートウェイのすべてのリスナーに互換性がある場合、実装では個別のゲートウェイを単一のアドレスセットにマージできます。

今後のリリースでは、MinItems=1 の要件が削除される可能性があります。

サポート: Core

listeners[]

object

listener は、ゲートウェイがネットワーク接続を受け入れる論理エンドポイントの概念を体現したものです。

15.1.2. .spec.addresses

説明

このゲートウェイに対して要求されたアドレス。これはオプションであり、動作は実装によって異なります。仕様で値が設定され、要求されたアドレスが無効または利用できない場合、実装では GatewayStatus.Addresses の関連エントリーでこれを示す必要があります。

Addresses フィールドは、このゲートウェイに向かうトラフィックが使用する "ゲートウェイの外" のアドレスの要求を表します。これは、外部ロードバランサーまたはその他のネットワークインフラストラクチャーの IP アドレスやホスト名、あるいはトラフィックの送信先であるその他のアドレスである可能性があります。

Addresses が指定されていない場合、実装では、適切なアドレスセットを割り当てて、実装固有の方法でゲートウェイをスケジュールすることができます。

実装では、すべてのリスナーを、ゲートウェイに割り当てるすべての GatewayAddress にバインドし、GatewayStatus.Addresses に対応するエントリーを追加する必要があります。

サポート: Extended

array

15.1.3. .spec.addresses[]

説明
GatewayAddress は、ゲートウェイにバインドできるアドレスを記述します。
object
必須
  • value
Expand
プロパティー説明

type

string

アドレスのタイプ。

value

string

アドレスの値。値の有効性は、コントローラーのタイプとサポートによって異なります。

例: 1.2.3.4, 128::1, my-ip-address.

15.1.4. .spec.infrastructure

説明

インフラストラクチャーは、このゲートウェイインスタンスに関するインフラストラクチャーレベルの属性を定義します。

サポート: Extended

object
Expand
プロパティー説明

annotations

object (string)

このゲートウェイに応じて作成されたすべてのリソースに適用する必要があるアノテーション。

他の Kubernetes オブジェクトを作成する実装の場合、これはリソースの metadata.annotations フィールドになります。それ以外の実装の場合、これは関連する (実装固有の) "アノテーション" の概念を指します。

実装では、必要に応じて実装固有の追加のアノテーションを追加することを選択できます。

サポート: Extended

labels

object (string)

このゲートウェイに応じて作成されるすべてのリソースに適用する必要があるラベル。

他の Kubernetes オブジェクトをする実装の場合、これはリソースの metadata.labels フィールドです。それ以外の実装の場合、これは関連する (実装固有の) "ラベル" の概念を指します。

実装では、必要に応じて実装固有の追加のラベルを追加することを選択できます。

実装がこれらのラベルを Pod にマッピングする場合、またはラベルの変更時にに再作成する必要があるその他のリソースにマッピングする場合は、この動作についてドキュメントで明確に警告する必要があります。

サポート: Extended

parametersRef

object

ParametersRef は、ゲートウェイに対応する設定パラメーターが含まれるリソースへの参照です。コントローラーに追加の設定が必要ない場合はオプションです。

これは、GatewayClass の parametersRef と同じセマンティクスに従いますが、ゲートウェイごとに異なります。

ゲートウェイの GatewayClass は独自の parametersRef を指定できます。両方が指定されている場合、マージ動作は実装固有です。一般的に、GatewayClass では、ゲートウェイによってオーバーライドできるデフォルトを指定することが推奨されます。

参照先が見つからない場合、サポートされていない kind を参照している場合、またはそのリソース内のデータが不正な形式である場合、ゲートウェイは "Accepted" ステータス条件を "False" に設定し、"InvalidParameters" の理由で拒否される必要があります。

サポート: 実装固有

15.1.5. .spec.infrastructure.parametersRef

説明

ParametersRef は、ゲートウェイに対応する設定パラメーターが含まれるリソースへの参照です。コントローラーに追加の設定が必要ない場合はオプションです。

これは、GatewayClass の parametersRef と同じセマンティクスに従いますが、ゲートウェイごとに異なります。

ゲートウェイの GatewayClass は独自の parametersRef を指定できます。両方が指定されている場合、マージ動作は実装固有です。一般的に、GatewayClass では、ゲートウェイによってオーバーライドできるデフォルトを指定することが推奨されます。

参照先が見つからない場合、サポートされていない kind を参照している場合、またはそのリソース内のデータが不正な形式である場合、ゲートウェイは "Accepted" ステータス条件を "False" に設定し、"InvalidParameters" の理由で拒否される必要があります。

サポート: 実装固有

object
必須
  • group
  • kind
  • name
Expand
プロパティー説明

group

string

group は参照先のグループです。

kind

string

kind は参照先の kind です。

name

string

name は参照先の名前です。

15.1.6. .spec.listeners

説明

このゲートウェイに関連付けられたリスナー。listeners は、このゲートウェイのアドレスにバインドされる論理エンドポイントを定義します。少なくとも 1 つのリスナーを指定する必要があります。

## 区別されるリスナー

トラフィックフローは正確に 1 つのリスナーに割り当てられる必要があることを考慮すると、リスナーセット (たとえば 1 つのゲートウェイ) 内の各リスナーは 区別される 必要があります。(このセクションでは、"1 つのゲートウェイ内のリスナー" ではなく "リスナーセット" と使用しています。これは、実装によって複数のゲートウェイの設定が単一のデータプレーンにマージされる可能性があり、その場合も これらのルールが適用されるためです。)

これは実際には、セット内の各リスナーがポート、プロトコル、およびプロトコルでサポートされている場合はホスト名の一意の組み合わせを持つ必要があることを意味します。

ポート、プロトコル、および TLS 設定のいくつかの組み合わせはコアサポートとみなされ、サポートするオブジェクトに基づき実装でサポートされる必要があります。

HTTPRoute

  1. HTTPRoute、ポート: 80、プロトコル: HTTP
  2. HTTPRoute、ポート: 443、プロトコル: HTTPS、TLS モード: Terminate、TLS キーペア提供

TLSRoute

  1. TLSRoute、ポート: 443、プロトコル: TLS、TLS モード: Passthrough

"区別される" リスナーには次のプロパティーがあります。

実装では、受信要求を単一の区別されるリスナーに一致させることができます

複数のリスナーがフィールドの値を共有している場合 (たとえば、同じポート値を持つ 2 つのリスナー)、実装では他の Listener フィールドを使用して、要求を 1 つのリスナーにのみ一致させることができます。

複数のリスナーが Protocol フィールドに同じ値を持つ場合、一致するプロトコル値を持つ各リスナーは、他のフィールドに異なる値を持つ必要があります。

リスナーごとに異なる必要があるフィールドのセットは、プロトコルにより異なります。以下のルールは、ゲートウェイ API 仕様で現在定義されている各プロトコルにおいて、リスナーを区別するために考慮する必要があるフィールドのルールを定義します。

プロトコル値を共有するリスナーセットは、次のフィールドのうち 少なくとも 1 つ異なる 値を持たなければ一意にはなりません。

  • HTTP、HTTPS、TLS: ポート、ホスト名
  • TCP、UDP: ポート

注意すべき 非常に 重要なルールの 1 つは、以下の両方が実装に当てはまる場合に何が起きるかというものです。

  • TCP プロトコルリスナーに加えて HTTP、HTTPS、または TLS プロトコルリスナーをサポートしている。
  • TCP プロトコルと同じ port を持つ HTTP、HTTPS、または TLS プロトコルを認識する。

この場合、TCP リスナーとポートを共有するすべてのリスナーは区別されないため、受け入れてはなりません。

実装が TCP プロトコルリスナーをサポートしていない場合、前述のルールは適用されず、TCP リスナーは受け入れられません。

tls フィールドは、リスナーが区別できるかどうかの判断には使用されないことに注意してください。これは、TLS 設定 のみ が異なるリスナーは、すべてのケースで競合するためです。

# ホスト名のみで区別されるリスナー

リスナーがホスト名のみに基づいて区別される場合、正しいリスナーとそれに関連付けられたルートのセットを選択するために、受信要求のホスト名は、最も具体的なホスト名の値から最も具体的でないホスト名の値の順に照合される必要があります。

完全一致はワイルドカード一致の前に処理する必要があり、ワイルドカード一致はフォールバック (ホスト名の値が空) 一致の前に処理する必要があります。たとえば、"foo.example.com""*.example.com" よりも優先され、"\*.example.com""" よりも優先されます。

さらに、ワイルドカードエントリーが複数ある場合は、より具体的なワイルドカードエントリーを、より具体的でないワイルドカードエントリーよりも先に処理する必要があります。たとえば、"*.foo.example.com""\*.example.com" よりも優先されます。

これは正確には、ホスト名内におけるワイルドカード文字の右側のドットの数が多いほど優先順位が高くなる、と定義できます。

ただし、ワイルドカード文字は、左側にある任意の数の文字 およびドット に一致するため、"\*.example.com""foo.bar.example.com" "bar.example.com" の両方に一致します。

## 区別できないリスナーの処理

リスナーのセットに区別できないリスナーが含まれている場合、それらのリスナーは 競合 しており、実装ではリスナーステータスの "Conflicted" 条件を "True" に設定する必要があります。

このドキュメントでは、"区別できない" と "競合する" という表現は同義とみなされます。

実装では、うち競合するリスナーが含まれない一部のリスナーセットのみを受け入れる場合に限り、一部のリスナーが競合するゲートウェイを受け入れることができます。

具体的には、実装では、次の規則に従ってリスナーセットを部分的に受け入れることができます。

  • 実装では、1 つの競合するリスナーをウィナーとして選択してはなりません。区別できないすべてのリスナーは、処理対象として受け入れてはなりません。
  • 区別されるリスナーが 1 つ以上存在する必要があります。そうでない場合、実質的にはゲートウェイにはリスナーが 含まれておらず、全体として処理を拒否されなければなりません。

ゲートウェイに競合するリスナーが含まれている場合、ゲートウェイを受け入れるかどうかにかかわらず、実装ではゲートウェイステータスとして "ListenersNotValid" 条件が設定されなければなりません。その条件では、どのリスナーが競合しているか、どのリスナーが受け入れられたかを、メッセージで明示する必要があります。さらに、これらのリスナーのリスナーステータスでは、どのリスナーが競合していて受け入れられていないかを示す必要があります。

## リスナーの基本動作

区別されるすべてのリスナーにおいて、要求は最大で 1 つのリスナーと一致することに注意してください。たとえば、"foo.example.com" と ".example.com" に対してリスナーが定義されている場合、"foo.example.com" への要求は、"foo.example.com" リスナー (".example.com" リスナーではない) に割り当てられたルートのみを使用してルーティングされる必要があります。

これは "リスナーの分離" と呼ばれる概念で、ゲートウェイ API の拡張機能です。リスナーの分離をサポートしない実装では、その旨を明確に文書化する必要があり、GatewayHTTPListenerIsolation 機能のサポートを主張してはなりません。

リスナーの分離を サポートする 実装では、Extended GatewayHTTPListenerIsolation 機能のサポートを主張し、関連する適合テストに合格する必要があります。

## 互換リスナー

ゲートウェイのリスナーは、次の場合に 互換性がある とみなされます。

  1. 区別される場合。
  2. 実装では、割り当てられたすべてのアドレスですべてのリスナーを使用できる、というアドレス要件に準拠してサービスを提供できます。

延長サポートにおける互換性のある組み合わせは、実装ごとに異なることが予想されます。ある実装では互換性がある組み合わせが、別の実装では互換性がない場合があります。

たとえば、同じアドレスで TCP リスナーと UDP リスナーの両方に対応できない実装や、同じポートで HTTPS リスナーと汎用 TLS リスナーを混在させることができない実装では、これらのケースは区別できても互換性があるとはみなされません。

すべてのゲートウェイのすべてのリスナーに互換性がある場合、実装では個別のゲートウェイを単一のアドレスセットにマージできます。

今後のリリースでは、MinItems=1 の要件が削除される可能性があります。

サポート: Core

array

15.1.7. .spec.listeners[]

説明
listener は、ゲートウェイがネットワーク接続を受け入れる論理エンドポイントの概念を体現したものです。
object
必須
  • name
  • port
  • protocol
Expand
プロパティー説明

allowedRoutes

object

AllowedRoutes は、リスナーに割り当てることができるルートのタイプと、それらのルートリソースが存在する可能性がある信頼済み namespace を定義します。

クライアント要求は複数のルートルールに一致する可能性がありますが、最終的に要求を受信できるのは 1 つのルールのみです。一致の優先順位は、次の基準に従って決定される必要があります。

* ルートタイプによって定義される最も具体的な一致。* 作成タイムスタンプに基づく古い方のルート。たとえば、作成タイムスタンプが "2020-09-08 01:02:03" のルートは、作成タイムスタンプが "2020-09-08 01:02:04" のルートよりも優先されます。* 他のすべてが同じである場合、アルファベット順 (namespace /名前) で最初に表示されるルートが優先されます。たとえば、foo/bar は foo/baz よりも優先されます。

このリスナーに割り当てられたルート内のすべての有効なルールを実装する必要があります。無効なルートルールは無視できます (それが完全なルートの場合もあります)。ルートルールが有効から無効に遷移する場合、一貫性を保つためにそのルートルールのサポートを削除する必要があります。たとえば、ルートルールで指定されたフィルターが無効な場合でも、そのルート内の残りのルールは引き続きサポートされる必要があります。

サポート: Core

hostname

string

ホスト名は、この概念を定義するプロトコルタイプに一致する仮想ホスト名を指定します。指定しない場合は、すべてのホスト名が一致します。ホスト名に基づく一致を必要としないプロトコルの場合、このフィールドは無視されます。

実装では、次のプロトコルごとにホスト名の一致を適切に適用する必要があります。

* TLS: リスナーホスト名は SNI と一致する必要があります。* HTTP: リスナーホスト名は、要求のホストヘッダーと一致する必要があります。* HTTPS: リスナーホスト名は SNI とホストヘッダーの両方に一致する必要があります。SNI とホストヘッダーが同じである必要はないことに注意してください。以下は、このセマンティクスの詳しい説明です。

セキュリティーを確保するために、RFC-6066 のセクション 11.1 では、SNI ホスト名の一致に依存するサーバー実装は、アプリケーションプロトコル内のホスト名も検証する必要があることを強調しています。

RFC-7540 のセクション 9.1.2 では、HTTP 421 Misdirected Request ステータスコードで応答することで、サーバーが接続の再利用を拒否するメカニズムが提供されています。これは、要求が誤った宛先に送信された可能性があるため、元のサーバーが要求を拒否したことを示します。

誤った宛先への要求を検出するために、ゲートウェイは、要求の権限を、同じポートとプロトコル上のすべてのゲートウェイリスナーに設定されているすべての SNI ホスト名と一致させる必要があります。

* 別のリスナーに完全一致またはより具体的なワイルドカードエントリーがある場合、ゲートウェイは 421 を返す必要があります。* 現在のリスナー (ClientHello 中に SNI の一致により選択) がホストと一致しない場合: * 別のリスナーがホストと一致する場合、ゲートウェイは 421 を返す必要があります。* 他のリスナーがホストと一致しない場合、ゲートウェイは 404 を返す必要があります。

HTTPRoute および TLSRoute リソースの場合、spec.hostnames 配列との対話があります。リスナーとルートの両方でホスト名を指定する場合、値の間に共通部分が存在しなければルートは受け入れられません。詳細は、ルート固有のホスト名のドキュメントを参照してください。

ワイルドカードラベル (*.) が接頭辞として追加されているホスト名は、接尾辞一致として解釈されます。つまり、*.example.com に一致すると、test.example.comfoo.test.example.com の両方に一致しますが、example.com には一致しません。

サポート: Core

name

string

name はリスナーの名前です。この名前はゲートウェイ内で一意である必要があります。

サポート: Core

port

integer

port はネットワークポートです。リスナー互換性ルールに従って、複数のリスナーが同じポートを使用する場合があります。

サポート: Core

protocol

string

protocol は、このリスナーが受信することを想定しているネットワークプロトコルを指定します。

サポート: Core

tls

object

TLS はリスナーの TLS 設定です。Protocol フィールドが "HTTPS" または "TLS" の場合、このフィールドは必須です。Protocol フィールドが "HTTP"、"TCP"、または "UDP" の場合、このフィールドの設定は無効になります。

GatewayTLSConfig で定義された証明書への SNI の関連付けは、このリスナーの Hostname フィールドに基づいて定義されます。

GatewayClass は、あらゆる TLS ハンドシェイクに利用可能なすべての証明書の中で最も長く一致する SNI を使用する必要があります。

サポート: Core

15.1.8. .spec.listeners[].allowedRoutes

説明

AllowedRoutes は、リスナーに割り当てることができるルートのタイプと、それらのルートリソースが存在する可能性がある信頼済み namespace を定義します。

クライアント要求は複数のルートルールに一致する可能性がありますが、最終的に要求を受信できるのは 1 つのルールのみです。一致の優先順位は、次の基準に従って決定される必要があります。

  • ルートタイプによって定義された最も具体的な一致。
  • 作成タイムスタンプに基づく最も古いルート。たとえば、作成タイムスタンプが "2020-09-08 01:02:03" のルートは、作成タイムスタンプが "2020-09-08 01:02:04" のルートよりも優先されます。
  • 他のすべてが同じである場合、アルファベット順 (namespace /名前) で最初に表示されるルートが優先されます。たとえば、foo/bar は foo/baz よりも優先されます。

このリスナーに割り当てられたルート内のすべての有効なルールを実装する必要があります。無効なルートルールは無視できます (それが完全なルートの場合もあります)。ルートルールが有効から無効に遷移する場合、一貫性を保つためにそのルートルールのサポートを削除する必要があります。たとえば、ルートルールで指定されたフィルターが無効な場合でも、そのルート内の残りのルールは引き続きサポートされる必要があります。

サポート: Core

object
Expand
プロパティー説明

kinds

array

Kinds は、このゲートウェイリスナーにバインドできるルートのグループと kind を指定します。指定されていない、または空の場合、選択されたルートの kind はリスナープロトコルを使用して決定されます。

RouteGroupKind は、リスナーの Protocol フィールドで指定されたアプリケーションプロトコルと互換性のあるルートの kind に対応している必要があります。実装がこのリソースタイプをサポートまたは認識しない場合は、このリスナーの "ResolvedRefs" 条件を "InvalidRouteKinds" の理由で False に設定する必要があります。

サポート: Core

kinds[]

object

RouteGroupKind は、ルートリソースのグループと kind を示します。

namespaces

object

namespace は、そこからルートがこのリスナーに割り当てられる可能性のある namespace を示します。デフォルトでは、このゲートウェイの namespace に制限されています。

サポート: Core

15.1.9. .spec.listeners[].allowedRoutes.kinds

説明

Kinds は、このゲートウェイリスナーにバインドできるルートのグループと kind を指定します。指定されていない、または空の場合、選択されたルートの kind はリスナープロトコルを使用して決定されます。

RouteGroupKind は、リスナーの Protocol フィールドで指定されたアプリケーションプロトコルと互換性のあるルートの kind に対応している必要があります。実装がこのリソースタイプをサポートまたは認識しない場合は、このリスナーの "ResolvedRefs" 条件を "InvalidRouteKinds" の理由で False に設定する必要があります。

サポート: Core

array

15.1.10. .spec.listeners[].allowedRoutes.kinds[]

説明
RouteGroupKind は、ルートリソースのグループと kind を示します。
object
必須
  • kind
Expand
プロパティー説明

group

string

group はルートのグループです。

kind

string

kind はルートの kind です。

15.1.11. .spec.listeners[].allowedRoutes.namespaces

説明

namespace は、そこからルートがこのリスナーに割り当てられる可能性のある namespace を示します。デフォルトでは、このゲートウェイの namespace に制限されています。

サポート: Core

object
Expand
プロパティー説明

from

string

from は、このゲートウェイのルートが選択される場所を示します。以下の値が使用できます。

* All: このゲートウェイでは、すべての namespace 内のルートを使用できます。* Selector: このゲートウェイでは、セレクターによって選択された namespace 内のルートを使用できます。* Same: このゲートウェイでは、同じ namespace 内のルートのみを使用できます。

サポート: Core

selector

object

From が "Selector" に設定されている場合は、セレクターを指定する必要があります。その場合、このゲートウェイでは、このセレクターに一致する namespace 内のルートのみが選択されます。"From" が他の値の場合、このフィールドは無視されます。

サポート: Core

15.1.12. .spec.listeners[].allowedRoutes.namespaces.selector

説明

From が "Selector" に設定されている場合は、セレクターを指定する必要があります。その場合、このゲートウェイでは、このセレクターに一致する namespace 内のルートのみが選択されます。"From" が他の値の場合、このフィールドは無視されます。

サポート: Core

object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

15.1.13. .spec.listeners[].allowedRoutes.namespaces.selector.matchExpressions

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

15.1.14. .spec.listeners[].allowedRoutes.namespaces.selector.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

15.1.15. .spec.listeners[].tls

説明

TLS はリスナーの TLS 設定です。Protocol フィールドが "HTTPS" または "TLS" の場合、このフィールドは必須です。Protocol フィールドが "HTTP"、"TCP"、または "UDP" の場合、このフィールドの設定は無効になります。

GatewayTLSConfig で定義された証明書への SNI の関連付けは、このリスナーの Hostname フィールドに基づいて定義されます。

GatewayClass は、あらゆる TLS ハンドシェイクに利用可能なすべての証明書の中で最も長く一致する SNI を使用する必要があります。

サポート: Core

object
Expand
プロパティー説明

certificateRefs

array

CertificateRefs には、TLS 証明書と秘密鍵を含む Kubernetes オブジェクトへの一連の参照が含まれています。これらの証明書は、関連付けられたリスナーのホスト名に一致する要求の TLS ハンドシェイクを確立するために使用されます。

Kubernetes Secret への単一の CertificateRef には "Core" サポートがあります。実装では、リスナーへの複数の証明書の割り当てをサポートすることを選択できますが、この動作は実装固有です。

異なる namespace のリソースへの参照は、証明書の割り当てを許可する ReferenceGrant がターゲット namespace にない限り無効です。ReferenceGrant がこの参照を許可しない場合は、このリスナーの "ResolvedRefs" 条件を "RefNotPermitted" の理由で False に設定する必要があります。

モードが "Terminate" (デフォルト) に設定されている場合、このフィールドには少なくとも 1 つの要素が必要ですが、それ以外の場合はオプションです。

CertificateRefs は、標準の Kubernetes リソース (Secret など) または実装固有のカスタムリソースを参照できます。

サポート: Core - kubernetes.io/tls タイプの Kubernetes Secret への単一の参照

サポート: 実装固有 (複数の参照またはその他のリソースタイプ)

certificateRefs[]

object

SecretObjectReference は、API オブジェクト (namespace を含む) を識別します。デフォルトは Secret です。

API オブジェクトはクラスター内で有効である必要があります。この参照を有効にするには、Group と Kind がクラスターに登録されている必要があります。

無効なグループと kind を持つオブジェクトへの参照は有効ではないため、実装によって拒否され、含まれるオブジェクトには適切な条件が設定される必要があります。

mode

string

mode は、クライアントによって開始された TLS セッションの TLS 動作を定義します。2 つのモードを使用できます。

- Terminate: ダウンストリームクライアントとゲートウェイ間の TLS セッションはゲートウェイで終了します。このモードでは、certificateRefs フィールドに入力するなど、何らかの方法で証明書を指定する必要があります。- Passthrough: TLS セッションはゲートウェイによって終了されません。これは、ゲートウェイが TLS プロトコルの ClientHello メッセージ以外の TLS ストリームを解読できないことを意味します。このモードでは certificateRefs フィールドは無視されます。

サポート: Core

options

object (string)

オプションは、各実装の拡張 TLS 設定を有効にするためのキー/値のペアのリストです。たとえば、最小の TLS バージョンまたはサポートされている暗号スイートを設定します。

今後、共通鍵のセットが API によって定義される可能性があります。曖昧さを避けるために、実装固有の定義では、example.com/my-custom-option などのように、接頭辞としてドメインを追加した名前を使用する必要があります。接頭辞が付いていない名前は、Gateway API が定義する鍵の名前用に予約されています。

サポート: 実装固有

15.1.16. .spec.listeners[].tls.certificateRefs

説明

CertificateRefs には、TLS 証明書と秘密鍵を含む Kubernetes オブジェクトへの一連の参照が含まれています。これらの証明書は、関連付けられたリスナーのホスト名に一致する要求の TLS ハンドシェイクを確立するために使用されます。

Kubernetes Secret への単一の CertificateRef には "Core" サポートがあります。実装では、リスナーへの複数の証明書の割り当てをサポートすることを選択できますが、この動作は実装固有です。

異なる namespace のリソースへの参照は、証明書の割り当てを許可する ReferenceGrant がターゲット namespace にない限り無効です。ReferenceGrant がこの参照を許可しない場合は、このリスナーの "ResolvedRefs" 条件を "RefNotPermitted" の理由で False に設定する必要があります。

モードが "Terminate" (デフォルト) に設定されている場合、このフィールドには少なくとも 1 つの要素が必要ですが、それ以外の場合はオプションです。

CertificateRefs は、標準の Kubernetes リソース (Secret など) または実装固有のカスタムリソースを参照できます。

サポート: Core - kubernetes.io/tls タイプの Kubernetes Secret への単一の参照

サポート: 実装固有 (複数の参照またはその他のリソースタイプ)

array

15.1.17. .spec.listeners[].tls.certificateRefs[]

説明

SecretObjectReference は、API オブジェクト (namespace を含む) を識別します。デフォルトは Secret です。

API オブジェクトはクラスター内で有効である必要があります。この参照を有効にするには、Group と Kind がクラスターに登録されている必要があります。

無効なグループと kind を持つオブジェクトへの参照は有効ではないため、実装によって拒否され、含まれるオブジェクトには適切な条件が設定される必要があります。

object
必須
  • name
Expand
プロパティー説明

group

string

group は参照先のグループです。たとえば "gateway.networking.k8s.io" です。指定されていないか空の文字列の場合、core API グループが推論されます。

kind

string

kind は参照先の kind です。たとえば "Secret" があります。

name

string

name は参照先の名前です。

namespace

string

namespace は参照されるオブジェクトの namespace です。指定しない場合は、ローカル namespace が推論されます。

ローカル namespace とは異なる namespace を指定する場合、その namespace の所有者が参照を受け入れるためには、参照先 namespace に ReferenceGrant オブジェクトが必要であることに注意してください。詳細は、ReferenceGrant ドキュメントを参照してください。

サポート: Core

15.1.18. .status

説明
status はゲートウェイの現在の状態を定義します。
object
Expand
プロパティー説明

addresses

array

addresses には、ゲートウェイにバインドされているネットワークアドレスがリスト表示されます。

一部の条件下では、このリストが仕様で提供されるアドレスと異なる場合があります。

* アドレスが指定されていない場合、すべてのアドレスが動的に割り当てられます * 指定されたアドレスと動的アドレスの組み合わせが割り当てられている場合 * 指定されたアドレスが使用できなかった場合 (すでに使用されているなど)

addresses[]

object

GatewayStatusAddress は、ゲートウェイにバインドされているネットワークアドレスを記述します。

conditions

array

conditions はゲートウェイの現在の条件を記述します。

実装では、Operator とツールがゲートウェイの状態を記述するための共通の語彙に収束できるように、GatewayConditionType および GatewayConditionReason 定数を使用してゲートウェイの状態を表現することを優先する必要があります。

既知の条件タイプは次のとおりです。

* "Accepted" * "Programmed" * "Ready"

conditions[]

object

condition には、この API Resource の現在の状態のある側面の詳細が含まれます。

listeners

array

listeners は、仕様で定義された一意のリスナーポートごとにステータスを指定します。

listeners[]

object

ListenerStatus は、リスナーに関連付けられたステータスです。

15.1.19. .status.addresses

説明

addresses には、ゲートウェイにバインドされているネットワークアドレスがリスト表示されます。

一部の条件下では、このリストが仕様で提供されるアドレスと異なる場合があります。

  • アドレスが指定されていない場合、すべてのアドレスは動的に割り当てられます
  • 指定されたアドレスと動的アドレスの組み合わせが割り当てられている場合
  • 指定されたアドレスが使用できなかった場合 (例: すでに使用されている)
array

15.1.20. .status.addresses[]

説明
GatewayStatusAddress は、ゲートウェイにバインドされているネットワークアドレスを記述します。
object
必須
  • value
Expand
プロパティー説明

type

string

アドレスのタイプ。

value

string

アドレスの値。値の有効性は、コントローラーのタイプとサポートによって異なります。

例: 1.2.3.4, 128::1, my-ip-address.

15.1.21. .status.conditions

説明

conditions はゲートウェイの現在の条件を記述します。

実装では、Operator とツールがゲートウェイの状態を記述するための共通の語彙に収束できるように、GatewayConditionType および GatewayConditionReason 定数を使用してゲートウェイの状態を表現することを優先する必要があります。

既知の条件タイプは次のとおりです。

  • "Accepted"
  • "Programmed"
  • "Ready"
array

15.1.22. .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 の条件のタイプ。

15.1.23. .status.listeners

説明
listeners は、仕様で定義された一意のリスナーポートごとにステータスを指定します。
array

15.1.24. .status.listeners[]

説明
ListenerStatus は、リスナーに関連付けられたステータスです。
object
必須
  • attachedRoutes
  • conditions
  • name
  • supportedKinds
Expand
プロパティー説明

attachedRoutes

integer

AttachedRoutes は、このリスナーに正常に割り当てられたルートの合計数を表します。

ルートをリスナーに正常に割り当てられるかどうかは、対応するリスナーの AllowedRoutes フィールドとルートの ParentRefs フィールドの組み合わせのみに基づいています。ルートがリスナーの AllowedRoutes フィールドによって選択され、かつ、そのルートにゲートウェイリソース全体または特定のリスナーを親リソースとして選択する有効な ParentRef がある場合、そのルートはリスナーに正常に割り当てられます (割り当てのセマンティクスの詳細は、さまざまな kind のルートの ParentRefs フィールドに関するドキュメントを参照してください)。リスナーまたはルートのステータスは、正常な割り当てには影響しません。つまり、AttachedRoutes フィールドの数は、Accepted: false 条件を持つリスナーに対して設定する必要があり、正常に割り当てられた Accepted: false 条件を持つルートをカウントする必要があります。

このフィールドの用途には、ルート割り当てのトラブルシューティングや、リスナーへの変更による影響範囲の測定などがあります。

conditions

array

conditions は、このリスナーの現在の状態を説明します。

conditions[]

object

condition には、この API Resource の現在の状態のある側面の詳細が含まれます。

name

string

name は、このステータスに対応するリスナーの名前です。

supportedKinds

array

supportedKinds は、このリスナーによってサポートされている Kinds を示すリストです。これは、そのリスナー設定に対して実装がサポートする kinds を表す必要があります。

仕様でサポートされていない kinds が指定されている場合、それらはこのリストに表示されてはならず、実装では "ResolvedRefs" 条件を "InvalidRouteKinds" の理由で "False" に設定する必要があります。有効および無効なルートの kinds が両方指定されている場合、実装では指定された有効なルートの kinds を参照する必要があります。

supportedKinds[]

object

RouteGroupKind は、ルートリソースのグループと kind を示します。

15.1.25. .status.listeners[].conditions

説明
conditions は、このリスナーの現在の状態を説明します。
array

15.1.26. .status.listeners[].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 の条件のタイプ。

15.1.27. .status.listeners[].supportedKinds

説明

supportedKinds は、このリスナーによってサポートされている Kinds を示すリストです。これは、そのリスナー設定に対して実装がサポートする kinds を表す必要があります。

仕様でサポートされていない kinds が指定されている場合、それらはこのリストに表示されてはならず、実装では "ResolvedRefs" 条件を "InvalidRouteKinds" の理由で "False" に設定する必要があります。有効および無効なルートの kinds が両方指定されている場合、実装では指定された有効なルートの kinds を参照する必要があります。

array

15.1.28. .status.listeners[].supportedKinds[]

説明
RouteGroupKind は、ルートリソースのグループと kind を示します。
object
必須
  • kind
Expand
プロパティー説明

group

string

group はルートのグループです。

kind

string

kind はルートの kind です。

15.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/gateway.networking.k8s.io/v1/gateways

    • GET: kind が Gateway のオブジェクトをリスト表示します
  • /apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/gateways

    • DELETE: ゲートウェイのコレクションを削除します
    • GET: kind が Gateway のオブジェクトをリスト表示します
    • POST: ゲートウェイを作成します
  • /apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/gateways/{name}

    • DELETE: ゲートウェイを削除します
    • GET: 指定されたゲートウェイを読み取ります
    • PATCH: 指定されたゲートウェイを部分的に更新します
    • PUT: 指定されたゲートウェイを置き換えます
  • /apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/gateways/{name}/status

    • GET: 指定されたゲートウェイのステータスを読み取ります
    • PATCH: 指定されたゲートウェイのステータスを部分的に更新します
    • PUT: 指定されたゲートウェイのステータスを置き換えます

15.2.1. /apis/gateway.networking.k8s.io/v1/gateways

HTTP メソッド
GET
説明
kind が Gateway のオブジェクトをリスト表示します
Expand
表15.1 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

GatewayList スキーマ

401 - Unauthorized

空白

15.2.2. /apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/gateways

HTTP メソッド
DELETE
説明
ゲートウェイのコレクションを削除します
Expand
表15.2 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
kind が Gateway のオブジェクトをリスト表示します
Expand
表15.3 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

GatewayList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
ゲートウェイを作成します
Expand
表15.4 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表15.5 本文パラメーター
パラメーター説明

body

Gateway スキーマ

 
Expand
表15.6 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Gateway スキーマ

201 - Created

Gateway スキーマ

202 - Accepted

Gateway スキーマ

401 - Unauthorized

空白

15.2.3. /apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/gateways/{name}

Expand
表15.7 グローバルパスパラメーター
パラメーター説明

name

string

ゲートウェイの名前

HTTP メソッド
DELETE
説明
ゲートウェイを削除します
Expand
表15.8 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表15.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定されたゲートウェイを読み取ります
Expand
表15.10 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Gateway スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定されたゲートウェイを部分的に更新します
Expand
表15.11 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表15.12 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Gateway スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定されたゲートウェイを置き換えます
Expand
表15.13 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表15.14 本文パラメーター
パラメーター説明

body

Gateway スキーマ

 
Expand
表15.15 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Gateway スキーマ

201 - Created

Gateway スキーマ

401 - Unauthorized

空白

15.2.4. /apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/gateways/{name}/status

Expand
表15.16 グローバルパスパラメーター
パラメーター説明

name

string

ゲートウェイの名前

HTTP メソッド
GET
説明
指定されたゲートウェイのステータスを読み取ります
Expand
表15.17 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Gateway スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定されたゲートウェイのステータスを部分的に更新します
Expand
表15.18 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表15.19 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Gateway スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定されたゲートウェイのステータスを置き換えます
Expand
表15.20 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表15.21 本文パラメーター
パラメーター説明

body

Gateway スキーマ

 
Expand
表15.22 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Gateway スキーマ

201 - Created

Gateway スキーマ

401 - Unauthorized

空白

第16章 GatewayClass [gateway.networking.k8s.io/v1]

説明

GatewayClass は、ユーザーが Gateway リソースを作成するために使用できる Gateway のクラスを記述します。

このリソースを Gateway のテンプレートとして使用することが推奨されます。つまり、Gateway は作成時点の GatewayClass の状態に基づいており、GatewayClass または関連パラメーターへの変更は既存の Gateway に伝播されません。この推奨事項は、GatewayClass または関連パラメーターへの変更の影響範囲を制限することを目的としています。実装で GatewayClass の変更を既存の Gateway に伝播することを選択した場合は、そのことが実装に明確に文書化されている必要があります。

1 つ以上の Gateway が GatewayClass を使用している場合、実装では関連する GatewayClass に gateway-exists-finalizer.gateway.networking.k8s.io ファイナライザーを必ず追加する必要があります。そうすることで、Gateway に関連付けられた GatewayClass が使用中に削除されることはなくなります。

GatewayClass はクラスターレベルのリソースです。

object
必須
  • spec

16.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

Spec は、GatewayClass の望ましい状態を定義します。

status

object

status は、GatewayClass の現在の状態を定義します。

実装では、コントローラー名を指定するすべての GatewayClass リソースにステータスを設定する必要があります。

16.1.1. .spec

説明
Spec は、GatewayClass の望ましい状態を定義します。
object
必須
  • controllerName
Expand
プロパティー説明

controllerName

string

ControllerName は、このクラスのゲートウェイを管理しているコントローラーの名前です。このフィールドの値は、接頭辞としてドメインが追加されたパスである必要があります。

例: "example.net/gateway-controller"

このフィールドは変更不可であり、空にすることはできません。

サポート: Core

description

string

description は、GatewayClass をより詳細に説明するために役立ちます。

parametersRef

object

ParametersRef は、GatewayClass に対応する設定パラメーターが含まれるリソースへの参照です。コントローラーに追加の設定が必要ない場合はオプションです。

ParametersRef は、標準の Kubernetes リソース (つまり ConfigMap) または実装固有のカスタムリソースを参照できます。タースコープと namespace スコープのリソースが対象です。

参照先が見つからない場合、サポートされていない kind を参照している場合、またはそのリソース内のデータが不正な形式である場合、GatewayClass は "Accepted" ステータス条件が "False" に設定され、"InvalidParameters" の理由で拒否される必要があります。

この GatewayClass のゲートウェイは独自の parametersRef を提供する場合があります。両方が指定されている場合、マージ動作は実装固有です。一般的に、GatewayClass では、ゲートウェイによってオーバーライドできるデフォルトを指定することが推奨されます。

サポート: 実装固有

16.1.2. .spec.parametersRef

説明

ParametersRef は、GatewayClass に対応する設定パラメーターが含まれるリソースへの参照です。コントローラーに追加の設定が必要ない場合はオプションです。

ParametersRef は、標準の Kubernetes リソース (つまり ConfigMap) または実装固有のカスタムリソースを参照できます。タースコープと namespace スコープのリソースが対象です。

参照先が見つからない場合、サポートされていない kind を参照している場合、またはそのリソース内のデータが不正な形式である場合、GatewayClass は "Accepted" ステータス条件が "False" に設定され、"InvalidParameters" の理由で拒否される必要があります。

この GatewayClass のゲートウェイは独自の parametersRef を提供する場合があります。両方が指定されている場合、マージ動作は実装固有です。一般的に、GatewayClass では、ゲートウェイによってオーバーライドできるデフォルトを指定することが推奨されます。

サポート: 実装固有

object
必須
  • group
  • kind
  • name
Expand
プロパティー説明

group

string

group は参照先のグループです。

kind

string

kind は参照先の kind です。

name

string

name は参照先の名前です。

namespace

string

namespace は参照先の namespace です。このフィールドは、namespace スコープのリソースを参照する場合は必須です。クラスタースコープのリソースを参照する場合は、設定を解除する必要があります。

16.1.3. .status

説明

status は、GatewayClass の現在の状態を定義します。

実装では、コントローラー名を指定するすべての GatewayClass リソースにステータスを設定する必要があります。

object
Expand
プロパティー説明

conditions

array

Conditions は、この GatewayClass のコントローラーからの現在のステータスです。

コントローラーは、各 condition のタイプに応じて GatewayClassConditionType の値を使用して条件を公開することを優先する必要があります。

conditions[]

object

条件には、この API リソースの現在の状態の詳細が含まれます。

16.1.4. .status.conditions

説明

Conditions は、この GatewayClass のコントローラーからの現在のステータスです。

コントローラーは、各 condition のタイプに応じて GatewayClassConditionType の値を使用して条件を公開することを優先する必要があります。

array

16.1.5. .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 の条件のタイプ。

16.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/gateway.networking.k8s.io/v1/gatewayclasses

    • DELETE: GatewayClass のコレクションを削除します
    • GET: kind が GatewayClass のオブジェクトをリスト表示します
    • POST: GatewayClass を作成します
  • /apis/gateway.networking.k8s.io/v1/gatewayclasses/{name}

    • DELETE: GatewayClass を削除します
    • GET: 指定された GatewayClass を読み取ります
    • PATCH: 指定された GatewayClass を部分的に更新します
    • PUT: 指定された GatewayClass を置き換えます
  • /apis/gateway.networking.k8s.io/v1/gatewayclasses/{name}/status

    • GET: 指定された GatewayClass のステータスを読み取ります
    • PATCH: 指定された GatewayClass のステータスを部分的に更新します
    • PUT: 指定された GatewayClass のステータスを置き換えます

16.2.1. /apis/gateway.networking.k8s.io/v1/gatewayclasses

HTTP メソッド
DELETE
説明
GatewayClass のコレクションを削除します
Expand
表16.1 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
kind が GatewayClass のオブジェクトをリストします
Expand
表16.2 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

GatewayClassList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
GatewayClass を作成します
Expand
表16.3 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表16.4 本文パラメーター
パラメーター説明

body

GatewayClass スキーマ

 
Expand
表16.5 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

GatewayClass スキーマ

201 - Created

GatewayClass スキーマ

202 - Accepted

GatewayClass スキーマ

401 - Unauthorized

空白

16.2.2. /apis/gateway.networking.k8s.io/v1/gatewayclasses/{name}

Expand
表16.6 グローバルパスパラメーター
パラメーター説明

name

string

GatewayClass の名前

HTTP メソッド
DELETE
説明
GatewayClass を削除します
Expand
表16.7 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表16.8 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された GatewayClass を読み取ります
Expand
表16.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

GatewayClass スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された GatewayClass を部分的に更新します
Expand
表16.10 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表16.11 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

GatewayClass スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された GatewayClass を置き換えます
Expand
表16.12 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表16.13 本文パラメーター
パラメーター説明

body

GatewayClass スキーマ

 
Expand
表16.14 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

GatewayClass スキーマ

201 - Created

GatewayClass スキーマ

401 - Unauthorized

空白

16.2.3. /apis/gateway.networking.k8s.io/v1/gatewayclasses/{name}/status

Expand
表16.15 グローバルパスパラメーター
パラメーター説明

name

string

GatewayClass の名前

HTTP メソッド
GET
説明
指定された GatewayClass のステータスを読み取ります
Expand
表16.16 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

GatewayClass スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された GatewayClass のステータスを部分的に更新します
Expand
表16.17 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表16.18 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

GatewayClass スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された GatewayClass のステータスを置き換えます
Expand
表16.19 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表16.20 本文パラメーター
パラメーター説明

body

GatewayClass スキーマ

 
Expand
表16.21 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

GatewayClass スキーマ

201 - Created

GatewayClass スキーマ

401 - Unauthorized

空白

第17章 HTTPRoute [gateway.networking.k8s.io/v1]

説明
HTTPRoute は、HTTP 要求をルーティングするために使用できます。これには、ホスト名、パス、ヘッダー、またはクエリーパラメーターで要求を照合する機能が含まれます。フィルターを使用して追加の処理ステップを指定できます。バックエンドは、一致する要求のルーティング先を指定します。
object
必須
  • spec

17.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

Spec は、HTTPRoute の望ましい状態を定義します。

status

object

status は、HTTPRoute の現在の状態を定義します。

17.1.1. .spec

説明
Spec は、HTTPRoute の望ましい状態を定義します。
object
Expand
プロパティー説明

hostnames

array (string)

hostnames は、要求の処理に使用される HTTPRoute を選択するために、HTTP ホストヘッダーと一致するホスト名のセットを定義します。実装では、一致を実行するときに HTTP ホストヘッダーに指定されたポート値を無視する必要があり、(適用可能なヘッダー変更設定がない場合) このヘッダーを変更せずにバックエンドに転送する必要があります。

hostnames の有効な値は、RFC 1123 のホスト名の定義によって決定されますが、次の 2 つの例外があります。

1.IP は許可されていません。2. ホスト名の前にワイルドカードラベル (*.) を付けることができます。ワイルドカードラベルは、最初のラベルとして単独で表示される必要があります。

リスナーと HTTPRoute の両方でホスト名が指定されている場合、HTTPRoute をリスナーに割り当てるには、少なくとも 1 つの交差するホスト名が必要です。以下に例を示します。

* リスナーのホスト名は test.example.com で、ホスト名が指定されていないか、少なくとも test.example.com または *.example.com のいずれかが指定された HTTPRoutes と一致します。* リスナーのホスト名は *.example.com で、ホスト名が指定されていないか、リスナーのホスト名と一致するホスト名が 1 つ以上指定された HTTPRoutes と一致します。たとえば、\*.example.comtest.example.comfoo.test.example.com はすべて一致します。一方で、example.comtest.example.net は一致しません。

ワイルドカードラベル (*.) が接頭辞として追加されているホスト名は、接尾辞一致として解釈されます。つまり、*.example.com に一致すると、test.example.comfoo.test.example.com の両方に一致しますが、example.com には一致しません。

リスナーと HTTPRoute の両方にホスト名が指定されている場合、リスナーのホスト名と一致しない HTTPRoute のホスト名はすべて無視する必要があります。たとえば、リスナーが *.example.com を指定し、HTTPRoute が test.example.comtest.example.net を指定した場合、test.example.net は一致とみなされてはなりません。

リスナーと HTTPRoute の両方にホスト名が指定されており、どちらも上記の基準に一致しない場合、HTTPRoute は受け入れられません。実装では、対応する RouteParentStatus で 'Accepted' 条件のステータスが False で報告されなければなりません。

複数の HTTPRoute が共通するホスト名 (重複するワイルドカード一致と完全一致のホスト名など) を指定している場合、次の数が最も多い HTTPRoute のルールが優先されます。

* 一致する非ワイルドカードのホスト名の文字。* 一致するホスト名の文字。

複数のルートで同じ数になる場合、HTTPRouteMatches の一致優先ルールが適用されます。

サポート: Core

parentRefs

array

ParentRefs は、ルートの割り当て先となるリソース (通常はゲートウェイ) を参照します。割り当てを完了するには、参照先の親リソースでこれを許可する必要があることに注意してください。つまり、ゲートウェイの場合は、ゲートウェイがこの種類のルートおよび namespace からの割り当てを許可する必要があります。サービスの場合は、サービスが "producer" ルートと同じ namespace に存在するか、メッシュ実装が参照先のサービスの "consumer" ルートをサポートして許可する必要があることを意味します。ReferenceGrant は、サービスへの ParentRef の管理には適用できません。ルートとは異なる namespace にサービスの "producer" ルートを作成することはできません。

"Core" サポートを備えた親リソースには 2 つの kind があります。

* ゲートウェイ (ゲートウェイ適合プロファイル) * サービス (メッシュ適合プロファイル、ClusterIP サービスのみ)

この API は、今後拡張され、追加の kind の親リソースをサポートする可能性があります。

ParentRefs はそれぞれ 区別される 必要があります。これは次のいずれかを意味します。

* 異なるオブジェクトを選択します。この場合、parentRef エントリーはそれぞれ区別されるエントリーです。フィールドに関して言えば、これは、groupkindnamespacename を使用して定義されるマルチパートキーが、ルート内のすべての parentRef エントリー間で一意である必要があることを意味します。* 異なるオブジェクトは選択しませんが、同じオブジェクトを選択する各 ParentRef は、使用するオプションフィールドごとに、同じオプションフィールドのセットを異なる値に設定する必要があります。1 つの ParentRef がオプションフィールドの組み合わせを設定する場合、すべて同じ組み合わせを設定する必要があります。

例:

* 1 つの ParentRef が sectionName を設定する場合、同じオブジェクトを参照するすべての ParentRef も sectionName を設定する必要があります。* 1 つの ParentRef が port を設定する場合、同じオブジェクトを参照するすべての ParentRef も port を設定する必要があります。* 1 つの ParentRef が sectionNameport を設定する場合、同じオブジェクトを参照するすべての ParentRef も sectionNameport を設定する必要があります。

実装によって折りたたまれる可能性のある複数の区別されるオブジェクトを個別に参照できます。たとえば、一部の実装では、互換性のあるゲートウェイリスナーをマージすることを選択することがあります。その場合は、それらのリソースに割り当てられたルートのリストもマージする必要があります。

namespace の境界をまたぐ ParentRef には、特定のルールがあることに注意してください。namespace 間の参照は、参照先の namespace 内の何かによって明示的に許可されている場合にのみ有効です。たとえば、ゲートウェイには AllowedRoutes フィールドがあり、ReferenceGrant は他の種類の namespace 間参照を有効にする一般的な方法を提供します。

parentRefs[]

object

ParentReference は、このリソース (通常はルート) の親とみなされる API オブジェクト (通常はゲートウェイ) を識別します。"Core" サポートを備えた親リソースには 2 つの kind があります。

* ゲートウェイ (ゲートウェイ適合プロファイル) * サービス (メッシュ適合プロファイル、ClusterIP サービスのみ)

この API は、今後拡張され、追加の kind の親リソースをサポートする可能性があります。

API オブジェクトはクラスター内で有効である必要があります。この参照を有効にするには、Group と Kind がクラスターに登録されている必要があります。

rules

array

rules は、HTTP マッチャー、フィルター、およびアクションのリストです。

rules[]

object

HTTPRouteRule は、条件 (一致) に基づいて HTTP 要求を一致させ、それを処理 (フィルター) し、要求を API オブジェクト (backendRefs) に転送するためのセマンティクスを定義します。

17.1.2. .spec.parentRefs

説明

ParentRefs は、ルートの割り当て先となるリソース (通常はゲートウェイ) を参照します。割り当てを完了するには、参照先の親リソースでこれを許可する必要があることに注意してください。つまり、ゲートウェイの場合は、ゲートウェイがこの種類のルートおよび namespace からの割り当てを許可する必要があります。サービスの場合は、サービスが "producer" ルートと同じ namespace に存在するか、メッシュ実装が参照先のサービスの "consumer" ルートをサポートして許可する必要があることを意味します。ReferenceGrant は、サービスへの ParentRef の管理には適用できません。ルートとは異なる namespace にサービスの "producer" ルートを作成することはできません。

"Core" サポートを備えた親リソースには 2 つの kind があります。

  • ゲートウェイ (ゲートウェイ適合プロファイル)
  • サービス (メッシュ適合プロファイル、ClusterIP サービスのみ)

この API は、今後拡張され、追加の kind の親リソースをサポートする可能性があります。

ParentRefs はそれぞれ 区別される 必要があります。これは次のいずれかを意味します。

  • 異なるオブジェクトを選択します。この場合、parentRef エントリーはそれぞれ区別されるエントリーです。フィールドに関して言えば、これは、groupkindnamespacename を使用して定義されるマルチパートキーが、ルート内のすべての parentRef エントリー間で一意である必要があることを意味します。
  • 異なるオブジェクトは選択しませんが、同じオブジェクトを選択する各 ParentRef は、使用するオプションフィールドごとに、同じオプションフィールドのセットを異なる値に設定する必要があります。1 つの ParentRef がオプションフィールドの組み合わせを設定する場合、すべて同じ組み合わせを設定する必要があります。

例:

  • 1 つの ParentRef が sectionName を設定する場合、同じオブジェクトを参照するすべての ParentRef も sectionName を設定する必要があります。
  • 1 つの ParentRef が port を設定する場合、同じオブジェクトを参照するすべての ParentRef も port を設定する必要があります。
  • 1 つの ParentRef が sectionNameport を設定する場合、同じオブジェクトを参照するすべての ParentRef も sectionNameport を設定する必要があります。

実装によって折りたたまれる可能性のある複数の区別されるオブジェクトを個別に参照できます。たとえば、一部の実装では、互換性のあるゲートウェイリスナーをマージすることを選択することがあります。その場合は、それらのリソースに割り当てられたルートのリストもマージする必要があります。

namespace の境界をまたぐ ParentRef には、特定のルールがあることに注意してください。namespace 間の参照は、参照先の namespace 内の何かによって明示的に許可されている場合にのみ有効です。たとえば、ゲートウェイには AllowedRoutes フィールドがあり、ReferenceGrant は他の種類の namespace 間参照を有効にする一般的な方法を提供します。

array

17.1.3. .spec.parentRefs[]

説明

ParentReference は、このリソース (通常はルート) の親とみなされる API オブジェクト (通常はゲートウェイ) を識別します。"Core" サポートを備えた親リソースには 2 つの kind があります。

  • ゲートウェイ (ゲートウェイ適合プロファイル)
  • サービス (メッシュ適合プロファイル、ClusterIP サービスのみ)

この API は、今後拡張され、追加の kind の親リソースをサポートする可能性があります。

API オブジェクトはクラスター内で有効である必要があります。この参照を有効にするには、Group と Kind がクラスターに登録されている必要があります。

object
必須
  • name
Expand
プロパティー説明

group

string

group は参照先のグループです。指定されていない場合は、"gateway.networking.k8s.io" が推論されます。コア API グループ ("Service" kind の参照先など) を設定するには、Group を明示的に "" (空の文字列) に設定する必要があります。

サポート: Core

kind

string

kind は参照先の kind です。

"Core" サポートを備えた親リソースには 2 つの kind があります。

* ゲートウェイ (ゲートウェイ適合プロファイル) * サービス (メッシュ適合プロファイル、ClusterIP サービスのみ)

その他のリソースのサポートは実装によって異なります。

name

string

name は参照先の名前です。

サポート: Core

namespace

string

namespace は参照先の namespace です。指定されていない場合は、ルートのローカル namespace を参照します。

namespace の境界をまたぐ ParentRef には固有のルールがあることに注意してください。namespace 間の参照は、参照先の namespace 内の何かによって明示的に許可されている場合にのみ有効です。たとえば、Gateway には AllowedRoutes フィールドがあり、ReferenceGrant は他の種類の namespace 間参照を有効にする一般的な方法を提供します。

サポート: Core

port

integer

port は、このルートがターゲットとするネットワークポートです。親リソースのタイプに応じて、解釈が異なる場合があります。

親リソースがゲートウェイの場合、これは指定されたポートでリッスンし、この種類のルートもサポートする (そしてこのルートを選択する) すべてのリスナーをターゲットとします。ルートで指定されたネットワーク動作を、ポートが変更される可能性のあるリスナーではなく特定のポートに適用する必要がある場合以外で Port を設定することは推奨されません。Port と SectionName の両方を指定する場合、選択したリスナーの名前とポートは、指定された両方の値と一致する必要があります。

実装では、他の親リソースをサポートすることを選択できます。他のタイプの親リソースをサポートする実装では、ポートが解釈されるかどうか、どのように解釈されるかを明確に文書化する必要があります。

ステータスの目的上、親リソースが割り当てを部分的に受け入れる限り、割り当ては成功したとみなされます。たとえば、ゲートウェイリスナーは、ルートの種類、namespace、またはホスト名によって、どのルートを割り当てられるかを制限できます。2 つのゲートウェイリスナーのうち 1 つが参照ルートからの割り当てを受け入れた場合、ルートは正常に割り当て済みであるとみなされる必要があります。ゲートウェイリスナーがこのルートからの割り当てを受け入れない場合、ゲートウェイからルートへの割り当てが解除されたとみなされる必要があります。

サポート: Extended

sectionName

string

SectionName は、ターゲットリソース内のセクションの名前です。次のリソースでは、SectionName は次のように解釈されます。

* ゲートウェイ: リスナー名。Port (実験的機能) と SectionName の両方を指定する場合、選択したリスナーの名前とポートは、指定された両方の値と一致する必要があります。* サービス: ポート名。Port (実験的機能) と SectionName の両方を指定する場合、選択したリスナーの名前とポートは、指定された両方の値と一致する必要があります。

実装では、ルートを他のリソースに割り当てることもサポートできます。その場合は、SectionName がどのように解釈されるかを明確に文書化する必要があります。

指定されていない場合 (空の文字列)、リソース全体が参照されます。ステータスの目的上、親リソース内の少なくとも 1 つのセクションが割り当てを受け入れると、割り当ては成功したとみなされます。たとえば、ゲートウェイリスナーは、ルートの種類、namespace、またはホスト名によって、どのルートを割り当てられるかを制限できます。2 つのゲートウェイリスナーのうち 1 つが参照ルートからの割り当てを受け入れた場合、ルートは正常に割り当て済みであるとみなされる必要があります。ゲートウェイリスナーがこのルートからの割り当てを受け入れない場合、ゲートウェイからルートへの割り当てが解除されたとみなされる必要があります。

サポート: Core

17.1.4. .spec.rules

説明
rules は、HTTP マッチャー、フィルター、およびアクションのリストです。
array

17.1.5. .spec.rules[]

説明
HTTPRouteRule は、条件 (一致) に基づいて HTTP 要求を一致させ、それを処理 (フィルター) し、要求を API オブジェクト (backendRefs) に転送するためのセマンティクスを定義します。
object
Expand
プロパティー説明

backendRefs

array

backendRefs は、一致する要求を送信するバックエンドを定義します。

失敗の動作は、指定された BackendRef の数と無効な BackendRef の数により異なります。

BackendRefs 内の すべて のエントリーが無効で、このルートルールにフィルターがまったく指定されていない場合、このルールに一致する すべて のトラフィックは 500 ステータスコードを受け取る必要があります。

1 つの HTTPBackendRef が無効になるルールは、HTTPBackendRef の定義を参照してください。

HTTPBackendRef が無効な場合、無効なバックエンドにルーティングされるはずであった要求に対して 500 ステータスコードを返す必要があります。複数のバックエンドが指定されており、その一部が無効な場合、無効なバックエンドにルーティングされるはずであった割合の要求は、500 ステータスコードを受け取る必要があります。

たとえば、2 つのバックエンドが同じ重みで指定され、そのうちの 1 つが無効な場合、トラフィックの 50 パーセントは 500 を受信する必要があります。実装では、その 50 パーセントを決定する方法を選択できます。

HTTPBackendRef が ready 状態のエンドポイントを持たないサービスを参照する場合、実装ではそのバックエンドへの要求に対して代わりに 503 を返す必要があります。実装でこれを行うことを選択した場合、500 応答に関する上記のすべてのルールは、503 を返す応答にも適用される必要があります。

サポート: Kubernetes Service は Core

サポート: Kubernetes ServiceImport の Extended

サポート: その他のリソースは実装固有

重みのサポート: Core

backendRefs[]

object

HTTPBackendRef は、HTTPRoute が HTTP 要求を転送する方法を定義します。

ローカル namespace とは異なる namespace を指定する場合、その namespace の所有者が参照を受け入れるためには、参照先 namespace に ReferenceGrant オブジェクトが必要であることに注意してください。詳細は、ReferenceGrant ドキュメントを参照してください。

filters

array

フィルターは、このルールに一致する要求に適用されるフィルターを定義します。

可能な場合、実装では指定された順序でフィルターを実装する必要があります。

実装では、サポートできないフィルターの組み合わせや順序を拒否し、この順序を厳密に実装することを選択できます。実装でフィルター順序の厳密な解釈を選択する場合、その動作を明確に文書化する必要があります。

無効なフィルターの組み合わせまたは順序を拒否するには、実装ではこの設定のルートルールを無効とみなす必要があります。ルート内のすべてのルートルールが無効な場合、ルート全体が無効とみなされます。ルートルールの一部のみが無効な場合、実装ではルートに対して "PartiallyInvalid" 条件を設定する必要があります。

このレベルでの適合レベルは、フィルタータイプに基づき定義されます。

- すべてのコアフィルターは、すべての実装でサポートされる必要があります。- 実装者は拡張フィルターをサポートすることが推奨されます。- 実装固有のカスタムフィルターでは、実装をまたいだ API は保証されていません。

フィルターに明示的に指定されていない限り、同じフィルターを複数回指定することはサポートされません。

すべてのフィルターは相互に互換性があると考えられます。ただし、URLRewrite フィルターと RequestRedirect フィルターは例外で、これらのフィルターを組み合わせることはできません。実装が他のフィルターの組み合わせをサポートできない場合は、その制限を明確に文書化する必要があります。互換性のないフィルターやサポート対象外のフィルターが指定され、Accepted 条件のステータスが False に設定されると、実装では IncompatibleFilters を理由としてこの設定エラーを指定します。

サポート: Core

filters[]

object

HTTPRouteFilter は、要求または応答のライフサイクル中に完了する必要がある処理手順を定義します。HTTPRouteFilter は、ゲートウェイ実装で実行される可能性のある処理を表現するための拡張ポイントとなることを意図されています。例としては、要求または応答の変更、認証ストラテジーの実装、帯域制限、トラフィックシェーピングなどが挙げられます。API の保証/適合性は、フィルタータイプに基づき定義されます。

matches

array

matches は、着信 HTTP 要求にルールを一致させるために使用する条件を定義します。match はそれぞれ独立しています。つまり、いずれか の match が満たされると、ルールが一致します。

たとえば、次の matches 設定を見てみましょう。

matches: - path: value: "/foo" headers: - name: "version" value: "v2" - path: value: "/v2/foo"

次の 2 つの条件のいずれかを満たすと、要求はこのルールに一致するとみなされます。

- パスの接頭辞が /foo であり、ヘッダー version: v2 が含まれている - パスの接頭辞が /v2/foo である

AND で結合する複数の match 条件を指定する方法は、HTTPRouteMatch のドキュメントを参照してください。

matches が指定されていない場合、デフォルトは "/" /の接頭辞パス一致であり、すべての HTTP 要求に一致する効果があります。

HTTPRoutes から生成されたプロキシーまたはロードバランサーのルーティング設定では、以下に示す条件に基づき matches を優先する必要があり、同順位の場合は次の条件を使用して決定します。適用可能なルートで指定されたすべてのルールにおいて、次の条件を満たす一致が優先されます。

* "完全な" パス一致。* 文字数が最も多い "接頭辞" パスの一致。* メソッドの一致。* 文字数が最も多いヘッダーの一致。* 数が最も多いクエリーパラメーターの一致。

注記: RegularExpression パスマッチの優先順位は実装によって異なります。

複数のルートをまたいで同点が存在する場合は、以下に示す条件に基づき一致の優先順位を決定する必要があり、同順位の場合は次の条件を使用して決定します。

* 作成タイムスタンプに基づく古い方のルート。* "{namespace}/{name}" のアルファベット順で最初に表示されるルート。

HTTPRoute 内で依然として同順位が存在する場合、上記の基準を満たす一致を持つ最初の一致ルール (リスト順) に一致の優先順位を付与する必要があります。

要求に一致するルールが要求の送信元の親に正常に割り当てられていない場合は、HTTP 404 ステータスコードを返す必要があります。

matches[]

object

HTTPRouteMatch は、要求を特定のアクションに一致させるために使用される述語を定義します。複数の一致タイプは AND を使用して結合されます。つまり、すべての条件が満たされた場合にのみ match は true と評価されます。

たとえば、以下の match は、パスが foo で始まり、かつ version: v1 ヘッダーが含まれている場合にのみ HTTP 要求と一致します。

match:

path: value: "/foo" headers: - name: "version" value "v1"

timeouts

object

timeouts は、HTTP 要求に対して設定できるタイムアウトを定義します。

サポート: Extended

17.1.6. .spec.rules[].backendRefs

説明

backendRefs は、一致する要求を送信するバックエンドを定義します。

失敗の動作は、指定された BackendRef の数と無効な BackendRef の数により異なります。

BackendRefs 内の すべて のエントリーが無効で、このルートルールにフィルターがまったく指定されていない場合、このルールに一致する すべて のトラフィックは 500 ステータスコードを受け取る必要があります。

1 つの HTTPBackendRef が無効になるルールは、HTTPBackendRef の定義を参照してください。

HTTPBackendRef が無効な場合、無効なバックエンドにルーティングされるはずであった要求に対して 500 ステータスコードを返す必要があります。複数のバックエンドが指定されており、その一部が無効な場合、無効なバックエンドにルーティングされるはずであった割合の要求は、500 ステータスコードを受け取る必要があります。

たとえば、2 つのバックエンドが同じ重みで指定され、そのうちの 1 つが無効な場合、トラフィックの 50 パーセントは 500 を受信する必要があります。実装では、その 50 パーセントを決定する方法を選択できます。

HTTPBackendRef が ready 状態のエンドポイントを持たないサービスを参照する場合、実装ではそのバックエンドへの要求に対して代わりに 503 を返す必要があります。実装でこれを行うことを選択した場合、500 応答に関する上記のすべてのルールは、503 を返す応答にも適用される必要があります。

サポート: Kubernetes Service は Core

サポート: Kubernetes ServiceImport の Extended

サポート: その他のリソースは実装固有

重みのサポート: Core

array

17.1.7. .spec.rules[].backendRefs[]

説明

HTTPBackendRef は、HTTPRoute が HTTP 要求を転送する方法を定義します。

ローカル namespace とは異なる namespace を指定する場合、その namespace の所有者が参照を受け入れるためには、参照先 namespace に ReferenceGrant オブジェクトが必要であることに注意してください。詳細は、ReferenceGrant ドキュメントを参照してください。

object
必須
  • name
Expand
プロパティー説明

filters

array

このレベルで定義されたフィルターは、ここで定義されたバックエンドに要求が転送される場合にのみ実行されます。

サポート: 実装固有 (より広範なフィルターのサポートが必要な場合は、HTTPRouteRule の Filters フィールドを使用します。)

filters[]

object

HTTPRouteFilter は、要求または応答のライフサイクル中に完了する必要がある処理手順を定義します。HTTPRouteFilter は、ゲートウェイ実装で実行される可能性のある処理を表現するための拡張ポイントとなることを意図されています。例としては、要求または応答の変更、認証ストラテジーの実装、帯域制限、トラフィックシェーピングなどが挙げられます。API の保証/適合性は、フィルタータイプに基づき定義されます。

group

string

group は参照先のグループです。たとえば "gateway.networking.k8s.io" です。指定されていないか空の文字列の場合、core API グループが推論されます。

kind

string

kind は、参照先の Kubernetes リソースの種類です。たとえば、"Service" があります。

指定されていない場合のデフォルトは "Service" です。

ExternalName サービスは、クラスターの外部に存在する可能性のある CNAME DNS レコードを参照する可能性があるため、準拠の観点から判断することが困難です。また、転送先としても安全ではない可能性があります (詳細は、CVE-2021-25740 を参照してください)。実装では、ExternalName サービスをサポートしないでください。

サポート: Core (ExternalName 以外のタイプのサービス)

サポート: 実装固有 (ExternalName タイプのサービス)

name

string

name は参照先の名前です。

namespace

string

namespace はバックエンドの namespace です。指定しない場合は、ローカル namespace が推論されます。

ローカル namespace とは異なる namespace を指定する場合、その namespace の所有者が参照を受け入れるためには、参照先 namespace に ReferenceGrant オブジェクトが必要であることに注意してください。詳細は、ReferenceGrant ドキュメントを参照してください。

サポート: Core

port

integer

port は、このリソースに使用する宛先ポート番号を指定します。参照先が Kubernetes サービスの場合は port が必要です。この場合、ポート番号はターゲットポートではなく、サービスポート番号です。その他のリソースの場合、宛先ポートは参照先リソースまたはこのフィールドから導出される可能性があります。

weight

integer

weight は、参照先のバックエンドに転送される要求の割合を指定します。重み/(この BackendRefs リスト内のすべての重みの合計) で計算されます。ゼロ以外の値の場合、実装がサポートする精度に応じて、ここで定義された正確な割合から僅かな誤差が発生する可能性があります重みはパーセンテージではありません。重みの合計が 100 になる必要はありません。

バックエンドが 1 つだけ指定され、その重みが 0 より大きい場合、トラフィックの 100% がそのバックエンドに転送されます。重みが 0 に設定されている場合、このエントリーに対してトラフィックは転送されません。指定しない場合、重みはデフォルトで 1 になります。

このフィールドのサポートは、使用されるコンテキストにより異なります。

17.1.8. .spec.rules[].backendRefs[].filters

説明

このレベルで定義されたフィルターは、ここで定義されたバックエンドに要求が転送される場合にのみ実行されます。

サポート: 実装固有 (より広範なフィルターのサポートが必要な場合は、HTTPRouteRule の Filters フィールドを使用します。)

array

17.1.9. .spec.rules[].backendRefs[].filters[]

説明
HTTPRouteFilter は、要求または応答のライフサイクル中に完了する必要がある処理手順を定義します。HTTPRouteFilter は、ゲートウェイ実装で実行される可能性のある処理を表現するための拡張ポイントとなることを意図されています。例としては、要求または応答の変更、認証ストラテジーの実装、帯域制限、トラフィックシェーピングなどが挙げられます。API の保証/適合性は、フィルタータイプに基づき定義されます。
object
必須
  • type
Expand
プロパティー説明

extensionRef

object

ExtensionRef は、"filter" 動作に対するオプションの実装固有の拡張機能です。たとえば、"networking.example.net" グループ内の "myroutefilter" リソースがあります。ExtensionRef は、コアフィルターおよび拡張フィルターには使用しないでください。

このフィルターは同じルール内で複数回使用できます。

サポート: 実装固有

requestHeaderModifier

object

RequestHeaderModifier は、要求ヘッダーを変更するフィルターのスキーマを定義します。

サポート: Core

requestMirror

object

RequestMirror は、要求をミラーリングするフィルターのスキーマを定義します。要求は指定された宛先に送信されますが、その宛先からの応答は無視されます。

このフィルターは同じルール内で複数回使用できます。すべての実装が複数のバックエンドへのミラーリングをサポートできるわけではないことに注意してください。

サポート: Extended

requestRedirect

object

RequestRedirect は、HTTP リダイレクトを使用して要求に応答するフィルターのスキーマを定義します。

サポート: Core

responseHeaderModifier

object

ResponseHeaderModifier は、応答ヘッダーを変更するフィルターのスキーマを定義します。

サポート: Extended

type

string

type は適用するフィルターのタイプを識別します。他の API フィールドと同様に、タイプは次の 3 つの準拠レベルに分類されます。

- コア: このパッケージの "サポート: Core" で定義されたフィルタータイプとそれに対応する設定 (例: "RequestHeaderModifier")。すべての実装はコアフィルターをサポートする必要があります。

- 拡張: このパッケージの "サポート: Extended" で定義されたフィルタータイプとそれに対応する設定 (例: "RequestMirror")。実装者は拡張フィルターをサポートすることが推奨されます。

- 実装固有: 特定のベンダーによって定義およびサポートされているフィルター。将来的には、複数の実装をまたいで動作が収束するフィルターを、拡張またはコア適合レベルに含めることが検討される予定です。このようなフィルターのフィルター固有の設定は、ExtensionRef フィールドを使用して指定されます。カスタムフィルターの場合、Type は "ExtensionRef" に設定する必要があります。

実装者は、実装固有の動作でコア API を拡張するために、カスタム実装タイプを定義することが推奨されます。

カスタムフィルタータイプへの参照を解決できない場合は、フィルターをスキップしてはなりません。代わりに、そのフィルターによって処理されるはずだった要求は、HTTP エラー応答を受信する必要があります。

この列挙には値が追加される可能性があることに注意してください。実装では、不明な値によってクラッシュが発生しないようにする必要があります。

ここで不明な値を指定すると、実装によってルートの Accepted Condition が UnsupportedValue の理由で status: False に設定されます。

urlRewrite

object

URLRewrite は、転送中に要求を変更するフィルターのスキーマを定義します。

サポート: Extended

17.1.10. .spec.rules[].backendRefs[].filters[].extensionRef

説明

ExtensionRef は、"filter" 動作に対するオプションの実装固有の拡張機能です。たとえば、"networking.example.net" グループ内の "myroutefilter" リソースがあります。ExtensionRef は、コアフィルターおよび拡張フィルターには使用しないでください。

このフィルターは同じルール内で複数回使用できます。

サポート: 実装固有

object
必須
  • group
  • kind
  • name
Expand
プロパティー説明

group

string

group は参照先のグループです。たとえば "gateway.networking.k8s.io" です。指定されていないか空の文字列の場合、core API グループが推論されます。

kind

string

kind は参照先の kind です。たとえば、"HTTPRoute" や "Service" があります。

name

string

name は参照先の名前です。

17.1.11. .spec.rules[].backendRefs[].filters[].requestHeaderModifier

説明

RequestHeaderModifier は、要求ヘッダーを変更するフィルターのスキーマを定義します。

サポート: Core

object
Expand
プロパティー説明

add

array

Add は、アクションの前に、指定されたヘッダー (名前、値) を要求に追加します。ヘッダー名に関連付けられている既存の値に追加されます。

入力: GET /foo HTTP/1.1 my-header: foo

設定: add: - name: "my-header" value: "bar,baz"

出力: GET /foo HTTP/1.1 my-header: foo,bar,baz

add[]

object

HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。

remove

array (string)

アクションの前に、HTTP 要求から指定されたヘッダーを削除します。Remove の値は、HTTP ヘッダー名のリストです。ヘッダー名では、大文字と小文字が区別されないことに注意してください (https://datatracker.ietf.org/doc/html/rfc2616#section-4.2 を参照)。

入力: GET /foo HTTP/1.1 my-header1: foo my-header2: bar my-header3: baz

設定: remove: ["my-header1", "my-header3"]

出力: GET /foo HTTP/1.1 my-header2: bar

set

array

Set は、アクションの前に指定されたヘッダー (名前、値) を使用して要求を上書きします。

入力: GET /foo HTTP/1.1 my-header: foo

設定: set: - name: "my-header" value: "bar"

出力: GET /foo HTTP/1.1 my-header: bar

set[]

object

HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。

17.1.12. .spec.rules[].backendRefs[].filters[].requestHeaderModifier.add

説明

Add は、アクションの前に、指定されたヘッダー (名前、値) を要求に追加します。ヘッダー名に関連付けられている既存の値に追加されます。

入力: GET /foo HTTP/1.1 my-header: foo

設定: add: - name: "my-header" value: "bar,baz"

出力: GET /foo HTTP/1.1 my-header: foo,bar,baz

array

17.1.13. .spec.rules[].backendRefs[].filters[].requestHeaderModifier.add[]

説明
HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。
object
必須
  • name
  • value
Expand
プロパティー説明

name

string

name は、一致させる HTTP ヘッダーの名前です。名前の一致では、大文字と小文字を区別しないでください。(https://tools.ietf.org/html/rfc7230#section-3.2 を参照)。

複数のエントリーが同じヘッダー名を指定している場合、同じ名前を持つ最初のエントリーが一致とみなされる必要があります。同じヘッダー名を持つ後続のエントリーは無視する必要があります。ヘッダー名では大文字と小文字が区別されないため、"foo" と "Foo" は同じとみなされます。

value

string

value は、一致させる HTTP ヘッダーの値です。

17.1.14. .spec.rules[].backendRefs[].filters[].requestHeaderModifier.set

説明

Set は、アクションの前に指定されたヘッダー (名前、値) を使用して要求を上書きします。

入力: GET /foo HTTP/1.1 my-header: foo

設定: set: - name: "my-header" value: "bar"

出力: GET /foo HTTP/1.1 my-header: bar

array

17.1.15. .spec.rules[].backendRefs[].filters[].requestHeaderModifier.set[]

説明
HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。
object
必須
  • name
  • value
Expand
プロパティー説明

name

string

name は、一致させる HTTP ヘッダーの名前です。名前の一致では、大文字と小文字を区別しないでください。(https://tools.ietf.org/html/rfc7230#section-3.2 を参照)。

複数のエントリーが同じヘッダー名を指定している場合、同じ名前を持つ最初のエントリーが一致とみなされる必要があります。同じヘッダー名を持つ後続のエントリーは無視する必要があります。ヘッダー名では大文字と小文字が区別されないため、"foo" と "Foo" は同じとみなされます。

value

string

value は、一致させる HTTP ヘッダーの値です。

17.1.16. .spec.rules[].backendRefs[].filters[].requestMirror

説明

RequestMirror は、要求をミラーリングするフィルターのスキーマを定義します。要求は指定された宛先に送信されますが、その宛先からの応答は無視されます。

このフィルターは同じルール内で複数回使用できます。すべての実装が複数のバックエンドへのミラーリングをサポートできるわけではないことに注意してください。

サポート: Extended

object
必須
  • backendRef
Expand
プロパティー説明

backendRef

object

BackendRef は、ミラーリングされた要求が送信されるリソースを参照します。

ミラーリングされた要求は、この BackendRef 内に存在するエンドポトの数に関係なく、この BackendRef 内の単一の宛先エンドポイントにのみ送信する必要があります。

参照先が見つからない場合、この BackendRef は無効であり、ゲートウェイから削除する必要があります。コントローラーは、ルートステータスの "ResolvedRefs" 条件が status: False に設定されていることを確認し、基礎となる実装でこのバックエンドを設定しないようにする必要があります。

ReferenceGrant が許可しない 既存 オブジェクトへの namespace 間の参照がある場合、コントローラーは、ルートの "ResolvedRefs" 条件が status: False (理由は "RefNotPermitted") に設定されていることを確認して、基礎となる実装でこのバックエンドを設定しないようにする必要があります。

どちらのエラーでも、ResolvedRefs 条件のメッセージを使用して、問題の詳細を提供する必要があります。

サポート : Kubernetes Service は Extended

サポート: その他のリソースは実装固有

fraction

object

Fraction は、BackendRef にミラーリングする必要がある要求の割合を表します。

Fraction と Percent のいずれか 1 つだけを指定できます。どちらのフィールドも指定されていない場合は、要求の 100% がミラーリングされます。

percent

integer

percent は、BackendRef にミラーリングする必要がある要求のパーセンテージを表します。最小値は 0 (要求の 0% を示す)、最大値は 100 (要求の 100% を示す) です。

Fraction と Percent のいずれか 1 つだけを指定できます。どちらのフィールドも指定されていない場合は、要求の 100% がミラーリングされます。

17.1.17. .spec.rules[].backendRefs[].filters[].requestMirror.backendRef

説明

BackendRef は、ミラーリングされた要求が送信されるリソースを参照します。

ミラーリングされた要求は、この BackendRef 内に存在するエンドポトの数に関係なく、この BackendRef 内の単一の宛先エンドポイントにのみ送信する必要があります。

参照先が見つからない場合、この BackendRef は無効であり、ゲートウェイから削除する必要があります。コントローラーは、ルートステータスの "ResolvedRefs" 条件が status: False に設定されていることを確認し、基礎となる実装でこのバックエンドを設定しないようにする必要があります。

ReferenceGrant が許可しない 既存 オブジェクトへの namespace 間の参照がある場合、コントローラーは、ルートの "ResolvedRefs" 条件が status: False (理由は "RefNotPermitted") に設定されていることを確認して、基礎となる実装でこのバックエンドを設定しないようにする必要があります。

どちらのエラーでも、ResolvedRefs 条件のメッセージを使用して、問題の詳細を提供する必要があります。

サポート : Kubernetes Service は Extended

サポート: その他のリソースは実装固有

object
必須
  • name
Expand
プロパティー説明

group

string

group は参照先のグループです。たとえば "gateway.networking.k8s.io" です。指定されていないか空の文字列の場合、core API グループが推論されます。

kind

string

kind は、参照先の Kubernetes リソースの種類です。たとえば、"Service" があります。

指定されていない場合のデフォルトは "Service" です。

ExternalName サービスは、クラスターの外部に存在する可能性のある CNAME DNS レコードを参照する可能性があるため、準拠の観点から判断することが困難です。また、転送先としても安全ではない可能性があります (詳細は、CVE-2021-25740 を参照してください)。実装では、ExternalName サービスをサポートしないでください。

サポート: Core (ExternalName 以外のタイプのサービス)

サポート: 実装固有 (ExternalName タイプのサービス)

name

string

name は参照先の名前です。

namespace

string

namespace はバックエンドの namespace です。指定しない場合は、ローカル namespace が推論されます。

ローカル namespace とは異なる namespace を指定する場合、その namespace の所有者が参照を受け入れるためには、参照先 namespace に ReferenceGrant オブジェクトが必要であることに注意してください。詳細は、ReferenceGrant ドキュメントを参照してください。

サポート: Core

port

integer

port は、このリソースに使用する宛先ポート番号を指定します。参照先が Kubernetes サービスの場合は port が必要です。この場合、ポート番号はターゲットポートではなく、サービスポート番号です。その他のリソースの場合、宛先ポートは参照先リソースまたはこのフィールドから導出される可能性があります。

17.1.18. .spec.rules[].backendRefs[].filters[].requestMirror.fraction

説明

Fraction は、BackendRef にミラーリングする必要がある要求の割合を表します。

Fraction と Percent のいずれか 1 つだけを指定できます。どちらのフィールドも指定されていない場合は、要求の 100% がミラーリングされます。

object
必須
  • numerator
Expand
プロパティー説明

denominator

integer

 

numerator

integer

 

17.1.19. .spec.rules[].backendRefs[].filters[].requestRedirect

説明

RequestRedirect は、HTTP リダイレクトを使用して要求に応答するフィルターのスキーマを定義します。

サポート: Core

object
Expand
プロパティー説明

hostname

string

hostname は、応答の Location ヘッダーの値で使用されるホスト名です。空の場合、要求の Host ヘッダー内のホスト名が使用されます。

サポート: Core

path

object

path は、受信要求のパスを変更するために使用されるパラメーターを定義します。変更されたパスは、Location ヘッダーの構築に使用されます。空の場合、要求パスはそのまま使用されます。

サポート: Extended

port

integer

Port は、応答の Location ヘッダーの値で使用されるポートです。

ポートが指定されていない場合は、次のルールを使用してリダイレクトポートを導出する必要があります。

* リダイレクトスキームが空でない場合、リダイレクトポートはリダイレクトスキームに関連付けられた既知のポートである必要があります。具体的には、"http" はポート 80、"https" はポート 443 です。リダイレクトスキームに既知のポートがない場合は、ゲートウェイのリスナーポートを使用する必要があります。* リダイレクトスキームが空の場合、リダイレクトポートはゲートウェイリスナーポートである必要があります。

次の場合、実装で 'Location' ヘッダーにポート番号を追加しないでください。

* HTTP (リスナープロトコルまたは Scheme フィールドで決定)、および ポート 80 を使用する Location ヘッダー。* HTTPS (リスナープロトコルまたは Scheme フィールドで決定)、および ポート 443 を使用する Location ヘッダー。

サポート: Extended

scheme

string

scheme は、応答の Location ヘッダーの値で使用されるスキームです。空の場合、要求のスキームが使用されます。

スキームリダイレクトはリダイレクトのポートに影響を与える可能性があります。詳細は、このフィルターの port フィールドのドキュメントを参照してください。

この列挙には値が追加される可能性があることに注意してください。実装では、不明な値によってクラッシュが発生しないようにする必要があります。

ここで不明な値を指定すると、実装によってルートの Accepted Condition が UnsupportedValue の理由で status: False に設定されます。

サポート: Extended

statusCode

integer

statusCode は、応答で使用される HTTP ステータスコードです。

この列挙には値が追加される可能性があることに注意してください。実装では、不明な値によってクラッシュが発生しないようにする必要があります。

ここで不明な値を指定すると、実装によってルートの Accepted Condition が UnsupportedValue の理由で status: False に設定されます。

サポート: Core

17.1.20. .spec.rules[].backendRefs[].filters[].requestRedirect.path

説明

path は、受信要求のパスを変更するために使用されるパラメーターを定義します。変更されたパスは、Location ヘッダーの構築に使用されます。空の場合、要求パスはそのまま使用されます。

サポート: Extended

object
必須
  • type
Expand
プロパティー説明

replaceFullPath

string

replaceFullPath は、書き換えまたはリダイレクト中に要求の完全パスを置き換える値を指定します。

replacePrefixMatch

string

replacePrefixMatch は、書き換えまたはリダイレクト中に要求の接頭辞一致を置き換える値を指定します。たとえば、接頭辞一致が "/foo" で、ReplacePrefixMatch が "/xyz" である "/foo/bar" への要求は、"/xyz/bar" に変更されます。

これは、PathPrefix 一致タイプの動作と一致することに注意してください。これは完全パス要素に一致します。パス要素は、/ の区切り文字で分割されたパス内のラベルリストを指します。指定すると、末尾の / は無視されます。たとえば、パス /abc/abc//abc/def はすべて接頭辞 /abc と一致しますが、パス /abcd は一致しません。

ReplacePrefixMatch は PathPrefix HTTPRouteMatch とのみ互換性があります。同じ HTTPRouteRule で他の HTTPRouteMatch タイプを使用すると、実装によってルートの Accepted Condition が status: False に設定されます。

要求パス | 接頭辞一致 | 接頭辞の置き換え | 変更されたパス

type

string

type はパス修飾子のタイプを定義します。今後のリリースでタイプが追加される可能性があります。

この列挙には値が追加される可能性があることに注意してください。実装では、不明な値によってクラッシュが発生しないようにする必要があります。

ここで不明な値を指定すると、実装によってルートの Accepted Condition が UnsupportedValue の理由で status: False に設定されます。

17.1.21. .spec.rules[].backendRefs[].filters[].responseHeaderModifier

説明

ResponseHeaderModifier は、応答ヘッダーを変更するフィルターのスキーマを定義します。

サポート: Extended

object
Expand
プロパティー説明

add

array

Add は、アクションの前に、指定されたヘッダー (名前、値) を要求に追加します。ヘッダー名に関連付けられている既存の値に追加されます。

入力: GET /foo HTTP/1.1 my-header: foo

設定: add: - name: "my-header" value: "bar,baz"

出力: GET /foo HTTP/1.1 my-header: foo,bar,baz

add[]

object

HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。

remove

array (string)

アクションの前に、HTTP 要求から指定されたヘッダーを削除します。Remove の値は、HTTP ヘッダー名のリストです。ヘッダー名では、大文字と小文字が区別されないことに注意してください (https://datatracker.ietf.org/doc/html/rfc2616#section-4.2 を参照)。

入力: GET /foo HTTP/1.1 my-header1: foo my-header2: bar my-header3: baz

設定: remove: ["my-header1", "my-header3"]

出力: GET /foo HTTP/1.1 my-header2: bar

set

array

Set は、アクションの前に指定されたヘッダー (名前、値) を使用して要求を上書きします。

入力: GET /foo HTTP/1.1 my-header: foo

設定: set: - name: "my-header" value: "bar"

出力: GET /foo HTTP/1.1 my-header: bar

set[]

object

HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。

17.1.22. .spec.rules[].backendRefs[].filters[].responseHeaderModifier.add

説明

Add は、アクションの前に、指定されたヘッダー (名前、値) を要求に追加します。ヘッダー名に関連付けられている既存の値に追加されます。

入力: GET /foo HTTP/1.1 my-header: foo

設定: add: - name: "my-header" value: "bar,baz"

出力: GET /foo HTTP/1.1 my-header: foo,bar,baz

array

17.1.23. .spec.rules[].backendRefs[].filters[].responseHeaderModifier.add[]

説明
HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。
object
必須
  • name
  • value
Expand
プロパティー説明

name

string

name は、一致させる HTTP ヘッダーの名前です。名前の一致では、大文字と小文字を区別しないでください。(https://tools.ietf.org/html/rfc7230#section-3.2 を参照)。

複数のエントリーが同じヘッダー名を指定している場合、同じ名前を持つ最初のエントリーが一致とみなされる必要があります。同じヘッダー名を持つ後続のエントリーは無視する必要があります。ヘッダー名では大文字と小文字が区別されないため、"foo" と "Foo" は同じとみなされます。

value

string

value は、一致させる HTTP ヘッダーの値です。

17.1.24. .spec.rules[].backendRefs[].filters[].responseHeaderModifier.set

説明

Set は、アクションの前に指定されたヘッダー (名前、値) を使用して要求を上書きします。

入力: GET /foo HTTP/1.1 my-header: foo

設定: set: - name: "my-header" value: "bar"

出力: GET /foo HTTP/1.1 my-header: bar

array

17.1.25. .spec.rules[].backendRefs[].filters[].responseHeaderModifier.set[]

説明
HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。
object
必須
  • name
  • value
Expand
プロパティー説明

name

string

name は、一致させる HTTP ヘッダーの名前です。名前の一致では、大文字と小文字を区別しないでください。(https://tools.ietf.org/html/rfc7230#section-3.2 を参照)。

複数のエントリーが同じヘッダー名を指定している場合、同じ名前を持つ最初のエントリーが一致とみなされる必要があります。同じヘッダー名を持つ後続のエントリーは無視する必要があります。ヘッダー名では大文字と小文字が区別されないため、"foo" と "Foo" は同じとみなされます。

value

string

value は、一致させる HTTP ヘッダーの値です。

17.1.26. .spec.rules[].backendRefs[].filters[].urlRewrite

説明

URLRewrite は、転送中に要求を変更するフィルターのスキーマを定義します。

サポート: Extended

object
Expand
プロパティー説明

hostname

string

hostname は、転送中にホストヘッダー値を置き換えるために使用される値です。

サポート: Extended

path

object

path はパスの書き換えを定義します。

サポート: Extended

17.1.27. .spec.rules[].backendRefs[].filters[].urlRewrite.path

説明

path はパスの書き換えを定義します。

サポート: Extended

object
必須
  • type
Expand
プロパティー説明

replaceFullPath

string

replaceFullPath は、書き換えまたはリダイレクト中に要求の完全パスを置き換える値を指定します。

replacePrefixMatch

string

replacePrefixMatch は、書き換えまたはリダイレクト中に要求の接頭辞一致を置き換える値を指定します。たとえば、接頭辞一致が "/foo" で、ReplacePrefixMatch が "/xyz" である "/foo/bar" への要求は、"/xyz/bar" に変更されます。

これは、PathPrefix 一致タイプの動作と一致することに注意してください。これは完全パス要素に一致します。パス要素は、/ の区切り文字で分割されたパス内のラベルリストを指します。指定すると、末尾の / は無視されます。たとえば、パス /abc/abc//abc/def はすべて接頭辞 /abc と一致しますが、パス /abcd は一致しません。

ReplacePrefixMatch は PathPrefix HTTPRouteMatch とのみ互換性があります。同じ HTTPRouteRule で他の HTTPRouteMatch タイプを使用すると、実装によってルートの Accepted Condition が status: False に設定されます。

要求パス | 接頭辞一致 | 接頭辞の置き換え | 変更されたパス

type

string

type はパス修飾子のタイプを定義します。今後のリリースでタイプが追加される可能性があります。

この列挙には値が追加される可能性があることに注意してください。実装では、不明な値によってクラッシュが発生しないようにする必要があります。

ここで不明な値を指定すると、実装によってルートの Accepted Condition が UnsupportedValue の理由で status: False に設定されます。

17.1.28. .spec.rules[].filters

説明

フィルターは、このルールに一致する要求に適用されるフィルターを定義します。

可能な場合、実装では指定された順序でフィルターを実装する必要があります。

実装では、サポートできないフィルターの組み合わせや順序を拒否し、この順序を厳密に実装することを選択できます。実装でフィルター順序の厳密な解釈を選択する場合、その動作を明確に文書化する必要があります。

無効なフィルターの組み合わせまたは順序を拒否するには、実装ではこの設定のルートルールを無効とみなす必要があります。ルート内のすべてのルートルールが無効な場合、ルート全体が無効とみなされます。ルートルールの一部のみが無効な場合、実装ではルートに対して "PartiallyInvalid" 条件を設定する必要があります。

このレベルでの適合レベルは、フィルタータイプに基づき定義されます。

  • すべてのコアフィルターはすべての実装でサポートされる必要があります。
  • 実装者は拡張フィルターをサポートすることが推奨されます。
  • 実装固有のカスタムフィルターでは、実装間で API は保証されません。

フィルターに明示的に指定されていない限り、同じフィルターを複数回指定することはサポートされません。

すべてのフィルターは相互に互換性があると考えられます。ただし、URLRewrite フィルターと RequestRedirect フィルターは例外で、これらのフィルターを組み合わせることはできません。実装が他のフィルターの組み合わせをサポートできない場合は、その制限を明確に文書化する必要があります。互換性のないフィルターやサポート対象外のフィルターが指定され、Accepted 条件のステータスが False に設定されると、実装では IncompatibleFilters を理由としてこの設定エラーを指定します。

サポート: Core

array

17.1.29. .spec.rules[].filters[]

説明
HTTPRouteFilter は、要求または応答のライフサイクル中に完了する必要がある処理手順を定義します。HTTPRouteFilter は、ゲートウェイ実装で実行される可能性のある処理を表現するための拡張ポイントとなることを意図されています。例としては、要求または応答の変更、認証ストラテジーの実装、帯域制限、トラフィックシェーピングなどが挙げられます。API の保証/適合性は、フィルタータイプに基づき定義されます。
object
必須
  • type
Expand
プロパティー説明

extensionRef

object

ExtensionRef は、"filter" 動作に対するオプションの実装固有の拡張機能です。たとえば、"networking.example.net" グループ内の "myroutefilter" リソースがあります。ExtensionRef は、コアフィルターおよび拡張フィルターには使用しないでください。

このフィルターは同じルール内で複数回使用できます。

サポート: 実装固有

requestHeaderModifier

object

RequestHeaderModifier は、要求ヘッダーを変更するフィルターのスキーマを定義します。

サポート: Core

requestMirror

object

RequestMirror は、要求をミラーリングするフィルターのスキーマを定義します。要求は指定された宛先に送信されますが、その宛先からの応答は無視されます。

このフィルターは同じルール内で複数回使用できます。すべての実装が複数のバックエンドへのミラーリングをサポートできるわけではないことに注意してください。

サポート: Extended

requestRedirect

object

RequestRedirect は、HTTP リダイレクトを使用して要求に応答するフィルターのスキーマを定義します。

サポート: Core

responseHeaderModifier

object

ResponseHeaderModifier は、応答ヘッダーを変更するフィルターのスキーマを定義します。

サポート: Extended

type

string

type は適用するフィルターのタイプを識別します。他の API フィールドと同様に、タイプは次の 3 つの準拠レベルに分類されます。

- コア: このパッケージの "サポート: Core" で定義されたフィルタータイプとそれに対応する設定 (例: "RequestHeaderModifier")。すべての実装はコアフィルターをサポートする必要があります。

- 拡張: このパッケージの "サポート: Extended" で定義されたフィルタータイプとそれに対応する設定 (例: "RequestMirror")。実装者は拡張フィルターをサポートすることが推奨されます。

- 実装固有: 特定のベンダーによって定義およびサポートされているフィルター。将来的には、複数の実装をまたいで動作が収束するフィルターを、拡張またはコア適合レベルに含めることが検討される予定です。このようなフィルターのフィルター固有の設定は、ExtensionRef フィールドを使用して指定されます。カスタムフィルターの場合、Type は "ExtensionRef" に設定する必要があります。

実装者は、実装固有の動作でコア API を拡張するために、カスタム実装タイプを定義することが推奨されます。

カスタムフィルタータイプへの参照を解決できない場合は、フィルターをスキップしてはなりません。代わりに、そのフィルターによって処理されるはずだった要求は、HTTP エラー応答を受信する必要があります。

この列挙には値が追加される可能性があることに注意してください。実装では、不明な値によってクラッシュが発生しないようにする必要があります。

ここで不明な値を指定すると、実装によってルートの Accepted Condition が UnsupportedValue の理由で status: False に設定されます。

urlRewrite

object

URLRewrite は、転送中に要求を変更するフィルターのスキーマを定義します。

サポート: Extended

17.1.30. .spec.rules[].filters[].extensionRef

説明

ExtensionRef は、"filter" 動作に対するオプションの実装固有の拡張機能です。たとえば、"networking.example.net" グループ内の "myroutefilter" リソースがあります。ExtensionRef は、コアフィルターおよび拡張フィルターには使用しないでください。

このフィルターは同じルール内で複数回使用できます。

サポート: 実装固有

object
必須
  • group
  • kind
  • name
Expand
プロパティー説明

group

string

group は参照先のグループです。たとえば "gateway.networking.k8s.io" です。指定されていないか空の文字列の場合、core API グループが推論されます。

kind

string

kind は参照先の kind です。たとえば、"HTTPRoute" や "Service" があります。

name

string

name は参照先の名前です。

17.1.31. .spec.rules[].filters[].requestHeaderModifier

説明

RequestHeaderModifier は、要求ヘッダーを変更するフィルターのスキーマを定義します。

サポート: Core

object
Expand
プロパティー説明

add

array

Add は、アクションの前に、指定されたヘッダー (名前、値) を要求に追加します。ヘッダー名に関連付けられている既存の値に追加されます。

入力: GET /foo HTTP/1.1 my-header: foo

設定: add: - name: "my-header" value: "bar,baz"

出力: GET /foo HTTP/1.1 my-header: foo,bar,baz

add[]

object

HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。

remove

array (string)

アクションの前に、HTTP 要求から指定されたヘッダーを削除します。Remove の値は、HTTP ヘッダー名のリストです。ヘッダー名では、大文字と小文字が区別されないことに注意してください (https://datatracker.ietf.org/doc/html/rfc2616#section-4.2 を参照)。

入力: GET /foo HTTP/1.1 my-header1: foo my-header2: bar my-header3: baz

設定: remove: ["my-header1", "my-header3"]

出力: GET /foo HTTP/1.1 my-header2: bar

set

array

Set は、アクションの前に指定されたヘッダー (名前、値) を使用して要求を上書きします。

入力: GET /foo HTTP/1.1 my-header: foo

設定: set: - name: "my-header" value: "bar"

出力: GET /foo HTTP/1.1 my-header: bar

set[]

object

HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。

17.1.32. .spec.rules[].filters[].requestHeaderModifier.add

説明

Add は、アクションの前に、指定されたヘッダー (名前、値) を要求に追加します。ヘッダー名に関連付けられている既存の値に追加されます。

入力: GET /foo HTTP/1.1 my-header: foo

設定: add: - name: "my-header" value: "bar,baz"

出力: GET /foo HTTP/1.1 my-header: foo,bar,baz

array

17.1.33. .spec.rules[].filters[].requestHeaderModifier.add[]

説明
HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。
object
必須
  • name
  • value
Expand
プロパティー説明

name

string

name は、一致させる HTTP ヘッダーの名前です。名前の一致では、大文字と小文字を区別しないでください。(https://tools.ietf.org/html/rfc7230#section-3.2 を参照)。

複数のエントリーが同じヘッダー名を指定している場合、同じ名前を持つ最初のエントリーが一致とみなされる必要があります。同じヘッダー名を持つ後続のエントリーは無視する必要があります。ヘッダー名では大文字と小文字が区別されないため、"foo" と "Foo" は同じとみなされます。

value

string

value は、一致させる HTTP ヘッダーの値です。

17.1.34. .spec.rules[].filters[].requestHeaderModifier.set

説明

Set は、アクションの前に指定されたヘッダー (名前、値) を使用して要求を上書きします。

入力: GET /foo HTTP/1.1 my-header: foo

設定: set: - name: "my-header" value: "bar"

出力: GET /foo HTTP/1.1 my-header: bar

array

17.1.35. .spec.rules[].filters[].requestHeaderModifier.set[]

説明
HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。
object
必須
  • name
  • value
Expand
プロパティー説明

name

string

name は、一致させる HTTP ヘッダーの名前です。名前の一致では、大文字と小文字を区別しないでください。(https://tools.ietf.org/html/rfc7230#section-3.2 を参照)。

複数のエントリーが同じヘッダー名を指定している場合、同じ名前を持つ最初のエントリーが一致とみなされる必要があります。同じヘッダー名を持つ後続のエントリーは無視する必要があります。ヘッダー名では大文字と小文字が区別されないため、"foo" と "Foo" は同じとみなされます。

value

string

value は、一致させる HTTP ヘッダーの値です。

17.1.36. .spec.rules[].filters[].requestMirror

説明

RequestMirror は、要求をミラーリングするフィルターのスキーマを定義します。要求は指定された宛先に送信されますが、その宛先からの応答は無視されます。

このフィルターは同じルール内で複数回使用できます。すべての実装が複数のバックエンドへのミラーリングをサポートできるわけではないことに注意してください。

サポート: Extended

object
必須
  • backendRef
Expand
プロパティー説明

backendRef

object

BackendRef は、ミラーリングされた要求が送信されるリソースを参照します。

ミラーリングされた要求は、この BackendRef 内に存在するエンドポトの数に関係なく、この BackendRef 内の単一の宛先エンドポイントにのみ送信する必要があります。

参照先が見つからない場合、この BackendRef は無効であり、ゲートウェイから削除する必要があります。コントローラーは、ルートステータスの "ResolvedRefs" 条件が status: False に設定されていることを確認し、基礎となる実装でこのバックエンドを設定しないようにする必要があります。

ReferenceGrant が許可しない 既存 オブジェクトへの namespace 間の参照がある場合、コントローラーは、ルートの "ResolvedRefs" 条件が status: False (理由は "RefNotPermitted") に設定されていることを確認して、基礎となる実装でこのバックエンドを設定しないようにする必要があります。

どちらのエラーでも、ResolvedRefs 条件のメッセージを使用して、問題の詳細を提供する必要があります。

サポート : Kubernetes Service は Extended

サポート: その他のリソースは実装固有

fraction

object

Fraction は、BackendRef にミラーリングする必要がある要求の割合を表します。

Fraction と Percent のいずれか 1 つだけを指定できます。どちらのフィールドも指定されていない場合は、要求の 100% がミラーリングされます。

percent

integer

percent は、BackendRef にミラーリングする必要がある要求のパーセンテージを表します。最小値は 0 (要求の 0% を示す)、最大値は 100 (要求の 100% を示す) です。

Fraction と Percent のいずれか 1 つだけを指定できます。どちらのフィールドも指定されていない場合は、要求の 100% がミラーリングされます。

17.1.37. .spec.rules[].filters[].requestMirror.backendRef

説明

BackendRef は、ミラーリングされた要求が送信されるリソースを参照します。

ミラーリングされた要求は、この BackendRef 内に存在するエンドポトの数に関係なく、この BackendRef 内の単一の宛先エンドポイントにのみ送信する必要があります。

参照先が見つからない場合、この BackendRef は無効であり、ゲートウェイから削除する必要があります。コントローラーは、ルートステータスの "ResolvedRefs" 条件が status: False に設定されていることを確認し、基礎となる実装でこのバックエンドを設定しないようにする必要があります。

ReferenceGrant が許可しない 既存 オブジェクトへの namespace 間の参照がある場合、コントローラーは、ルートの "ResolvedRefs" 条件が status: False (理由は "RefNotPermitted") に設定されていることを確認して、基礎となる実装でこのバックエンドを設定しないようにする必要があります。

どちらのエラーでも、ResolvedRefs 条件のメッセージを使用して、問題の詳細を提供する必要があります。

サポート : Kubernetes Service は Extended

サポート: その他のリソースは実装固有

object
必須
  • name
Expand
プロパティー説明

group

string

group は参照先のグループです。たとえば "gateway.networking.k8s.io" です。指定されていないか空の文字列の場合、core API グループが推論されます。

kind

string

kind は、参照先の Kubernetes リソースの種類です。たとえば、"Service" があります。

指定されていない場合のデフォルトは "Service" です。

ExternalName サービスは、クラスターの外部に存在する可能性のある CNAME DNS レコードを参照する可能性があるため、準拠の観点から判断することが困難です。また、転送先としても安全ではない可能性があります (詳細は、CVE-2021-25740 を参照してください)。実装では、ExternalName サービスをサポートしないでください。

サポート: Core (ExternalName 以外のタイプのサービス)

サポート: 実装固有 (ExternalName タイプのサービス)

name

string

name は参照先の名前です。

namespace

string

namespace はバックエンドの namespace です。指定しない場合は、ローカル namespace が推論されます。

ローカル namespace とは異なる namespace を指定する場合、その namespace の所有者が参照を受け入れるためには、参照先 namespace に ReferenceGrant オブジェクトが必要であることに注意してください。詳細は、ReferenceGrant ドキュメントを参照してください。

サポート: Core

port

integer

port は、このリソースに使用する宛先ポート番号を指定します。参照先が Kubernetes サービスの場合は port が必要です。この場合、ポート番号はターゲットポートではなく、サービスポート番号です。その他のリソースの場合、宛先ポートは参照先リソースまたはこのフィールドから導出される可能性があります。

17.1.38. .spec.rules[].filters[].requestMirror.fraction

説明

Fraction は、BackendRef にミラーリングする必要がある要求の割合を表します。

Fraction と Percent のいずれか 1 つだけを指定できます。どちらのフィールドも指定されていない場合は、要求の 100% がミラーリングされます。

object
必須
  • numerator
Expand
プロパティー説明

denominator

integer

 

numerator

integer

 

17.1.39. .spec.rules[].filters[].requestRedirect

説明

RequestRedirect は、HTTP リダイレクトを使用して要求に応答するフィルターのスキーマを定義します。

サポート: Core

object
Expand
プロパティー説明

hostname

string

hostname は、応答の Location ヘッダーの値で使用されるホスト名です。空の場合、要求の Host ヘッダー内のホスト名が使用されます。

サポート: Core

path

object

path は、受信要求のパスを変更するために使用されるパラメーターを定義します。変更されたパスは、Location ヘッダーの構築に使用されます。空の場合、要求パスはそのまま使用されます。

サポート: Extended

port

integer

Port は、応答の Location ヘッダーの値で使用されるポートです。

ポートが指定されていない場合は、次のルールを使用してリダイレクトポートを導出する必要があります。

* リダイレクトスキームが空でない場合、リダイレクトポートはリダイレクトスキームに関連付けられた既知のポートである必要があります。具体的には、"http" はポート 80、"https" はポート 443 です。リダイレクトスキームに既知のポートがない場合は、ゲートウェイのリスナーポートを使用する必要があります。* リダイレクトスキームが空の場合、リダイレクトポートはゲートウェイリスナーポートである必要があります。

次の場合、実装で 'Location' ヘッダーにポート番号を追加しないでください。

* HTTP (リスナープロトコルまたは Scheme フィールドで決定)、および ポート 80 を使用する Location ヘッダー。* HTTPS (リスナープロトコルまたは Scheme フィールドで決定)、および ポート 443 を使用する Location ヘッダー。

サポート: Extended

scheme

string

scheme は、応答の Location ヘッダーの値で使用されるスキームです。空の場合、要求のスキームが使用されます。

スキームリダイレクトはリダイレクトのポートに影響を与える可能性があります。詳細は、このフィルターの port フィールドのドキュメントを参照してください。

この列挙には値が追加される可能性があることに注意してください。実装では、不明な値によってクラッシュが発生しないようにする必要があります。

ここで不明な値を指定すると、実装によってルートの Accepted Condition が UnsupportedValue の理由で status: False に設定されます。

サポート: Extended

statusCode

integer

statusCode は、応答で使用される HTTP ステータスコードです。

この列挙には値が追加される可能性があることに注意してください。実装では、不明な値によってクラッシュが発生しないようにする必要があります。

ここで不明な値を指定すると、実装によってルートの Accepted Condition が UnsupportedValue の理由で status: False に設定されます。

サポート: Core

17.1.40. .spec.rules[].filters[].requestRedirect.path

説明

path は、受信要求のパスを変更するために使用されるパラメーターを定義します。変更されたパスは、Location ヘッダーの構築に使用されます。空の場合、要求パスはそのまま使用されます。

サポート: Extended

object
必須
  • type
Expand
プロパティー説明

replaceFullPath

string

replaceFullPath は、書き換えまたはリダイレクト中に要求の完全パスを置き換える値を指定します。

replacePrefixMatch

string

replacePrefixMatch は、書き換えまたはリダイレクト中に要求の接頭辞一致を置き換える値を指定します。たとえば、接頭辞一致が "/foo" で、ReplacePrefixMatch が "/xyz" である "/foo/bar" への要求は、"/xyz/bar" に変更されます。

これは、PathPrefix 一致タイプの動作と一致することに注意してください。これは完全パス要素に一致します。パス要素は、/ の区切り文字で分割されたパス内のラベルリストを指します。指定すると、末尾の / は無視されます。たとえば、パス /abc/abc//abc/def はすべて接頭辞 /abc と一致しますが、パス /abcd は一致しません。

ReplacePrefixMatch は PathPrefix HTTPRouteMatch とのみ互換性があります。同じ HTTPRouteRule で他の HTTPRouteMatch タイプを使用すると、実装によってルートの Accepted Condition が status: False に設定されます。

要求パス | 接頭辞一致 | 接頭辞の置き換え | 変更されたパス

type

string

type はパス修飾子のタイプを定義します。今後のリリースでタイプが追加される可能性があります。

この列挙には値が追加される可能性があることに注意してください。実装では、不明な値によってクラッシュが発生しないようにする必要があります。

ここで不明な値を指定すると、実装によってルートの Accepted Condition が UnsupportedValue の理由で status: False に設定されます。

17.1.41. .spec.rules[].filters[].responseHeaderModifier

説明

ResponseHeaderModifier は、応答ヘッダーを変更するフィルターのスキーマを定義します。

サポート: Extended

object
Expand
プロパティー説明

add

array

Add は、アクションの前に、指定されたヘッダー (名前、値) を要求に追加します。ヘッダー名に関連付けられている既存の値に追加されます。

入力: GET /foo HTTP/1.1 my-header: foo

設定: add: - name: "my-header" value: "bar,baz"

出力: GET /foo HTTP/1.1 my-header: foo,bar,baz

add[]

object

HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。

remove

array (string)

アクションの前に、HTTP 要求から指定されたヘッダーを削除します。Remove の値は、HTTP ヘッダー名のリストです。ヘッダー名では、大文字と小文字が区別されないことに注意してください (https://datatracker.ietf.org/doc/html/rfc2616#section-4.2 を参照)。

入力: GET /foo HTTP/1.1 my-header1: foo my-header2: bar my-header3: baz

設定: remove: ["my-header1", "my-header3"]

出力: GET /foo HTTP/1.1 my-header2: bar

set

array

Set は、アクションの前に指定されたヘッダー (名前、値) を使用して要求を上書きします。

入力: GET /foo HTTP/1.1 my-header: foo

設定: set: - name: "my-header" value: "bar"

出力: GET /foo HTTP/1.1 my-header: bar

set[]

object

HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。

17.1.42. .spec.rules[].filters[].responseHeaderModifier.add

説明

Add は、アクションの前に、指定されたヘッダー (名前、値) を要求に追加します。ヘッダー名に関連付けられている既存の値に追加されます。

入力: GET /foo HTTP/1.1 my-header: foo

設定: add: - name: "my-header" value: "bar,baz"

出力: GET /foo HTTP/1.1 my-header: foo,bar,baz

array

17.1.43. .spec.rules[].filters[].responseHeaderModifier.add[]

説明
HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。
object
必須
  • name
  • value
Expand
プロパティー説明

name

string

name は、一致させる HTTP ヘッダーの名前です。名前の一致では、大文字と小文字を区別しないでください。(https://tools.ietf.org/html/rfc7230#section-3.2 を参照)。

複数のエントリーが同じヘッダー名を指定している場合、同じ名前を持つ最初のエントリーが一致とみなされる必要があります。同じヘッダー名を持つ後続のエントリーは無視する必要があります。ヘッダー名では大文字と小文字が区別されないため、"foo" と "Foo" は同じとみなされます。

value

string

value は、一致させる HTTP ヘッダーの値です。

17.1.44. .spec.rules[].filters[].responseHeaderModifier.set

説明

Set は、アクションの前に指定されたヘッダー (名前、値) を使用して要求を上書きします。

入力: GET /foo HTTP/1.1 my-header: foo

設定: set: - name: "my-header" value: "bar"

出力: GET /foo HTTP/1.1 my-header: bar

array

17.1.45. .spec.rules[].filters[].responseHeaderModifier.set[]

説明
HTTPHeader は、RFC 7230 で定義されている HTTP ヘッダー名と値を表します。
object
必須
  • name
  • value
Expand
プロパティー説明

name

string

name は、一致させる HTTP ヘッダーの名前です。名前の一致では、大文字と小文字を区別しないでください。(https://tools.ietf.org/html/rfc7230#section-3.2 を参照)。

複数のエントリーが同じヘッダー名を指定している場合、同じ名前を持つ最初のエントリーが一致とみなされる必要があります。同じヘッダー名を持つ後続のエントリーは無視する必要があります。ヘッダー名では大文字と小文字が区別されないため、"foo" と "Foo" は同じとみなされます。

value

string

value は、一致させる HTTP ヘッダーの値です。

17.1.46. .spec.rules[].filters[].urlRewrite

説明

URLRewrite は、転送中に要求を変更するフィルターのスキーマを定義します。

サポート: Extended

object
Expand
プロパティー説明

hostname

string

hostname は、転送中にホストヘッダー値を置き換えるために使用される値です。

サポート: Extended

path

object

path はパスの書き換えを定義します。

サポート: Extended

17.1.47. .spec.rules[].filters[].urlRewrite.path

説明

path はパスの書き換えを定義します。

サポート: Extended

object
必須
  • type
Expand
プロパティー説明

replaceFullPath

string

replaceFullPath は、書き換えまたはリダイレクト中に要求の完全パスを置き換える値を指定します。

replacePrefixMatch

string

replacePrefixMatch は、書き換えまたはリダイレクト中に要求の接頭辞一致を置き換える値を指定します。たとえば、接頭辞一致が "/foo" で、ReplacePrefixMatch が "/xyz" である "/foo/bar" への要求は、"/xyz/bar" に変更されます。

これは、PathPrefix 一致タイプの動作と一致することに注意してください。これは完全パス要素に一致します。パス要素は、/ の区切り文字で分割されたパス内のラベルリストを指します。指定すると、末尾の / は無視されます。たとえば、パス /abc/abc//abc/def はすべて接頭辞 /abc と一致しますが、パス /abcd は一致しません。

ReplacePrefixMatch は PathPrefix HTTPRouteMatch とのみ互換性があります。同じ HTTPRouteRule で他の HTTPRouteMatch タイプを使用すると、実装によってルートの Accepted Condition が status: False に設定されます。

要求パス | 接頭辞一致 | 接頭辞の置き換え | 変更されたパス

type

string

type はパス修飾子のタイプを定義します。今後のリリースでタイプが追加される可能性があります。

この列挙には値が追加される可能性があることに注意してください。実装では、不明な値によってクラッシュが発生しないようにする必要があります。

ここで不明な値を指定すると、実装によってルートの Accepted Condition が UnsupportedValue の理由で status: False に設定されます。

17.1.48. .spec.rules[].matches

説明

matches は、着信 HTTP 要求にルールを一致させるために使用する条件を定義します。match はそれぞれ独立しています。つまり、いずれか の match が満たされると、ルールが一致します。

たとえば、次の matches 設定を見てみましょう。

matches: - path: value: "/foo" headers: - name: "version" value: "v2" - path: value: "/v2/foo"

次の 2 つの条件のいずれかを満たすと、要求はこのルールに一致するとみなされます。

  • パスの接頭辞が /foo で、さらにヘッダー version: v2 が含まれている
  • パスの接頭辞が /v2/foo である

AND で結合する複数の match 条件を指定する方法は、HTTPRouteMatch のドキュメントを参照してください。

matches が指定されていない場合、デフォルトは "/" /の接頭辞パス一致であり、すべての HTTP 要求に一致する効果があります。

HTTPRoutes から生成されたプロキシーまたはロードバランサーのルーティング設定では、以下に示す条件に基づき matches を優先する必要があり、同順位の場合は次の条件を使用して決定します。適用可能なルートで指定されたすべてのルールにおいて、次の条件を満たす一致が優先されます。

  • "完全な" パス一致。
  • 文字数が最も多い "接頭辞" パスの一致。
  • メソッドの一致。
  • 文字数が最も多いヘッダーの一致。
  • 数が最も多いクエリーパラメーターの一致。

注記: RegularExpression パスマッチの優先順位は実装によって異なります。

複数のルートをまたいで同点が存在する場合は、以下に示す条件に基づき一致の優先順位を決定する必要があり、同順位の場合は次の条件を使用して決定します。

  • 作成タイムスタンプに基づく最も古いルート。
  • "{namespace}/{name}" のアルファベット順で最初に表示されるルート。

HTTPRoute 内で依然として同順位が存在する場合、上記の基準を満たす一致を持つ最初の一致ルール (リスト順) に一致の優先順位を付与する必要があります。

要求に一致するルールが要求の送信元の親に正常に割り当てられていない場合は、HTTP 404 ステータスコードを返す必要があります。

array

17.1.49. .spec.rules[].matches[]

説明

HTTPRouteMatch は、要求を特定のアクションに一致させるために使用される述語を定義します。複数の一致タイプは AND を使用して結合されます。つまり、すべての条件が満たされた場合にのみ match は true と評価されます。

たとえば、以下の match は、パスが foo で始まり、かつ version: v1 ヘッダーが含まれている場合にのみ HTTP 要求と一致します。

match:

path:
  value: "/foo"
headers:
- name: "version"
  value "v1"
Copy to Clipboard Toggle word wrap
object
Expand
プロパティー説明

headers

array

headers は、HTTP 要求ヘッダーのマッチャーを指定します。一致する値が複数ある場合は、AND を使用して結合されます。つまり、ルートを選択するには、要求が指定されたすべてのヘッダーと一致する必要があります。

headers[]

object

HTTPHeaderMatch は、HTTP 要求ヘッダーを照合して HTTP ルートを選択する方法を記述します。

method

string

method は、HTTP メソッドのマッチャーを指定します。指定すると、このルートは、要求に指定されたメソッドがある場合にのみ照合されます。

サポート: Extended

path

object

path は、HTTP 要求パスマッチャーを指定します。このフィールドが指定されていない場合、デフォルトで "/" パスの接頭辞一致が提供されます。

queryParams

array

queryParams は、HTTP クエリーパラメーターマッチャーを指定します。一致する値が複数ある場合は、AND を使用して結合されます。つまり、ルートを選択するには、要求が指定されたすべてのクエリーパラメーターと一致する必要があります。

サポート: Extended

queryParams[]

object

HTTPQueryParamMatch は、HTTP クエリーパラメーターを照合して HTTP ルートを選択する方法を記述します。

17.1.50. .spec.rules[].matches[].headers

説明
headers は、HTTP 要求ヘッダーのマッチャーを指定します。一致する値が複数ある場合は、AND を使用して結合されます。つまり、ルートを選択するには、要求が指定されたすべてのヘッダーと一致する必要があります。
array

17.1.51. .spec.rules[].matches[].headers[]

説明
HTTPHeaderMatch は、HTTP 要求ヘッダーを照合して HTTP ルートを選択する方法を記述します。
object
必須
  • name
  • value
Expand
プロパティー説明

name

string

name は、一致させる HTTP ヘッダーの名前です。名前の一致では、大文字と小文字を区別しないでください。(https://tools.ietf.org/html/rfc7230#section-3.2 を参照)。

複数のエントリーが同じヘッダー名を指定している場合、同じ名前を持つ最初のエントリーのみが一致として考慮される必要があります。同じヘッダー名を持つ後続のエントリーは無視する必要があります。ヘッダー名では大文字と小文字が区別されないため、"foo" と "Foo" は同じとみなされます。

HTTP 要求でヘッダーが繰り返されている場合、それがどのように表現されるかは実装固有の動作になります。通常、プロキシーは、繰り返されたヘッダーの処理に関する RFC ( https://www.rfc-editor.org/rfc/rfc7230.html#section-3.2.2) のガイダンスに従う必要がありますが、"Set-Cookie" には特別な処理が必要です。

type

string

type は、ヘッダーの値と一致させる方法を指定します。

サポート: Core (Exact)

サポート: 実装固有 (RegularExpression)

RegularExpression HeaderMatchType には実装固有の適合性があるため、実装は POSIX、PCRE、またはその他の正規表現の方言をサポートできます。実装のドキュメントを参照して、サポートされている方言を確認してください。

value

string

value は、一致させる HTTP ヘッダーの値です。

17.1.52. .spec.rules[].matches[].path

説明
path は、HTTP 要求パスマッチャーを指定します。このフィールドが指定されていない場合、デフォルトで "/" パスの接頭辞一致が提供されます。
object
Expand
プロパティー説明

type

string

type は、パスの値と照合する方法を指定します。

サポート: Core (Exact, PathPrefix)

サポート: 実装固有 (RegularExpression)

value

string

照合する HTTP パスの値。

17.1.53. .spec.rules[].matches[].queryParams

説明

queryParams は、HTTP クエリーパラメーターマッチャーを指定します。一致する値が複数ある場合は、AND を使用して結合されます。つまり、ルートを選択するには、要求が指定されたすべてのクエリーパラメーターと一致する必要があります。

サポート: Extended

array

17.1.54. .spec.rules[].matches[].queryParams[]

説明
HTTPQueryParamMatch は、HTTP クエリーパラメーターを照合して HTTP ルートを選択する方法を記述します。
object
必須
  • name
  • value
Expand
プロパティー説明

name

string

name は、一致させる HTTP クエリーパラメーターの名前です。これは、文字列の完全一致である必要があります。(https://tools.ietf.org/html/rfc7230#section-2.7.3 を参照)。

複数のエントリーが同じクエリーパラメーター名を指定している場合、同じ名前を持つ最初のエントリーのみが一致として考慮される必要があります。同じクエリーパラメーター名を持つ後続のエントリーは、無視する必要があります。

HTTP 要求でクエリーパラメーターを繰り返す場合、データプレーンごとに機能が異なるため、動作は意図的に未定義のままになります。ただし、この動作はゲートウェイ API 以外の他の負荷分散コンテキストで予想されるため、データプレーンがサポートしている場合は、実装をパラメーターの最初の値と一致させることが 推奨されます

ユーザーは、実装における潜在的な違いを防ぐために、繰り返しのクエリーパラメーターに基づいてトラフィックをルーティングしないでください。

type

string

type は、クエリーパラメーターの値と照合する方法を指定します。

サポート: Extended (Exact)

サポート: 実装固有 (RegularExpression)

RegularExpression QueryParamMatchType には実装固有の適合性があるため、実装は POSIX、PCRE、またはその他の正規表現の方言をサポートできます。実装のドキュメントを参照して、サポートされている方言を確認してください。

value

string

value は、一致する HTTP クエリーパラメーターの値です。

17.1.55. .spec.rules[].timeouts

説明

timeouts は、HTTP 要求に対して設定できるタイムアウトを定義します。

サポート: Extended

object
Expand
プロパティー説明

backendRequest

string

BackendRequest は、ゲートウェイからバックエンドへの個別要求のタイムアウトを指定します。これは、ゲートウェイからの要求送信が最初に開始されてから、完全な応答をバックエンドから受信するまでの時間をカバーします。

タイムアウトをゼロに設定する (例:"0s") と、タイムアウトが完全に無効になるはずです。タイムアウトを完全に無効にできない実装では、代わりに継続時間がゼロの場合を、タイムアウトに設定できる最長時間として解釈する必要があります。

要求タイムアウトの対象となるゲートウェイとクライアント間の HTTP トランザクション全体で、ゲートウェイから宛先バックエンドへの呼び出しが複数回発生することがあります。たとえば、自動再試行がサポートされている場合が該当します。

BackendRequest の値は、GEP-2257 で定義されている Gateway API Duration の文字列である必要があります。このフィールドが指定されていない場合、その動作は実装固有です。指定されている場合、BackendRequest の値は要求タイムアウトの値以下である必要があります (要求タイムアウトには BackendRequest タイムアウトが含まれるため)。

サポート: Extended

request

string

request は、ゲートウェイが HTTP 要求に応答するまでの最大時間を指定します。この時間に達するまでにゲートウェイが応答できなかった場合、ゲートウェイはタイムアウトエラーを返す必要があります。

たとえば、HTTPRouterules.timeouts.request フィールドの値を 10s に設定した場合、クライアント要求の完了にかかる時間が 10 秒を超えるとタイムアウトが発生します。

タイムアウトをゼロに設定する (例:"0s") と、タイムアウトが完全に無効になるはずです。タイムアウトを完全に無効にできない実装では、代わりに継続時間がゼロの場合を、タイムアウトに設定できる最長時間として解釈する必要があります。

このタイムアウトは、可能な限り要求応答トランザクション全体をカバーすることを目的としていますが、実装では、クライアントによってトランザクションが開始された直後ではなく、要求ストリーム全体が受信された後にタイムアウトを開始することを選択できます。

request の値は、GEP-2257 で定義されている Gateway API Duration の文字列です。このフィールドが指定されていない場合、要求タイムアウトの動作は実装によって異なります。

サポート: Extended

17.1.56. .status

説明
status は、HTTPRoute の現在の状態を定義します。
object
必須
  • parents
Expand
プロパティー説明

parents

array

parents は、ルートに関連付けられている親リソース (通常はゲートウェイ) のリストと、各親に対するルートのステータスです。このルートが親に割り当てられる場合、親を管理するコントローラーは、ルートを最初に確認したときにこのリストにエントリーを追加し、ルートまたはゲートウェイが変更された場合にはエントリーを適切に更新する必要があります。

この API の実装によって解決できない親参照は、このリストに追加されないことに注意してください。この API の実装では、対象のゲートウェイ/親リソースのルートステータスのみ設定できます。

このリストには最大 32 個のゲートウェイが表示されます。リストが空の場合、ルートはどのゲートウェイにも割り当てられていないことを意味します。

parents[]

object

RouteParentStatus は、関連付けられた親に対するルートのステータスを記述します。

17.1.57. .status.parents

説明

parents は、ルートに関連付けられている親リソース (通常はゲートウェイ) のリストと、各親に対するルートのステータスです。このルートが親に割り当てられる場合、親を管理するコントローラーは、ルートを最初に確認したときにこのリストにエントリーを追加し、ルートまたはゲートウェイが変更された場合にはエントリーを適切に更新する必要があります。

この API の実装によって解決できない親参照は、このリストに追加されないことに注意してください。この API の実装では、対象のゲートウェイ/親リソースのルートステータスのみ設定できます。

このリストには最大 32 個のゲートウェイが表示されます。リストが空の場合、ルートはどのゲートウェイにも割り当てられていないことを意味します。

array

17.1.58. .status.parents[]

説明
RouteParentStatus は、関連付けられた親に対するルートのステータスを記述します。
object
必須
  • controllerName
  • parentRef
Expand
プロパティー説明

conditions

array

conditions は、ゲートウェイに対するルートのステータスを記述します。ルートの可用性は、ゲートウェイ自体のステータス条件とリスナーのステータスにも左右されることに注意してください。

ルートの ParentRef が、このタイプのルートをサポートする既存のゲートウェイを指定し、そのゲートウェイのコントローラーが十分なアクセス権を持っている場合、そのゲートウェイのコントローラーは、ルートがゲートウェイによって受け入れられたか拒否されたか、およびその理由を示すために、ルートに "Accepted" 条件を設定する必要があります。

ルートのルールの少なくとも 1 つがゲートウェイに実装されている場合、ルートは "Accepted" とみなされる必要があります。

コントローラーの可視性が不足しているために "Accepted" 条件が設定されないケースが多数あります。これには次のような場合が含まれます。

* ルートが存在しない親を参照している場合。* コントローラーがサポートしていないルートタイプの場合。* コントローラーがアクセスできない namespace にルートが配置されている場合。

conditions[]

object

condition には、この API Resource の現在の状態のある側面の詳細が含まれます。

controllerName

string

ControllerName は、このステータスを書き込んだコントローラーの名前を示すドメイン/パスの文字列です。これは、GatewayClass の controllerName フィールドに対応します。

例: "example.net/gateway-controller"

このフィールドの形式は DOMAIN "/" PATH です。この場合の DOMAIN と PATH は有効な Kubernetes 名です (https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names)。

コントローラーはステータスを書き込むときにこのフィールドに値を入力する必要があります。コントローラーは、ControllerName が設定されたステータスのエントリーが不要になったときにクリーンアップされるようにする必要があります。

parentRef

object

ParentRef は、この RouteParentStatus 構造体がステータスを記述する、仕様内の ParentRef に対応します。

17.1.59. .status.parents[].conditions

説明

conditions は、ゲートウェイに対するルートのステータスを記述します。ルートの可用性は、ゲートウェイ自体のステータス条件とリスナーのステータスにも左右されることに注意してください。

ルートの ParentRef が、このタイプのルートをサポートする既存のゲートウェイを指定し、そのゲートウェイのコントローラーが十分なアクセス権を持っている場合、そのゲートウェイのコントローラーは、ルートがゲートウェイによって受け入れられたか拒否されたか、およびその理由を示すために、ルートに "Accepted" 条件を設定する必要があります。

ルートのルールの少なくとも 1 つがゲートウェイに実装されている場合、ルートは "Accepted" とみなされる必要があります。

コントローラーの可視性が不足しているために "Accepted" 条件が設定されないケースが多数あります。これには次のような場合が含まれます。

  • ルートが存在しない親を参照している場合。
  • コントローラーがサポートしていないルートタイプの場合。
  • コントローラーがアクセスできない namespace にルートが配置されている場合。
array

17.1.60. .status.parents[].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 の条件のタイプ。

17.1.61. .status.parents[].parentRef

説明
ParentRef は、この RouteParentStatus 構造体がステータスを記述する、仕様内の ParentRef に対応します。
object
必須
  • name
Expand
プロパティー説明

group

string

group は参照先のグループです。指定されていない場合は、"gateway.networking.k8s.io" が推論されます。コア API グループ ("Service" kind の参照先など) を設定するには、Group を明示的に "" (空の文字列) に設定する必要があります。

サポート: Core

kind

string

kind は参照先の kind です。

"Core" サポートを備えた親リソースには 2 つの kind があります。

* ゲートウェイ (ゲートウェイ適合プロファイル) * サービス (メッシュ適合プロファイル、ClusterIP サービスのみ)

その他のリソースのサポートは実装によって異なります。

name

string

name は参照先の名前です。

サポート: Core

namespace

string

namespace は参照先の namespace です。指定されていない場合は、ルートのローカル namespace を参照します。

namespace の境界をまたぐ ParentRef には固有のルールがあることに注意してください。namespace 間の参照は、参照先の namespace 内の何かによって明示的に許可されている場合にのみ有効です。たとえば、Gateway には AllowedRoutes フィールドがあり、ReferenceGrant は他の種類の namespace 間参照を有効にする一般的な方法を提供します。

サポート: Core

port

integer

port は、このルートがターゲットとするネットワークポートです。親リソースのタイプに応じて、解釈が異なる場合があります。

親リソースがゲートウェイの場合、これは指定されたポートでリッスンし、この種類のルートもサポートする (そしてこのルートを選択する) すべてのリスナーをターゲットとします。ルートで指定されたネットワーク動作を、ポートが変更される可能性のあるリスナーではなく特定のポートに適用する必要がある場合以外で Port を設定することは推奨されません。Port と SectionName の両方を指定する場合、選択したリスナーの名前とポートは、指定された両方の値と一致する必要があります。

実装では、他の親リソースをサポートすることを選択できます。他のタイプの親リソースをサポートする実装では、ポートが解釈されるかどうか、どのように解釈されるかを明確に文書化する必要があります。

ステータスの目的上、親リソースが割り当てを部分的に受け入れる限り、割り当ては成功したとみなされます。たとえば、ゲートウェイリスナーは、ルートの種類、namespace、またはホスト名によって、どのルートを割り当てられるかを制限できます。2 つのゲートウェイリスナーのうち 1 つが参照ルートからの割り当てを受け入れた場合、ルートは正常に割り当て済みであるとみなされる必要があります。ゲートウェイリスナーがこのルートからの割り当てを受け入れない場合、ゲートウェイからルートへの割り当てが解除されたとみなされる必要があります。

サポート: Extended

sectionName

string

SectionName は、ターゲットリソース内のセクションの名前です。次のリソースでは、SectionName は次のように解釈されます。

* ゲートウェイ: リスナー名。Port (実験的機能) と SectionName の両方を指定する場合、選択したリスナーの名前とポートは、指定された両方の値と一致する必要があります。* サービス: ポート名。Port (実験的機能) と SectionName の両方を指定する場合、選択したリスナーの名前とポートは、指定された両方の値と一致する必要があります。

実装では、ルートを他のリソースに割り当てることもサポートできます。その場合は、SectionName がどのように解釈されるかを明確に文書化する必要があります。

指定されていない場合 (空の文字列)、リソース全体が参照されます。ステータスの目的上、親リソース内の少なくとも 1 つのセクションが割り当てを受け入れると、割り当ては成功したとみなされます。たとえば、ゲートウェイリスナーは、ルートの種類、namespace、またはホスト名によって、どのルートを割り当てられるかを制限できます。2 つのゲートウェイリスナーのうち 1 つが参照ルートからの割り当てを受け入れた場合、ルートは正常に割り当て済みであるとみなされる必要があります。ゲートウェイリスナーがこのルートからの割り当てを受け入れない場合、ゲートウェイからルートへの割り当てが解除されたとみなされる必要があります。

サポート: Core

17.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/gateway.networking.k8s.io/v1/httproutes

    • GET: kind が HTTPRoute のオブジェクトをリスト表示します
  • /apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/httproutes

    • DELETE: HTTPRoute のコレクションを削除します
    • GET: kind が HTTPRoute のオブジェクトをリスト表示します
    • POST: HTTPRoute を作成します
  • /apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/httproutes/{name}

    • DELETE: HTTPRoute を削除します
    • GET: 指定された HTTPRoute を読み取ります
    • PATCH: 指定された HTTPRoute を部分的に更新します
    • PUT: 指定された HTTPRoute を置き換えます
  • /apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/httproutes/{name}/status

    • GET: 指定された HTTPRoute のステータスを読み取ります
    • PATCH: 指定されたゲートウェイのステータスを部分的に更新します
    • PUT: 指定された HTTPRoute のステータスを置き換えます

17.2.1. /apis/gateway.networking.k8s.io/v1/httproutes

HTTP メソッド
GET
説明
kind が HTTPRoute のオブジェクトをリスト表示します
Expand
表17.1 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

HTTPRouteList スキーマ

401 - Unauthorized

空白

17.2.2. /apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/httproutes

HTTP メソッド
DELETE
説明
HTTPRoute のコレクションを削除します
Expand
表17.2 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
kind が HTTPRoute のオブジェクトをリスト表示します
Expand
表17.3 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

HTTPRouteList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
HTTPRoute を作成します
Expand
表17.4 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表17.5 本文パラメーター
パラメーター説明

body

HTTPRoute スキーマ

 
Expand
表17.6 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

HTTPRoute スキーマ

201 - Created

HTTPRoute スキーマ

202 - Accepted

HTTPRoute スキーマ

401 - Unauthorized

空白

17.2.3. /apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/httproutes/{name}

Expand
表17.7 グローバルパスパラメーター
パラメーター説明

name

string

HTTPRoute の名前

HTTP メソッド
DELETE
説明
HTTPRoute を削除します
Expand
表17.8 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表17.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された HTTPRoute を読み取ります
Expand
表17.10 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

HTTPRoute スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された HTTPRoute を部分的に更新します
Expand
表17.11 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表17.12 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

HTTPRoute スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された HTTPRoute を置き換えます
Expand
表17.13 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表17.14 本文パラメーター
パラメーター説明

body

HTTPRoute スキーマ

 
Expand
表17.15 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

HTTPRoute スキーマ

201 - Created

HTTPRoute スキーマ

401 - Unauthorized

空白

17.2.4. /apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/httproutes/{name}/status

Expand
表17.16 グローバルパスパラメーター
パラメーター説明

name

string

HTTPRoute の名前

HTTP メソッド
GET
説明
指定された HTTPRoute のステータスを読み取ります
Expand
表17.17 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

HTTPRoute スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された HTTPRoute のステータスを部分的に更新します
Expand
表17.18 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表17.19 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

HTTPRoute スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された HTTPRoute のステータスを置き換えます
Expand
表17.20 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表17.21 本文パラメーター
パラメーター説明

body

HTTPRoute スキーマ

 
Expand
表17.22 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

HTTPRoute スキーマ

201 - Created

HTTPRoute スキーマ

401 - Unauthorized

空白

第18章 Ingress [networking.k8s.io/v1]

説明
Ingress は、インバウンド接続がバックエンドによって定義されたエンドポイントに到達できるようにするルールのコレクションです。Ingress は、サービスに外部から到達可能な URL を提供し、トラフィックの負荷を分散し、SSL を終了し、名前ベースの仮想ホスティングを提供するように設定できます。
object

18.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

IngressSpec は、ユーザーが存在したいイングレスを記述します。

status

object

IngressStatus は、Ingress の現在の状態を記述します。

18.1.1. .spec

説明
IngressSpec は、ユーザーが存在したいイングレスを記述します。
object
Expand
プロパティー説明

defaultBackend

object

IngressBackend は、特定のサービスとポートのすべてのエンドポイントを記述します。

ingressClassName

string

ingressClassName は、IngressClass クラスターリソースの名前です。Ingress コントローラー実装は、このフィールドを使用して、推移的な接続 (controller → IngressClass → Ingress リソース) によってこの Ingress リソースを提供する必要があるかどうかを確認します。kubernetes.io/ingress.class アノテーション (単純な定数名) は正式に定義されたことはありませんでしたが、Ingress コントローラーと Ingress リソース間の直接バインディングを作成するために Ingress コントローラーによって広くサポートされていました。新規作成された Ingress リソースでは、このフィールドの使用を優先する必要があります。ただし、アノテーションは正式に非推奨になっていますが、後方互換性の理由から、Ingress コントローラーはそのアノテーションが存在する場合は引き続きそのアノテーションを受け入れる必要があります。

rules

array

rules は、Ingress の設定に使用されるホストルールのリストです。指定されていない場合、またはルールが一致しない場合、すべてのトラフィックがデフォルトのバックエンドに送信されます。

rules[]

object

IngressRule は、指定されたホストの下のパスを関連するバックエンドサービスにマッピングするルールを表します。着信リクエストは、最初にホストの一致に対して評価され、次に一致する IngressRuleValue に関連付けられたバックエンドにルーティングされます。

tls

array

tls は TLS 設定を表します。現在、Ingress は単一の TLS ポート 443 のみをサポートしています。このリストの複数のメンバーが異なるホストを指定する場合、入力を実行する入力コントローラーが SNI をサポートしていれば、SNI TLS 拡張を介して指定されたホスト名に従って同じポートで多重化されます。

tls[]

object

IngressTLS は、Ingress に関連付けられたトランスポート層のセキュリティーを説明しています。

18.1.2. .spec.defaultBackend

説明
IngressBackend は、特定のサービスとポートのすべてのエンドポイントを記述します。
object
Expand
プロパティー説明

resource

TypedLocalObjectReference

resource は、Ingress オブジェクトの namespace にある別の Kubernetes リソースへの ObjectRef です。リソースを指定する場合は、service.Name と service.Port を指定しないでください。これは、"サービス" との相互に排他的な設定です。

service

object

IngressServiceBackend は、Kubernetes サービスをバックエンドとして参照します。

18.1.3. .spec.defaultBackend.service

説明
IngressServiceBackend は、Kubernetes サービスをバックエンドとして参照します。
object
必須
  • name
Expand
プロパティー説明

name

string

name は参照されるサービスです。サービスは、Ingress オブジェクトと同じ namespace に存在する必要があります。

port

object

ServiceBackendPort は、参照されているサービスポートです。

18.1.4. .spec.defaultBackend.service.port

説明
ServiceBackendPort は、参照されているサービスポートです。
object
Expand
プロパティー説明

name

string

name は、サービスのポートの名前です。これは、"番号" との相互に排他的な設定です。

number

integer

number は、サービスのポート番号 (80 など) の数値です。これは、"名前" との相互に排他的な設定です。

18.1.5. .spec.rules

説明
rules は、Ingress の設定に使用されるホストルールのリストです。指定されていない場合、またはルールが一致しない場合、すべてのトラフィックがデフォルトのバックエンドに送信されます。
array

18.1.6. .spec.rules[]

説明
IngressRule は、指定されたホストの下のパスを関連するバックエンドサービスにマッピングするルールを表します。着信リクエストは、最初にホストの一致に対して評価され、次に一致する IngressRuleValue に関連付けられたバックエンドにルーティングされます。
object
Expand
プロパティー説明

host

string

host は、RFC 3986 で定義されている、ネットワークホストの完全修飾ドメイン名です。RFC 3986 で定義されている URI の "ホスト" 部分からの次の逸脱に注意してください:1。IP は許可されていません。現在、IngressRuleValue は、親 Ingress の仕様の IP にのみ適用できます。2. ポートが許可されていないため、: 区切り文字は尊重されません。現在、Ingress のポートは暗黙的に http の場合は:80、https の場合は:443 です。これらは両方とも将来変更される可能性があります。着信要求は、IngressRuleValue の前にホストと照合されます。ホストが指定されていない場合、Ingress は指定された IngressRuleValue に基づいてすべてのトラフィックをルーティングします。

host には、ネットワークホストの終端ドットのないドメイン名である "precise" (例: "foo.bar.com")、または単一のワイルドカードラベルが接頭辞として付けられたドメイン名である "wildcard" (例: ".foo.com") を指定できます。ワイルドカード文字 '' は、それ自体が最初の DNS ラベルとして表示される必要があり、単一のラベルとのみ一致します。ワイルドカードラベルを単独で使用することはできません (例:Host == "*")。リクエストは、次の方法でホストフィールドと照合されます:1。host が正確な場合、http ホストヘッダーが Host と等しい場合、リクエストはこのルールに一致します。2. host がワイルドカードの場合、http ホストヘッダーがワイルドカードルールの接尾辞 (最初のラベルを削除したもの) と等しい場合、リクエストはこのルールに一致します。

http

object

HTTPIngressRuleValue は、バックエンドを指す http セレクターのリストです。例: http://<host>/<path>?<searchpart> → URL の一部が RFC 3986 に対応する場合、このリソースを使用して、最後の '/' と最初の '?' または '#' の間にあるすべてと一致します。

18.1.7. .spec.rules[].http

説明
HTTPIngressRuleValue は、バックエンドを指す http セレクターのリストです。例: http://<host>/<path>?<searchpart> → URL の一部が RFC 3986 に対応する場合、このリソースを使用して、最後の '/' と最初の '?' または '#' の間にあるすべてと一致します。
object
必須
  • paths
Expand
プロパティー説明

paths

array

paths は、リクエストをバックエンドにマップするパスのコレクションです。

paths[]

object

HTTPIngressPath は、パスをバックエンドに関連付けます。パスに一致する着信 URL はバックエンドに転送されます。

18.1.8. .spec.rules[].http.paths

説明
paths は、リクエストをバックエンドにマップするパスのコレクションです。
array

18.1.9. .spec.rules[].http.paths[]

説明
HTTPIngressPath は、パスをバックエンドに関連付けます。パスに一致する着信 URL はバックエンドに転送されます。
object
必須
  • pathType
  • backend
Expand
プロパティー説明

backend

object

IngressBackend は、特定のサービスとポートのすべてのエンドポイントを記述します。

path

string

path は受信リクエストのパスと一致します。現在、RFC 3986 で定義されているように、URL の従来の "パス" 部分で許可されていない文字を含めることができます。パスは '/' で始まる必要があり、値が "Exact" または "Prefix" の PathType を使用する場合は存在する必要があります。

pathType

string

pathType は、パスの一致の解釈を決定します。PathType は、次のいずれかの値になります。*正確:URL パスと完全に一致します。* 接頭辞: '/' で分割された URL パス接頭辞に基づいて一致します。マッチングは、要素ごとにパス要素で行われます。パス要素参照は、'/' 区切り文字で分割されたパス内のラベルのリストです。すべての p が要求パスの p の要素ごとの接頭辞である場合、要求はパス p と一致します。パスの最後の要素がリクエストパスの最後の要素のサブストリングである場合、一致しないことに注意してください (たとえば、/foo/bar は/foo/bar/baz と一致しますが、/foo/barbaz とは一致しません)。* ImplementationSpecific: パスマッチングの解釈は IngressClass 次第です。実装では、これを個別の PathType として扱うことも、Prefix または Exact パスタイプと同じように扱うこともできます。すべてのパスタイプをサポートするには、実装が必要です。

使用可能な列挙値: - "Exact" は、大文字と小文字を区別して、URL パスと正確に一致します。- "ImplementationSpecific" のマッチングは IngressClass に依存します。実装では、これを別の PathType として扱うことも、Prefix または Exact パスタイプと同様に扱うこともできます。- "Prefix" は、'/' で分割された URL パスの接頭辞をベースに一致します。マッチングは大文字と小文字が区別され、パス要素ごとに行われます。パス要素は、'/' の区切り文字で分割されたパス内のラベルリストを指します。すべての p が要求パスの p の要素ごとの接頭辞である場合、要求はパス p と一致します。パスの最後の要素がリクエストパスの最後の要素のサブストリングである場合、一致しないことに注意してください (たとえば、/foo/bar は/foo/bar/baz と一致しますが、/foo/barbaz とは一致しません)。Ingress 仕様に一致するパスが複数存在する場合、最も長く一致するパスが優先されます。例: -/foo/bar は /foo/barbaz へのリクエストと一致しません。-/foo/bar は /foo/bar および /foo/bar/baz へのリクエストと一致します。- /foo と/foo/は、/foo と /foo/ のへのリクエスト両方に一致します。両方のパスが Ingress 仕様に存在する場合、最も長く一致するパス (/foo/) が優先されます。

18.1.10. .spec.rules[].http.paths[].backend

説明
IngressBackend は、特定のサービスとポートのすべてのエンドポイントを記述します。
object
Expand
プロパティー説明

resource

TypedLocalObjectReference

resource は、Ingress オブジェクトの namespace にある別の Kubernetes リソースへの ObjectRef です。リソースを指定する場合は、service.Name と service.Port を指定しないでください。これは、"サービス" との相互に排他的な設定です。

service

object

IngressServiceBackend は、Kubernetes サービスをバックエンドとして参照します。

18.1.11. .spec.rules[].http.paths[].backend.service

説明
IngressServiceBackend は、Kubernetes サービスをバックエンドとして参照します。
object
必須
  • name
Expand
プロパティー説明

name

string

name は参照されるサービスです。サービスは、Ingress オブジェクトと同じ namespace に存在する必要があります。

port

object

ServiceBackendPort は、参照されているサービスポートです。

18.1.12. .spec.rules[].http.paths[].backend.service.port

説明
ServiceBackendPort は、参照されているサービスポートです。
object
Expand
プロパティー説明

name

string

name は、サービスのポートの名前です。これは、"番号" との相互に排他的な設定です。

number

integer

number は、サービスのポート番号 (80 など) の数値です。これは、"名前" との相互に排他的な設定です。

18.1.13. .spec.tls

説明
tls は TLS 設定を表します。現在、Ingress は単一の TLS ポート 443 のみをサポートしています。このリストの複数のメンバーが異なるホストを指定する場合、入力を実行する入力コントローラーが SNI をサポートしていれば、SNI TLS 拡張を介して指定されたホスト名に従って同じポートで多重化されます。
array

18.1.14. .spec.tls[]

説明
IngressTLS は、Ingress に関連付けられたトランスポート層のセキュリティーを説明しています。
object
Expand
プロパティー説明

hosts

array (string)

hosts は、TLS 証明書に含まれるホストのリストです。このリストの値は、tlsSecret で使用されている名前と一致する必要があります。指定しない場合、デフォルトで、この入力を満たすロードバランサーコントローラーのワイルドカードホスト設定になります。

secretName

string

secretName は、ポート 443 で TLS トラフィックを終了するために使用されるシークレットの名前です。SNI ホスト名のみに基づく TLS ルーティングを許可するには、フィールドをオプションのままにします。リスナー内の SNI ホストが、IngressRule で使用される "Host" ヘッダーフィールドと競合する場合、SNI ホストが終了に使用され、"Host" ヘッダーの値がルーティングに使用されます。

18.1.15. .status

説明
IngressStatus は、Ingress の現在の状態を記述します。
object
Expand
プロパティー説明

loadBalancer

object

IngressLoadBalancerStatus はロードバランサーのステータスを表します。

18.1.16. .status.loadBalancer

説明
IngressLoadBalancerStatus はロードバランサーのステータスを表します。
object
Expand
プロパティー説明

ingress

array

ingress はロードバランサーの Ingress ポイントを含むリストです。

ingress[]

object

IngressLoadBalancerIngress は、ロードバランサーの ingress ポイントのステータスを表します。

18.1.17. .status.loadBalancer.ingress

説明
ingress はロードバランサーの Ingress ポイントを含むリストです。
array

18.1.18. .status.loadBalancer.ingress[]

説明
IngressLoadBalancerIngress は、ロードバランサーの ingress ポイントのステータスを表します。
object
Expand
プロパティー説明

hostname

string

hostname は、DNS ベースのロードバランサーの ingress ポイントに設定されます。

ip

string

ip は、IP ベースのロードバランサーの Ingress ポイントに設定されます。

ports

array

ports は、この LoadBalancer によって公開されるポートに関する情報を提供します。

ports[]

object

IngressPortStatus は、サービスポートのエラー状態を表します。

18.1.19. .status.loadBalancer.ingress[].ports

説明
ports は、この LoadBalancer によって公開されるポートに関する情報を提供します。
array

18.1.20. .status.loadBalancer.ingress[].ports[]

説明
IngressPortStatus は、サービスポートのエラー状態を表します。
object
必須
  • port
  • protocol
Expand
プロパティー説明

error

string

error は、サービスポートの問題を記録するためのものです。エラーの形式は、- 組み込みエラー値は、このファイルで指定され、キャメルケース名を使用する必要がある。- クラウドプロバイダー固有のエラー値には、次のような名前が必要である。foo.example.com/CamelCase 形式に準拠するといった規則に従う必要があります。

port

integer

port は Ingress ポートのポート番号です。

protocol

string

protocol は、ingress ポートのプロトコルです。サポート対象の値は "TCP"、"UDP"、"SCTP" です。

使用可能な列挙値: - "SCTP" は SCTP プロトコル、"TCP" は TCP プロトコル、"UDP" は UDP プロトコルです。

18.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/networking.k8s.io/v1/ingresses

    • GET:Ingress の種類のオブジェクトをリスト表示または監視します
  • /apis/networking.k8s.io/v1/watch/ingresses

    • GET: イングレスのリストへの個々の変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用してください。
  • /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses

    • DELETE: 入力のコレクションを削除します
    • GET:Ingress の種類のオブジェクトをリスト表示または監視します
    • POST: 入力を作成します
  • /apis/networking.k8s.io/v1/watch/namespaces/{namespace}/ingresses

    • GET: イングレスのリストへの個々の変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用してください。
  • /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}

    • 削除: 入力を削除します
    • GET: 指定された入力を読み取ります
    • PATCH: 指定された入力を部分的に更新します
    • PUT: 指定された入力を置き換えます
  • /apis/networking.k8s.io/v1/watch/namespaces/{namespace}/ingresses/{name}

    • GET: Ingress の種類のオブジェクトへの変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用し、'fieldSelector' パラメーターで単一の項目にフィルター処理します。
  • /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}/status

    • GET: 指定された入力のステータスを読み取ります
    • PATCH: 指定された入力のステータスを部分的に更新します
    • PUT: 指定された入力のステータスを置き換えます

18.2.1. /apis/networking.k8s.io/v1/ingresses

HTTP メソッド
GET
説明
Ingress の種類のオブジェクトをリスト表示または監視する
Expand
表18.1 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

IngressList スキーマ

401 - Unauthorized

空白

18.2.2. /apis/networking.k8s.io/v1/watch/ingresses

HTTP メソッド
GET
説明
Ingress のリストに対する個々の変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用してください。
Expand
表18.2 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

WatchEvent スキーマ

401 - Unauthorized

空白

18.2.3. /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses

HTTP メソッド
DELETE
説明
Ingress のコレクションを削除します
Expand
表18.3 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表18.4 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
Ingress の種類のオブジェクトをリスト表示または監視する
Expand
表18.5 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

IngressList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
イングレスを作成する
Expand
表18.6 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表18.7 本文パラメーター
パラメーター説明

body

Ingress スキーマ

 
Expand
表18.8 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Ingress スキーマ

201 - Created

Ingress スキーマ

202 - Accepted

Ingress スキーマ

401 - Unauthorized

空白

18.2.4. /apis/networking.k8s.io/v1/watch/namespaces/{namespace}/ingresses

HTTP メソッド
GET
説明
Ingress のリストに対する個々の変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用してください。
Expand
表18.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

WatchEvent スキーマ

401 - Unauthorized

空白

18.2.5. /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}

Expand
表18.10 グローバルパスパラメーター
パラメーター説明

name

string

イングレスの名前

HTTP メソッド
DELETE
説明
入力を削除します
Expand
表18.11 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表18.12 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された入力を読み取ります
Expand
表18.13 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Ingress スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された入力を部分的に更新します
Expand
表18.14 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表18.15 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Ingress スキーマ

201 - Created

Ingress スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された入力を置き換えます
Expand
表18.16 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表18.17 本文パラメーター
パラメーター説明

body

Ingress スキーマ

 
Expand
表18.18 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Ingress スキーマ

201 - Created

Ingress スキーマ

401 - Unauthorized

空白

18.2.6. /apis/networking.k8s.io/v1/watch/namespaces/{namespace}/ingresses/{name}

Expand
表18.19 グローバルパスパラメーター
パラメーター説明

name

string

イングレスの名前

HTTP メソッド
GET
説明
Ingress の種類のオブジェクトへの変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用し、'fieldSelector' パラメーターで単一の項目にフィルター処理します。
Expand
表18.20 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

WatchEvent スキーマ

401 - Unauthorized

空白

18.2.7. /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}/status

Expand
表18.21 グローバルパスパラメーター
パラメーター説明

name

string

イングレスの名前

HTTP メソッド
GET
説明
指定された入力のステータスを読み取ります
Expand
表18.22 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Ingress スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された入力のステータスを部分的に更新します
Expand
表18.23 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表18.24 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Ingress スキーマ

201 - Created

Ingress スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された入力のステータスを置き換えます
Expand
表18.25 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表18.26 本文パラメーター
パラメーター説明

body

Ingress スキーマ

 
Expand
表18.27 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Ingress スキーマ

201 - Created

Ingress スキーマ

401 - Unauthorized

空白

第19章 IngressClass [networking.k8s.io/v1]

説明
IngressClass は、Ingress 仕様によって参照される Ingress のクラスを表します。ingressclass.kubernetes.io/is-default-class アノテーションを使用して、IngressClass をデフォルトと見なす必要があることを示すことができます。単一の IngressClass リソースでこのアノテーションが true に設定されている場合、クラスが指定されていない新しい Ingress リソースには、このデフォルトクラスが割り当てられます。
object

19.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

IngressClassSpec は、Ingress のクラスに関する情報を提供します。

19.1.1. .spec

説明
IngressClassSpec は、Ingress のクラスに関する情報を提供します。
object
Expand
プロパティー説明

controller

string

controller は、このクラスを処理すべきコントローラーの名前を指します。これにより、同じコントローラーによって制御されるさまざまな "フレーバー" が可能になります。たとえば、同じ実装コントローラーに対して、異なるパラメーターがある場合があります。これは、長さが 250 文字以下のドメイン接頭辞パスとして指定する必要があります (例: "acme.io/ingress-controller")。このフィールドは不変です。

parameters

object

IngressClassParametersReference は、API オブジェクトを識別します。これは、クラスターまたは namespace スコープのリソースを指定するために使用できます。

19.1.2. .spec.parameters

説明
IngressClassParametersReference は、API オブジェクトを識別します。これは、クラスターまたは namespace スコープのリソースを指定するために使用できます。
object
必須
  • kind
  • name
Expand
プロパティー説明

apiGroup

string

apiGroup は参照されているリソースのグループです。APIGroup が指定されていない場合には、指定の Kind をコア API グループに設定する必要があります。他のサードパーティータイプには、APIGroup が必要です。

kind

string

kind は参照されているリソースのタイプです。

name

string

name は、参照されているリソースの名前です。

namespace

string

namespace は、参照されているリソースの namespace です。このフィールドは、スコープが "Namespace" に設定されている場合は必須であり、スコープが "Cluster" に設定されている場合は設定を解除する必要があります。

scope

string

scope は、これがクラスターまたは namespace スコープのリソースを参照しているかどうかを表します。これは、"Cluster" (デフォルト) または "Namespace" に設定できます。

19.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/networking.k8s.io/v1/ingressclasses

    • DELETE:IngressClass のコレクションを削除します
    • GET:IngressClass の種類のオブジェクトをリスト表示または監視します
    • POST:IngressClass を作成します
  • /apis/networking.k8s.io/v1/watch/ingressclasses

    • GET:IngressClass のリストに対する個々の変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用してください。
  • /apis/networking.k8s.io/v1/ingressclasses/{name}

    • 削除:IngressClass を削除します
    • GET: 指定された IngressClass を読み取ります
    • PATCH: 指定された IngressClass を部分的に更新します
    • PUT: 指定された IngressClass を置き換えます
  • /apis/networking.k8s.io/v1/watch/ingressclasses/{name}

    • GET:IngressClass の種類のオブジェクトへの変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用し、'fieldSelector' パラメーターで単一の項目にフィルター処理します。

19.2.1. /apis/networking.k8s.io/v1/ingressclasses

HTTP メソッド
DELETE
説明
IngressClass のコレクションを削除します
Expand
表19.1 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表19.2 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
IngressClass の種類のオブジェクトをリスト表示または監視する
Expand
表19.3 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

IngressClassList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
IngressClass を作成します
Expand
表19.4 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表19.5 本文パラメーター
パラメーター説明

body

IngressClass スキーマ

 
Expand
表19.6 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

IngressClass スキーマ

201 - Created

IngressClass スキーマ

202 - Accepted

IngressClass スキーマ

401 - Unauthorized

空白

19.2.2. /apis/networking.k8s.io/v1/watch/ingressclasses

HTTP メソッド
GET
説明
IngressClass のリストに対する個々の変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用してください。
Expand
表19.7 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

WatchEvent スキーマ

401 - Unauthorized

空白

19.2.3. /apis/networking.k8s.io/v1/ingressclasses/{name}

Expand
表19.8 グローバルパスパラメーター
パラメーター説明

name

string

IngressClass の名前

HTTP メソッド
DELETE
説明
IngressClass を削除します
Expand
表19.9 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表19.10 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された IngressClass を読み取ります
Expand
表19.11 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

IngressClass スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された IngressClass を部分的に更新します
Expand
表19.12 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表19.13 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

IngressClass スキーマ

201 - Created

IngressClass スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された IngressClass を置き換えます
Expand
表19.14 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表19.15 本文パラメーター
パラメーター説明

body

IngressClass スキーマ

 
Expand
表19.16 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

IngressClass スキーマ

201 - Created

IngressClass スキーマ

401 - Unauthorized

空白

19.2.4. /apis/networking.k8s.io/v1/watch/ingressclasses/{name}

Expand
表19.17 グローバルパスパラメーター
パラメーター説明

name

string

IngressClass の名前

HTTP メソッド
GET
説明
IngressClass の種類のオブジェクトへの変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用し、'fieldSelector' パラメーターで単一の項目にフィルター処理します。
Expand
表19.18 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

WatchEvent スキーマ

401 - Unauthorized

空白

第20章 IPAMClaim [k8s.cni.cncf.io/v1alpha1]

説明
IPAMClaim は IPAMClaim API のスキーマです
object

20.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

 

status

object

 

20.1.1. .spec

説明
object
必須
  • interface
  • network
Expand
プロパティー説明

interface

string

この割り当てが作成された Pod インターフェイス名

network

string

この永続割り当てが作成されたネットワーク名

20.1.2. .status

説明
object
必須
  • ips
Expand
プロパティー説明

ips

array (string)

Pod インターフェイスに割り当てられた IP アドレス (v4、v6) のリスト

20.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/k8s.cni.cncf.io/v1alpha1/ipamclaims

    • GET: kind が IPAMClaim のオブジェクトをリスト表示します
  • /apis/k8s.cni.cncf.io/v1alpha1/namespaces/{namespace}/ipamclaims

    • DELETE: IPAMClaim のコレクションを削除します
    • GET: kind が IPAMClaim のオブジェクトをリスト表示します
    • POST: IPAMClaim を作成します
  • /apis/k8s.cni.cncf.io/v1alpha1/namespaces/{namespace}/ipamclaims/{name}

    • DELETE: IPAMClaim を削除します
    • GET: 指定された IPAMClaim を読み取ります
    • PATCH: 指定された IPAMClaim を部分的に更新します
    • PUT: 指定された IPAMClaim を置き換えます
  • /apis/k8s.cni.cncf.io/v1alpha1/namespaces/{namespace}/ipamclaims/{name}/status

    • GET: 指定された IPAMClaim のステータスを読み取ります
    • PATCH: 指定された IPAMClaim のステータスを部分的に更新します
    • PUT: 指定された IPAMClaim のステータスを置き換えます

20.2.1. /apis/k8s.cni.cncf.io/v1alpha1/ipamclaims

HTTP メソッド
GET
説明
kind が IPAMClaim のオブジェクトをリスト表示します
Expand
表20.1 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

IPAMClaimList スキーマ

401 - Unauthorized

空白

20.2.2. /apis/k8s.cni.cncf.io/v1alpha1/namespaces/{namespace}/ipamclaims

HTTP メソッド
DELETE
説明
IPAMClaim のコレクションを削除します
Expand
表20.2 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
kind が IPAMClaim のオブジェクトをリスト表示します
Expand
表20.3 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

IPAMClaimList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
IPAMClaim を作成します
Expand
表20.4 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表20.5 本文パラメーター
パラメーター説明

body

IPAMClaim スキーマ

 
Expand
表20.6 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

IPAMClaim スキーマ

201 - Created

IPAMClaim スキーマ

202 - Accepted

IPAMClaim スキーマ

401 - Unauthorized

空白

20.2.3. /apis/k8s.cni.cncf.io/v1alpha1/namespaces/{namespace}/ipamclaims/{name}

Expand
表20.7 グローバルパスパラメーター
パラメーター説明

name

string

IPAMClaim の名前

HTTP メソッド
DELETE
説明
IPAMClaim を削除します
Expand
表20.8 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表20.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された IPAMClaim を読み取ります
Expand
表20.10 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

IPAMClaim スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された IPAMClaim を部分的に更新します
Expand
表20.11 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表20.12 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

IPAMClaim スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された IPAMClaim を置き換えます
Expand
表20.13 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表20.14 本文パラメーター
パラメーター説明

body

IPAMClaim スキーマ

 
Expand
表20.15 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

IPAMClaim スキーマ

201 - Created

IPAMClaim スキーマ

401 - Unauthorized

空白

20.2.4. /apis/k8s.cni.cncf.io/v1alpha1/namespaces/{namespace}/ipamclaims/{name}/status

Expand
表20.16 グローバルパスパラメーター
パラメーター説明

name

string

IPAMClaim の名前

HTTP メソッド
GET
説明
指定された IPAMClaim のステータスを読み取ります
Expand
表20.17 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

IPAMClaim スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された IPAMClaim のステータスを部分的に更新します
Expand
表20.18 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表20.19 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

IPAMClaim スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された IPAMClaim のステータスを置き換えます
Expand
表20.20 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表20.21 本文パラメーター
パラメーター説明

body

IPAMClaim スキーマ

 
Expand
表20.22 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

IPAMClaim スキーマ

201 - Created

IPAMClaim スキーマ

401 - Unauthorized

空白

第21章 IPPool [whereabouts.cni.cncf.io/v1alpha1]

説明
IPPool は ippools API のスキーマです
object

21.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

IPPoolSpec は、IPPool の望ましい状態を定義します

21.1.1. .spec

説明
IPPoolSpec は、IPPool の望ましい状態を定義します
object
必須
  • allocations
  • range
Expand
プロパティー説明

allocations

object

割り当ては、指定された範囲に割り当てられた IP のセットです。そのインデックスは、プールの範囲に対して同じインデックス/オフセットを持つ IP への直接マッピングです。

allocations{}

object

IPAllocation は、特定の IP の Pod/コンテナー所有者に関するメタデータを表します

range

string

Range は、CIDR 表記で IP アドレスと接頭辞長を表す RFC4632/4291 スタイルの文字列です。

21.1.2. .spec.allocations

説明
割り当ては、指定された範囲に割り当てられた IP のセットです。そのインデックスは、プールの範囲に対して同じインデックス/オフセットを持つ IP への直接マッピングです。
object

21.1.3. .spec.allocations{}

説明
IPAllocation は、特定の IP の Pod/コンテナー所有者に関するメタデータを表します
object
必須
  • id
  • podref
Expand
プロパティー説明

id

string

 

ifname

string

 

podref

string

 

21.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/whereabouts.cni.cncf.io/v1alpha1/ippools

    • GET:IPPool の種類のオブジェクトをリスト表示します
  • /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/ippools

    • DELETE:IPPool のコレクションを削除します
    • GET:IPPool の種類のオブジェクトをリスト表示します
    • POST:IPPool を作成します
  • /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/ippools/{name}

    • 削除:IPPool を削除します
    • GET: 指定された IPPool を読み取ります
    • PATCH: 指定された IPPool を部分的に更新します
    • PUT: 指定された IPPool を置き換えます

21.2.1. /apis/whereabouts.cni.cncf.io/v1alpha1/ippools

HTTP メソッド
GET
説明
IPPool の種類のオブジェクトをリスト表示します
Expand
表21.1 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

IPPoolList スキーマ

401 - Unauthorized

空白

21.2.2. /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/ippools

HTTP メソッド
DELETE
説明
IPPool のコレクションを削除します
Expand
表21.2 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
IPPool の種類のオブジェクトをリスト表示します
Expand
表21.3 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

IPPoolList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
IPPool を作成する
Expand
表21.4 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表21.5 本文パラメーター
パラメーター説明

body

IPPool スキーマ

 
Expand
表21.6 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

IPPool スキーマ

201 - Created

IPPool スキーマ

202 - Accepted

IPPool スキーマ

401 - Unauthorized

空白

21.2.3. /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/ippools/{name}

Expand
表21.7 グローバルパスパラメーター
パラメーター説明

name

string

IPPool の名前

HTTP メソッド
DELETE
説明
IPPool を削除する
Expand
表21.8 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表21.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された IPPool を読み取ります
Expand
表21.10 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

IPPool スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された IPPool を部分的に更新します
Expand
表21.11 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表21.12 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

IPPool スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された IPPool を交換してください
Expand
表21.13 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表21.14 本文パラメーター
パラメーター説明

body

IPPool スキーマ

 
Expand
表21.15 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

IPPool スキーマ

201 - Created

IPPool スキーマ

401 - Unauthorized

空白

第22章 MultiNetworkPolicy [k8s.cni.cncf.io/v1beta1]

説明
MultiNetworkPolicy は、Network Plumbing Working Group によって指定される net-attach-def の NetworkPolicy メカニズムを提供する CRD スキーマです。MultiNetworkPolicy は Kubernetes NetworkPolicy と同じです。https://kubernetes.io/docs/concepts/services-networking/network-policies/ を参照してください。
object

22.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

この MultiNetworkPolicy に期待される動作の仕様。

22.1.1. .spec

説明
この MultiNetworkPolicy に期待される動作の仕様。
object
必須
  • podSelector
Expand
プロパティー説明

egress

array

選択した Pod に適用されるスロールールのリスト。Pod を選択する NetworkPolicies がない場合 (およびクラスターポリシーがトラフィックを許可する場合)、または podSelector が Pod と一致するすべての NetworkPolicy オブジェクトにわたってトラフィックが少なくとも 1 つの Egress ルールと一致する場合、送信トラフィックが許可されます。このフィールドが空の場合、この NetworkPolicy はすべての送信トラフィックを制限します (そして、選択した Pod がデフォルトで分離されていることを確認するためだけに機能します)。このフィールドは 1.8 のベータレベルです

egress[]

object

NetworkPolicyEgressRule は、NetworkPolicySpec の podSelector によって一致する Pod から許可される特定のトラフィックセットを記述します。トラフィックは、ポートと宛先の両方に一致する必要があります。このタイプは 1.8 のベータレベルです

ingress

array

選択した Pod に適用される入力ルールのリスト。Pod を選択する NetworkPolicies がない場合 (およびクラスターポリシーがトラフィックを許可する場合)、トラフィックソースが Pod のローカルノードである場合、またはトラフィックがすべての NetworkPolicy 全体で少なくとも 1 つの入力ルールに一致する場合、トラフィックは Pod に許可されます podSelector が Pod と一致するオブジェクト。このフィールドが空の場合、この NetworkPolicy はトラフィックを許可しません (そして、選択した Pod がデフォルトで分離されていることを確認するためだけに機能します)

ingress[]

object

NetworkPolicyIngressRule は、NetworkPolicySpec の podSelector によって一致する Pod に許可される特定のトラフィックセットを記述します。トラフィックは、ポートと送信元の両方に一致する必要があります。

podSelector

object

Pod を選択するラベルセレクターです。このフィールドは、標準のラベルセレクターセマンティクスに従います。存在するが空の場合、すべての Pod が選択されます。NamespaceSelector も設定されている場合、NetworkPolicyPeer は全体として、NamespaceSelector によって選択された namespace で PodSelector に一致する Pod を選択します。それ以外の場合は、ポリシー自体の namespace で PodSelector に一致する Pod を選択します。

policyTypes

array (string)

NetworkPolicy が関連するルールタイプのリスト。有効なオプションは、'Ingress'、'Egress'、'Ingress,Egress' です。このフィールドが指定されていない場合、入力ルールまたはスロールールの存在に基づいてデフォルトになります。Egress セクションを含むポリシーは、Egress に影響を与えると見なされ、すべてのポリシー (Ingress セクションを含むかどうかに関係なく) は、Ingress に影響を与えると見なされます。Egress 専用ポリシーを作成する場合は、policyTypes [ 'Egress' ]. を明示的に指定する必要があります。同様に、Egress が許可されないことを指定するポリシーを作成する場合は、(そのようなポリシーには Egress セクションが含まれず、デフォルトで単に [ 'Ingress' ] が設定されるため) 'Egress' を含む policyTypes 値を指定する必要があります。このフィールドは 1.8 のベータレベルです

22.1.2. .spec.egress

説明
選択した Pod に適用されるスロールールのリスト。Pod を選択する NetworkPolicies がない場合 (およびクラスターポリシーがトラフィックを許可する場合)、または podSelector が Pod と一致するすべての NetworkPolicy オブジェクトにわたってトラフィックが少なくとも 1 つの Egress ルールと一致する場合、送信トラフィックが許可されます。このフィールドが空の場合、この NetworkPolicy はすべての送信トラフィックを制限します (そして、選択した Pod がデフォルトで分離されていることを確認するためだけに機能します)。このフィールドは 1.8 のベータレベルです
array

22.1.3. .spec.egress[]

説明
NetworkPolicyEgressRule は、NetworkPolicySpec の podSelector によって一致する Pod から許可される特定のトラフィックセットを記述します。トラフィックは、ポートと宛先の両方に一致する必要があります。このタイプは 1.8 のベータレベルです
object
Expand
プロパティー説明

ports

array

発信トラフィックの宛先ポートのリスト。このリストの各項目は、論理 OR を使用して結合されます。このフィールドが空または欠落している場合、このルールはすべてのポートに一致します (トラフィックはポートによって制限されません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックがリスト内の少なくとも 1 つのポートに一致する場合にのみトラフィックを許可します。

ports[]

object

NetworkPolicyPort は、トラフィックを許可するポートを記述します

to

array

このルール用に選択された Pod の送信トラフィックの宛先のリスト。このリストの項目は、論理演算子 OR を使用して組み合わせます。このフィールドが空または欠落している場合、このルールはすべての宛先に一致します (トラフィックは宛先によって制限されません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックが to リストの少なくとも 1 つのアイテムと一致する場合にのみトラフィックを許可します。

to[]

object

NetworkPolicyPeer は、受信トラフィックを許可するピアを記述します。フィールドの特定の組み合わせのみが許可されます

22.1.4. .spec.egress[].ports

説明
発信トラフィックの宛先ポートのリスト。このリストの各項目は、論理 OR を使用して結合されます。このフィールドが空または欠落している場合、このルールはすべてのポートに一致します (トラフィックはポートによって制限されません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックがリスト内の少なくとも 1 つのポートに一致する場合にのみトラフィックを許可します。
array

22.1.5. .spec.egress[].ports[]

説明
NetworkPolicyPort は、トラフィックを許可するポートを記述します
object
Expand
プロパティー説明

endPort

integer

設定されている場合、ポートから endPort までのポートの範囲 (両端を含む) がポリシーで許可される必要があることを示します。ポートフィールドが定義されていない場合、またはポートフィールドが名前付き (文字列) ポートとして定義されている場合、このフィールドは定義できません。endPort は、port 以上である必要があります。

port

integer-or-string

指定されたプロトコルのポート。これは、Pod の数値ポートまたは名前付きポートのいずれかです。このフィールドが指定されていない場合、これはすべてのポート名と番号に一致します。

protocol

string

トラフィックが一致する必要があるプロトコル (TCP、UDP、または SCTP)。指定しない場合、このフィールドのデフォルトは TCP です。

22.1.6. .spec.egress[].to

説明
このルール用に選択された Pod の送信トラフィックの宛先のリスト。このリストの項目は、論理演算子 OR を使用して組み合わせます。このフィールドが空または欠落している場合、このルールはすべての宛先に一致します (トラフィックは宛先によって制限されません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックが to リストの少なくとも 1 つのアイテムと一致する場合にのみトラフィックを許可します。
array

22.1.7. .spec.egress[].to[]

説明
NetworkPolicyPeer は、受信トラフィックを許可するピアを記述します。フィールドの特定の組み合わせのみが許可されます
object
Expand
プロパティー説明

ipBlock

object

IPBlock は、特定の IPBlock に関するポリシーを定義します。このフィールドが設定されている場合は、他のフィールドを設定することはできません。

namespaceSelector

object

クラスタースコープのラベルを使用して名前空間を選択します。このフィールドは、標準のラベルセレクターセマンティクスに従います。存在するが空の場合、すべての名前空間が選択されます。PodSelector も設定されている場合、NetworkPolicyPeer は全体として、NamespaceSelector によって選択された名前空間で PodSelector に一致する Pod を選択します。それ以外の場合は、NamespaceSelector によって選択されたネームスペース内のすべての Pod を選択します。

podSelector

object

Pod を選択するラベルセレクターです。このフィールドは、標準のラベルセレクターセマンティクスに従います。存在するが空の場合、すべての Pod が選択されます。NamespaceSelector も設定されている場合、NetworkPolicyPeer は全体として、NamespaceSelector によって選択された namespace で PodSelector に一致する Pod を選択します。それ以外の場合は、ポリシー自体の namespace で PodSelector に一致する Pod を選択します。

22.1.8. .spec.egress[].to[].ipBlock

説明
IPBlock は、特定の IPBlock に関するポリシーを定義します。このフィールドが設定されている場合は、他のフィールドを設定することはできません。
object
必須
  • cidr
Expand
プロパティー説明

cidr

string

CIDR は、IP ブロックを表す文字列です。有効な例は '192.168.1.1/24' です。

except

array (string)

Except は、IP ブロックに含めるべきではない CIDR のスライスです。有効な例は '192.168.1.1/24' です。ただし、CIDR の範囲外の場合は、値が拒否されます。

22.1.9. .spec.egress[].to[].namespaceSelector

説明
クラスタースコープのラベルを使用して名前空間を選択します。このフィールドは、標準のラベルセレクターセマンティクスに従います。存在するが空の場合、すべての名前空間が選択されます。PodSelector も設定されている場合、NetworkPolicyPeer は全体として、NamespaceSelector によって選択された名前空間で PodSelector に一致する Pod を選択します。それ以外の場合は、NamespaceSelector によって選択されたネームスペース内のすべての Pod を選択します。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

22.1.10. .spec.egress[].to[].namespaceSelector.matchExpressions

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

22.1.11. .spec.egress[].to[].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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

22.1.12. .spec.egress[].to[].podSelector

説明
Pod を選択するラベルセレクターです。このフィールドは、標準のラベルセレクターセマンティクスに従います。存在するが空の場合、すべての Pod が選択されます。NamespaceSelector も設定されている場合、NetworkPolicyPeer は全体として、NamespaceSelector によって選択された namespace で PodSelector に一致する Pod を選択します。それ以外の場合は、ポリシー自体の namespace で PodSelector に一致する Pod を選択します。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

22.1.13. .spec.egress[].to[].podSelector.matchExpressions

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

22.1.14. .spec.egress[].to[].podSelector.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

22.1.15. .spec.ingress

説明
選択した Pod に適用される入力ルールのリスト。Pod を選択する NetworkPolicies がない場合 (およびクラスターポリシーがトラフィックを許可する場合)、トラフィックソースが Pod のローカルノードである場合、またはトラフィックがすべての NetworkPolicy 全体で少なくとも 1 つの入力ルールに一致する場合、トラフィックは Pod に許可されます podSelector が Pod と一致するオブジェクト。このフィールドが空の場合、この NetworkPolicy はトラフィックを許可しません (そして、選択した Pod がデフォルトで分離されていることを確認するためだけに機能します)
array

22.1.16. .spec.ingress[]

説明
NetworkPolicyIngressRule は、NetworkPolicySpec の podSelector によって一致する Pod に許可される特定のトラフィックセットを記述します。トラフィックは、ポートと送信元の両方に一致する必要があります。
object
Expand
プロパティー説明

from

array

このルール用に選択された Pod にアクセスできる必要があるソースのリスト。このリストの項目は、論理演算子 OR を使用して組み合わせます。このフィールドが空または欠落している場合、このルールはすべてのソースに一致します (トラフィックはソースによって制限されていません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックが from リストの少なくとも 1 つのアイテムと一致する場合にのみトラフィックを許可します。

from[]

object

NetworkPolicyPeer は、受信トラフィックを許可するピアを記述します。フィールドの特定の組み合わせのみが許可されます

ports

array

このルール用に選択された Pod でアクセス可能にする必要があるポートのリスト。このリストの各項目は、論理 OR を使用して結合されます。このフィールドが空または欠落している場合、このルールはすべてのポートに一致します (トラフィックはポートによって制限されません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックがリスト内の少なくとも 1 つのポートに一致する場合にのみトラフィックを許可します。

ports[]

object

NetworkPolicyPort は、トラフィックを許可するポートを記述します

22.1.17. .spec.ingress[].from

説明
このルール用に選択された Pod にアクセスできる必要があるソースのリスト。このリストの項目は、論理演算子 OR を使用して組み合わせます。このフィールドが空または欠落している場合、このルールはすべてのソースに一致します (トラフィックはソースによって制限されていません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックが from リストの少なくとも 1 つのアイテムと一致する場合にのみトラフィックを許可します。
array

22.1.18. .spec.ingress[].from[]

説明
NetworkPolicyPeer は、受信トラフィックを許可するピアを記述します。フィールドの特定の組み合わせのみが許可されます
object
Expand
プロパティー説明

ipBlock

object

IPBlock は、特定の IPBlock に関するポリシーを定義します。このフィールドが設定されている場合は、他のフィールドを設定することはできません。

namespaceSelector

object

クラスタースコープのラベルを使用して名前空間を選択します。このフィールドは、標準のラベルセレクターセマンティクスに従います。存在するが空の場合、すべての名前空間が選択されます。PodSelector も設定されている場合、NetworkPolicyPeer は全体として、NamespaceSelector によって選択された名前空間で PodSelector に一致する Pod を選択します。それ以外の場合は、NamespaceSelector によって選択されたネームスペース内のすべての Pod を選択します。

podSelector

object

Pod を選択するラベルセレクターです。このフィールドは、標準のラベルセレクターセマンティクスに従います。存在するが空の場合、すべての Pod が選択されます。NamespaceSelector も設定されている場合、NetworkPolicyPeer は全体として、NamespaceSelector によって選択された namespace で PodSelector に一致する Pod を選択します。それ以外の場合は、ポリシー自体の namespace で PodSelector に一致する Pod を選択します。

22.1.19. .spec.ingress[].from[].ipBlock

説明
IPBlock は、特定の IPBlock に関するポリシーを定義します。このフィールドが設定されている場合は、他のフィールドを設定することはできません。
object
必須
  • cidr
Expand
プロパティー説明

cidr

string

CIDR は、IP ブロックを表す文字列です。有効な例は '192.168.1.1/24' です。

except

array (string)

Except は、IP ブロックに含めるべきではない CIDR のスライスです。有効な例は '192.168.1.1/24' です。ただし、CIDR の範囲外の場合は、値が拒否されます。

22.1.20. .spec.ingress[].from[].namespaceSelector

説明
クラスタースコープのラベルを使用して名前空間を選択します。このフィールドは、標準のラベルセレクターセマンティクスに従います。存在するが空の場合、すべての名前空間が選択されます。PodSelector も設定されている場合、NetworkPolicyPeer は全体として、NamespaceSelector によって選択された名前空間で PodSelector に一致する Pod を選択します。それ以外の場合は、NamespaceSelector によって選択されたネームスペース内のすべての Pod を選択します。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

22.1.21. .spec.ingress[].from[].namespaceSelector.matchExpressions

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

22.1.22. .spec.ingress[].from[].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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

22.1.23. .spec.ingress[].from[].podSelector

説明
Pod を選択するラベルセレクターです。このフィールドは、標準のラベルセレクターセマンティクスに従います。存在するが空の場合、すべての Pod が選択されます。NamespaceSelector も設定されている場合、NetworkPolicyPeer は全体として、NamespaceSelector によって選択された namespace で PodSelector に一致する Pod を選択します。それ以外の場合は、ポリシー自体の namespace で PodSelector に一致する Pod を選択します。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

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

22.1.24. .spec.ingress[].from[].podSelector.matchExpressions

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

22.1.25. .spec.ingress[].from[].podSelector.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

22.1.26. .spec.ingress[].ports

説明
このルール用に選択された Pod でアクセス可能にする必要があるポートのリスト。このリストの各項目は、論理 OR を使用して結合されます。このフィールドが空または欠落している場合、このルールはすべてのポートに一致します (トラフィックはポートによって制限されません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックがリスト内の少なくとも 1 つのポートに一致する場合にのみトラフィックを許可します。
array

22.1.27. .spec.ingress[].ports[]

説明
NetworkPolicyPort は、トラフィックを許可するポートを記述します
object
Expand
プロパティー説明

endPort

integer

設定されている場合、ポートから endPort までのポートの範囲 (両端を含む) がポリシーで許可される必要があることを示します。ポートフィールドが定義されていない場合、またはポートフィールドが名前付き (文字列) ポートとして定義されている場合、このフィールドは定義できません。endPort は、port 以上である必要があります。

port

integer-or-string

指定されたプロトコルのポート。これは、Pod の数値ポートまたは名前付きポートのいずれかです。このフィールドが指定されていない場合、これはすべてのポート名と番号に一致します。

protocol

string

トラフィックが一致する必要があるプロトコル (TCP、UDP、または SCTP)。指定しない場合、このフィールドのデフォルトは TCP です。

22.1.28. .spec.podSelector

説明
Pod を選択するラベルセレクターです。このフィールドは、標準のラベルセレクターセマンティクスに従います。存在するが空の場合、すべての Pod が選択されます。NamespaceSelector も設定されている場合、NetworkPolicyPeer は全体として、NamespaceSelector によって選択された namespace で PodSelector に一致する Pod を選択します。それ以外の場合は、ポリシー自体の namespace で PodSelector に一致する Pod を選択します。
object
Expand
プロパティー説明

matchExpressions

array

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

matchExpressions[]

object

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

matchLabels

object (string)

 

22.1.29. .spec.podSelector.matchExpressions

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

22.1.30. .spec.podSelector.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 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

22.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/k8s.cni.cncf.io/v1beta1/multi-networkpolicies

    • GET: kind である MultiNetworkPolicy のオブジェクトをリスト表示します
  • /apis/k8s.cni.cncf.io/v1beta1/namespaces/{namespace}/multi-networkpolicies

    • DELETE: MultiNetworkPolicy のコレクションを削除します
    • GET: kind である MultiNetworkPolicy のオブジェクトをリスト表示します
    • POST: MultiNetworkPolicy を作成します
  • /apis/k8s.cni.cncf.io/v1beta1/namespaces/{namespace}/multi-networkpolicies/{name}

    • DELETE: MultiNetworkPolicy を削除します
    • GET: 指定された MultiNetworkPolicy を読み取ります
    • PATCH: 指定された MultiNetworkPolicy を部分的に更新します
    • PUT: 指定された MultiNetworkPolicy を置き換えます

22.2.1. /apis/k8s.cni.cncf.io/v1beta1/multi-networkpolicies

HTTP メソッド
GET
説明
kind である MultiNetworkPolicy のオブジェクトを一覧表示します
Expand
表22.1 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

MultiNetworkPolicyList スキーマ

401 - Unauthorized

空白

22.2.2. /apis/k8s.cni.cncf.io/v1beta1/namespaces/{namespace}/multi-networkpolicies

HTTP メソッド
DELETE
説明
MultiNetworkPolicy のコレクションを削除します
Expand
表22.2 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
kind である MultiNetworkPolicy のオブジェクトを一覧表示します
Expand
表22.3 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

MultiNetworkPolicyList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
MultiNetworkPolicy を作成します
Expand
表22.4 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表22.5 本文パラメーター
パラメーター説明

body

MultiNetworkPolicy スキーマ

 
Expand
表22.6 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

MultiNetworkPolicy スキーマ

201 - Created

MultiNetworkPolicy スキーマ

202 - Accepted

MultiNetworkPolicy スキーマ

401 - Unauthorized

空白

22.2.3. /apis/k8s.cni.cncf.io/v1beta1/namespaces/{namespace}/multi-networkpolicies/{name}

Expand
表22.7 グローバルパスパラメーター
パラメーター説明

name

string

MultiNetworkPolicy の名前

HTTP メソッド
DELETE
説明
MultiNetworkPolicy を削除します
Expand
表22.8 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表22.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された MultiNetworkPolicy を読み取ります
Expand
表22.10 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

MultiNetworkPolicy スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された MultiNetworkPolicy を部分的に更新します
Expand
表22.11 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表22.12 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

MultiNetworkPolicy スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された MultiNetworkPolicy を置き換えます
Expand
表22.13 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表22.14 本文パラメーター
パラメーター説明

body

MultiNetworkPolicy スキーマ

 
Expand
表22.15 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

MultiNetworkPolicy スキーマ

201 - Created

MultiNetworkPolicy スキーマ

401 - Unauthorized

空白

第23章 NetworkAttachmentDefinition [k8s.cni.cncf.io/v1]

説明
NetworkAttachmentDefinition は、Pod を 1 つ以上の論理ネットワークまたは物理ネットワークに接続する意図を表すためにネットワーク配管作業グループによって指定された CRD スキーマです。詳細は、https://github.com/k8snetworkplumbingwg/multi-net-spec をご覧ください。
object

23.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

NetworkAttachmentDefinition 仕様は、ネットワーク接続の望ましい状態を定義します

23.1.1. .spec

説明
NetworkAttachmentDefinition 仕様は、ネットワーク接続の望ましい状態を定義します
object
Expand
プロパティー説明

config

string

NetworkAttachmentDefinition 設定は、JSON 形式の CNI 設定です

23.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/k8s.cni.cncf.io/v1/network-attachment-definitions

    • GET: 種類 NetworkAttachmentDefinition のオブジェクトをリスト表示します
  • /apis/k8s.cni.cncf.io/v1/namespaces/{namespace}/network-attachment-definitions

    • DELETE:NetworkAttachmentDefinition のコレクションを削除します
    • GET: 種類 NetworkAttachmentDefinition のオブジェクトをリスト表示します
    • POST:NetworkAttachmentDefinition を作成します
  • /apis/k8s.cni.cncf.io/v1/namespaces/{namespace}/network-attachment-definitions/{name}

    • 削除:NetworkAttachmentDefinition を削除します
    • GET: 指定された NetworkAttachmentDefinition を読み取ります
    • PATCH: 指定された NetworkAttachmentDefinition を部分的に更新します
    • PUT: 指定された NetworkAttachmentDefinition を置き換えます

23.2.1. /apis/k8s.cni.cncf.io/v1/network-attachment-definitions

HTTP メソッド
GET
説明
NetworkAttachmentDefinition の種類のオブジェクトをリスト表示します
Expand
表23.1 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

NetworkAttachmentDefinitionList スキーマ

401 - Unauthorized

空白

23.2.2. /apis/k8s.cni.cncf.io/v1/namespaces/{namespace}/network-attachment-definitions

HTTP メソッド
DELETE
説明
NetworkAttachmentDefinition のコレクションを削除します
Expand
表23.2 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
NetworkAttachmentDefinition の種類のオブジェクトをリスト表示します
Expand
表23.3 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

NetworkAttachmentDefinitionList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
NetworkAttachmentDefinition を作成します
Expand
表23.4 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表23.5 本文パラメーター
パラメーター説明

body

NetworkAttachmentDefinition スキーマ

 
Expand
表23.6 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

NetworkAttachmentDefinition スキーマ

201 - Created

NetworkAttachmentDefinition スキーマ

202 - Accepted

NetworkAttachmentDefinition スキーマ

401 - Unauthorized

空白

23.2.3. /apis/k8s.cni.cncf.io/v1/namespaces/{namespace}/network-attachment-definitions/{name}

Expand
表23.7 グローバルパスパラメーター
パラメーター説明

name

string

NetworkAttachmentDefinition の名前

HTTP メソッド
DELETE
説明
NetworkAttachmentDefinition を削除します
Expand
表23.8 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表23.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された NetworkAttachmentDefinition を読み取ります
Expand
表23.10 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

NetworkAttachmentDefinition スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された NetworkAttachmentDefinition を部分的に更新します
Expand
表23.11 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表23.12 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

NetworkAttachmentDefinition スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された NetworkAttachmentDefinition を置き換えます
Expand
表23.13 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表23.14 本文パラメーター
パラメーター説明

body

NetworkAttachmentDefinition スキーマ

 
Expand
表23.15 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

NetworkAttachmentDefinition スキーマ

201 - Created

NetworkAttachmentDefinition スキーマ

401 - Unauthorized

空白

第24章 NetworkPolicy [networking.k8s.io/v1]

説明
NetworkPolicy は、一連の Pod で許可されるネットワークトラフィックを記述します
object

24.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

NetworkPolicySpec は、NetworkPolicy の仕様を提供します

24.1.1. .spec

説明
NetworkPolicySpec は、NetworkPolicy の仕様を提供します
object
必須
  • podSelector
Expand
プロパティー説明

egress

array

egress は、選択した Pod に適用される egress ルールのリストです。Pod を選択する NetworkPolicies がない場合 (およびクラスターポリシーがトラフィックを許可する場合)、または podSelector が Pod と一致するすべての NetworkPolicy オブジェクトにわたってトラフィックが少なくとも 1 つの Egress ルールと一致する場合、送信トラフィックが許可されます。このフィールドが空の場合、この NetworkPolicy はすべての送信トラフィックを制限します (そして、選択した Pod がデフォルトで分離されていることを確認するためだけに機能します)。このフィールドは 1.8 のベータレベルです

egress[]

object

NetworkPolicyEgressRule は、NetworkPolicySpec の podSelector によって一致する Pod から許可される特定のトラフィックセットを記述します。トラフィックは、ポートと宛先の両方に一致する必要があります。このタイプは 1.8 のベータレベルです

ingress

array

ingress は、選択した Pod に適用される ingress ルールのリストです。Pod を選択する NetworkPolicies がない場合 (およびクラスターポリシーがトラフィックを許可する場合)、トラフィックソースが Pod のローカルノードである場合、またはトラフィックがすべての NetworkPolicy 全体で少なくとも 1 つの入力ルールに一致する場合、トラフィックは Pod に許可されます podSelector が Pod と一致するオブジェクト。このフィールドが空の場合、この NetworkPolicy はトラフィックを許可しません (そして、選択した Pod がデフォルトで分離されていることを確認するためだけに機能します)

ingress[]

object

NetworkPolicyIngressRule は、NetworkPolicySpec の podSelector によって一致する Pod に許可される特定のトラフィックセットを記述します。トラフィックは、ポートと送信元の両方に一致する必要があります。

podSelector

LabelSelector

podSelector は、この NetworkPolicy オブジェクトが適用される Pod を選択します。ingress ルールの配列は、このフィールドで選択されたすべての Pod に適用されます。複数のネットワークポリシーで同じ Pod のセットを選択できます。この場合、それぞれの ingress ルールは加算的に組み合わされます。このフィールドはオプションではなく、標準のラベルセレクターセマンティクスに従います。空の podSelector は、この名前空間内のすべての Pod と一致します。

policyTypes

array (string)

policyTypes は、NetworkPolicy が関連するルールタイプのリストです。有効なオプションは、["Ingress"],、["Egress"]、または ["Ingress", "Egress"] です。このフィールドが指定されていない場合は、ingress ルールまたは egress ルールの存在に基づいてデフォルトが設定されます。egress セクションを含むポリシーは egress に影響を与えるとみなされ、すべてのポリシー (ingress セクションが含まれるかどうかに関係なく) は ingress に影響を与えるとみなされます。egress 専用ポリシーを作成する場合は、policyTypes [ "Egress" ] を明示的に指定する必要があります。同様に、egress が許可されないことを指定するポリシーを作成する場合は、(そのようなポリシーには egress セクションが含まれず、デフォルトで単に [ "Ingress" ] が設定されるため)) "Egress" を含む policyTypes 値を指定する必要があります。このフィールドは 1.8 のベータレベルです

24.1.2. .spec.egress

説明
egress は、選択した Pod に適用される egress ルールのリストです。Pod を選択する NetworkPolicies がない場合 (およびクラスターポリシーがトラフィックを許可する場合)、または podSelector が Pod と一致するすべての NetworkPolicy オブジェクトにわたってトラフィックが少なくとも 1 つの Egress ルールと一致する場合、送信トラフィックが許可されます。このフィールドが空の場合、この NetworkPolicy はすべての送信トラフィックを制限します (そして、選択した Pod がデフォルトで分離されていることを確認するためだけに機能します)。このフィールドは 1.8 のベータレベルです
array

24.1.3. .spec.egress[]

説明
NetworkPolicyEgressRule は、NetworkPolicySpec の podSelector によって一致する Pod から許可される特定のトラフィックセットを記述します。トラフィックは、ポートと宛先の両方に一致する必要があります。このタイプは 1.8 のベータレベルです
object
Expand
プロパティー説明

ports

array

ports は、送信トラフィックの宛先ポートのリストです。このリストの各項目は、論理 OR を使用して結合されます。このフィールドが空または欠落している場合、このルールはすべてのポートに一致します (トラフィックはポートによって制限されません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックがリスト内の少なくとも 1 つのポートに一致する場合にのみトラフィックを許可します。

ports[]

object

NetworkPolicyPort は、トラフィックを許可するポートを記述します

to

array

to は、このルールに対して選択された Pod の送信トラフィックの宛先リストです。このリストの項目は、論理演算子 OR を使用して組み合わせます。このフィールドが空または欠落している場合、このルールはすべての宛先に一致します (トラフィックは宛先によって制限されません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックが to リストの少なくとも 1 つのアイテムと一致する場合にのみトラフィックを許可します。

to[]

object

NetworkPolicyPeer は、トラフィックとの間のトラフィックを許可するピアを説明します。フィールドの特定の組み合わせのみが許可されます

24.1.4. .spec.egress[].ports

説明
ports は、送信トラフィックの宛先ポートのリストです。このリストの各項目は、論理 OR を使用して結合されます。このフィールドが空または欠落している場合、このルールはすべてのポートに一致します (トラフィックはポートによって制限されません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックがリスト内の少なくとも 1 つのポートに一致する場合にのみトラフィックを許可します。
array

24.1.5. .spec.egress[].ports[]

説明
NetworkPolicyPort は、トラフィックを許可するポートを記述します
object
Expand
プロパティー説明

endPort

integer

endPort は、設定されている場合、ポートから endPort までのポート範囲がポリシーによって許可される必要があることを示します。ポートフィールドが定義されていない場合、またはポートフィールドが名前付き (文字列) ポートとして定義されている場合、このフィールドは定義できません。endPort は、port 以上である必要があります。

port

IntOrString

port は特定のプロトコルのポートを表します。これは、Pod の数値ポートまたは名前付きポートのいずれかです。このフィールドが指定されていない場合、これはすべてのポート名と番号に一致します。存在する場合、指定されたプロトコル AND ポートのトラフィックのみが一致します。

protocol

string

protocol は、トラフィックが一致する必要があるプロトコル (TCP、UDP、または SCTP) を表します。指定しない場合、このフィールドのデフォルトは TCP です。

使用可能な列挙値: - "SCTP" は SCTP プロトコル、"TCP" は TCP プロトコル、"UDP" は UDP プロトコルです。

24.1.6. .spec.egress[].to

説明
to は、このルールに対して選択された Pod の送信トラフィックの宛先リストです。このリストの項目は、論理演算子 OR を使用して組み合わせます。このフィールドが空または欠落している場合、このルールはすべての宛先に一致します (トラフィックは宛先によって制限されません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックが to リストの少なくとも 1 つのアイテムと一致する場合にのみトラフィックを許可します。
array

24.1.7. .spec.egress[].to[]

説明
NetworkPolicyPeer は、トラフィックとの間のトラフィックを許可するピアを説明します。フィールドの特定の組み合わせのみが許可されます
object
Expand
プロパティー説明

ipBlock

object

IPBlock は、特定の CIDR を記述します (例:"192.168.1.0/24","2001:db8::/64")、NetworkPolicySpec の podSelector で一致した Pod に対しては許可されます。例外エントリーは、このルールに含めるべきではない CIDR を記述します。

namespaceSelector

LabelSelector

namespaceSelector は、クラスタースコープのラベルを使用して名前空間を選択します。このフィールドは、標準のラベルセレクターセマンティクスに従います。存在するが空の場合、すべての名前空間が選択されます。

podSelector も設定されている場合、NetworkPolicyPeer は全体として、namespaceSelector によって選択された名前空間内の podSelector に一致する Pod を選択します。それ以外の場合は、namespaceSelector で選択された名前空間内のすべての Pod が選択されます。

podSelector

LabelSelector

podSelector は、Pod を選択するラベルセレクターです。このフィールドは、標準のラベルセレクターセマンティクスに従います。存在するが空の場合、すべての Pod が選択されます。

namespaceSelector も設定されている場合、NetworkPolicyPeer は全体として、NamespaceSelector によって選択された名前空間内の podSelector に一致する Pod を選択します。それ以外の場合は、ポリシー独自の名前空間内の podSelector に一致する Pod が選択されます。

24.1.8. .spec.egress[].to[].ipBlock

説明
IPBlock は、特定の CIDR を記述します (例:"192.168.1.0/24","2001:db8::/64")、NetworkPolicySpec の podSelector で一致した Pod に対しては許可されます。例外エントリーは、このルールに含めるべきではない CIDR を記述します。
object
必須
  • cidr
Expand
プロパティー説明

cidr

string

cidr は IP ブロックを表す文字列です。有効な例は "192.168.1.0/24" または "2001:db8::/64" です。

except

array (string)

IPBlock 内に含めるべきではない CIDR のスライスを除く有効な例は、"192.168.1.0/24" または "2001:db8::/64" です。例外の値は、CIDR 範囲外の場合、拒否されます。

24.1.9. .spec.ingress

説明
ingress は、選択した Pod に適用される ingress ルールのリストです。Pod を選択する NetworkPolicies がない場合 (およびクラスターポリシーがトラフィックを許可する場合)、トラフィックソースが Pod のローカルノードである場合、またはトラフィックがすべての NetworkPolicy 全体で少なくとも 1 つの入力ルールに一致する場合、トラフィックは Pod に許可されます podSelector が Pod と一致するオブジェクト。このフィールドが空の場合、この NetworkPolicy はトラフィックを許可しません (そして、選択した Pod がデフォルトで分離されていることを確認するためだけに機能します)
array

24.1.10. .spec.ingress[]

説明
NetworkPolicyIngressRule は、NetworkPolicySpec の podSelector によって一致する Pod に許可される特定のトラフィックセットを記述します。トラフィックは、ポートと送信元の両方に一致する必要があります。
object
Expand
プロパティー説明

from

array

from は、このルールに対して選択された Pod にアクセスできるソースのリストです。このリストの項目は、論理演算子 OR を使用して組み合わせます。このフィールドが空または欠落している場合、このルールはすべてのソースに一致します (トラフィックはソースによって制限されていません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックが from リストの少なくとも 1 つのアイテムと一致する場合にのみトラフィックを許可します。

from[]

object

NetworkPolicyPeer は、トラフィックとの間のトラフィックを許可するピアを説明します。フィールドの特定の組み合わせのみが許可されます

ports

array

ports は、このルールに対して選択された Pod 上でアクセス可能にする必要があるポートのリストです。このリストの各項目は、論理 OR を使用して結合されます。このフィールドが空または欠落している場合、このルールはすべてのポートに一致します (トラフィックはポートによって制限されません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックがリスト内の少なくとも 1 つのポートに一致する場合にのみトラフィックを許可します。

ports[]

object

NetworkPolicyPort は、トラフィックを許可するポートを記述します

24.1.11. .spec.ingress[].from

説明
from は、このルールに対して選択された Pod にアクセスできるソースのリストです。このリストの項目は、論理演算子 OR を使用して組み合わせます。このフィールドが空または欠落している場合、このルールはすべてのソースに一致します (トラフィックはソースによって制限されていません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックが from リストの少なくとも 1 つのアイテムと一致する場合にのみトラフィックを許可します。
array

24.1.12. .spec.ingress[].from[]

説明
NetworkPolicyPeer は、トラフィックとの間のトラフィックを許可するピアを説明します。フィールドの特定の組み合わせのみが許可されます
object
Expand
プロパティー説明

ipBlock

object

IPBlock は、特定の CIDR を記述します (例:"192.168.1.0/24","2001:db8::/64")、NetworkPolicySpec の podSelector で一致した Pod に対しては許可されます。例外エントリーは、このルールに含めるべきではない CIDR を記述します。

namespaceSelector

LabelSelector

namespaceSelector は、クラスタースコープのラベルを使用して名前空間を選択します。このフィールドは、標準のラベルセレクターセマンティクスに従います。存在するが空の場合、すべての名前空間が選択されます。

podSelector も設定されている場合、NetworkPolicyPeer は全体として、namespaceSelector によって選択された名前空間内の podSelector に一致する Pod を選択します。それ以外の場合は、namespaceSelector で選択された名前空間内のすべての Pod が選択されます。

podSelector

LabelSelector

podSelector は、Pod を選択するラベルセレクターです。このフィールドは、標準のラベルセレクターセマンティクスに従います。存在するが空の場合、すべての Pod が選択されます。

namespaceSelector も設定されている場合、NetworkPolicyPeer は全体として、NamespaceSelector によって選択された名前空間内の podSelector に一致する Pod を選択します。それ以外の場合は、ポリシー独自の名前空間内の podSelector に一致する Pod が選択されます。

24.1.13. .spec.ingress[].from[].ipBlock

説明
IPBlock は、特定の CIDR を記述します (例:"192.168.1.0/24","2001:db8::/64")、NetworkPolicySpec の podSelector で一致した Pod に対しては許可されます。例外エントリーは、このルールに含めるべきではない CIDR を記述します。
object
必須
  • cidr
Expand
プロパティー説明

cidr

string

cidr は IP ブロックを表す文字列です。有効な例は "192.168.1.0/24" または "2001:db8::/64" です。

except

array (string)

IPBlock 内に含めるべきではない CIDR のスライスを除く有効な例は、"192.168.1.0/24" または "2001:db8::/64" です。例外の値は、CIDR 範囲外の場合、拒否されます。

24.1.14. .spec.ingress[].ports

説明
ports は、このルールに対して選択された Pod 上でアクセス可能にする必要があるポートのリストです。このリストの各項目は、論理 OR を使用して結合されます。このフィールドが空または欠落している場合、このルールはすべてのポートに一致します (トラフィックはポートによって制限されません)。このフィールドが存在し、少なくとも 1 つのアイテムが含まれている場合、このルールは、トラフィックがリスト内の少なくとも 1 つのポートに一致する場合にのみトラフィックを許可します。
array

24.1.15. .spec.ingress[].ports[]

説明
NetworkPolicyPort は、トラフィックを許可するポートを記述します
object
Expand
プロパティー説明

endPort

integer

endPort は、設定されている場合、ポートから endPort までのポート範囲がポリシーによって許可される必要があることを示します。ポートフィールドが定義されていない場合、またはポートフィールドが名前付き (文字列) ポートとして定義されている場合、このフィールドは定義できません。endPort は、port 以上である必要があります。

port

IntOrString

port は特定のプロトコルのポートを表します。これは、Pod の数値ポートまたは名前付きポートのいずれかです。このフィールドが指定されていない場合、これはすべてのポート名と番号に一致します。存在する場合、指定されたプロトコル AND ポートのトラフィックのみが一致します。

protocol

string

protocol は、トラフィックが一致する必要があるプロトコル (TCP、UDP、または SCTP) を表します。指定しない場合、このフィールドのデフォルトは TCP です。

使用可能な列挙値: - "SCTP" は SCTP プロトコル、"TCP" は TCP プロトコル、"UDP" は UDP プロトコルです。

24.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/networking.k8s.io/v1/networkpolicies

    • GET: 種類 NetworkPolicy のオブジェクトをリスト表示または監視します
  • /apis/networking.k8s.io/v1/watch/networkpolicies

    • GET:NetworkPolicy のリストに対する個々の変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用してください。
  • /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies

    • DELETE:NetworkPolicy のコレクションを削除します
    • GET: 種類 NetworkPolicy のオブジェクトをリスト表示または監視します
    • POST:NetworkPolicy を作成します
  • /apis/networking.k8s.io/v1/watch/namespaces/{namespace}/networkpolicies

    • GET:NetworkPolicy のリストに対する個々の変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用してください。
  • /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies/{name}

    • 削除:NetworkPolicy を削除します
    • GET: 指定された NetworkPolicy を読み取ります
    • PATCH: 指定された NetworkPolicy を部分的に更新します
    • PUT: 指定された NetworkPolicy を置き換えます
  • /apis/networking.k8s.io/v1/watch/namespaces/{namespace}/networkpolicies/{name}

    • GET: kind である NetworkPolicy のオブジェクトへの変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用し、'fieldSelector' パラメーターで単一の項目にフィルター処理します。

24.2.1. /apis/networking.k8s.io/v1/networkpolicies

HTTP メソッド
GET
説明
NetworkPolicy の種類のオブジェクトをリスト表示または監視する
Expand
表24.1 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

NetworkPolicyList スキーマ

401 - Unauthorized

空白

24.2.2. /apis/networking.k8s.io/v1/watch/networkpolicies

HTTP メソッド
GET
説明
NetworkPolicy のリストに対する個々の変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用してください。
Expand
表24.2 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

WatchEvent スキーマ

401 - Unauthorized

空白

24.2.3. /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies

HTTP メソッド
DELETE
説明
NetworkPolicy のコレクションを削除します
Expand
表24.3 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表24.4 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
NetworkPolicy の種類のオブジェクトをリスト表示または監視する
Expand
表24.5 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

NetworkPolicyList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
NetworkPolicy を作成する
Expand
表24.6 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表24.7 本文パラメーター
パラメーター説明

body

NetworkPolicy スキーマ

 
Expand
表24.8 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

NetworkPolicy スキーマ

201 - Created

NetworkPolicy スキーマ

202 - Accepted

NetworkPolicy スキーマ

401 - Unauthorized

空白

24.2.4. /apis/networking.k8s.io/v1/watch/namespaces/{namespace}/networkpolicies

HTTP メソッド
GET
説明
NetworkPolicy のリストに対する個々の変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用してください。
Expand
表24.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

WatchEvent スキーマ

401 - Unauthorized

空白

24.2.5. /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies/{name}

Expand
表24.10 グローバルパスパラメーター
パラメーター説明

name

string

NetworkPolicy の名前

HTTP メソッド
DELETE
説明
NetworkPolicy を削除します
Expand
表24.11 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表24.12 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された NetworkPolicy を読み取ります
Expand
表24.13 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

NetworkPolicy スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された NetworkPolicy を部分的に更新します
Expand
表24.14 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表24.15 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

NetworkPolicy スキーマ

201 - Created

NetworkPolicy スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された NetworkPolicy を置き換えます
Expand
表24.16 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表24.17 本文パラメーター
パラメーター説明

body

NetworkPolicy スキーマ

 
Expand
表24.18 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

NetworkPolicy スキーマ

201 - Created

NetworkPolicy スキーマ

401 - Unauthorized

空白

24.2.6. /apis/networking.k8s.io/v1/watch/namespaces/{namespace}/networkpolicies/{name}

Expand
表24.19 グローバルパスパラメーター
パラメーター説明

name

string

NetworkPolicy の名前

HTTP メソッド
GET
説明
NetworkPolicy の種類のオブジェクトへの変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用し、'fieldSelector' パラメーターで単一の項目にフィルター処理します。
Expand
表24.20 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

WatchEvent スキーマ

401 - Unauthorized

空白

第25章 NodeSlicePool [whereabouts.cni.cncf.io/v1alpha1]

説明
NodeSlicePool は nodesliceippools API のスキーマです。
object

25.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

NodeSlicePoolSpec は NodeSlicePool の望ましい状態を定義します

status

object

NodeSlicePoolStatus は NodeSlicePool の望ましい状態を定義します

25.1.1. .spec

説明
NodeSlicePoolSpec は NodeSlicePool の望ましい状態を定義します
object
必須
  • range
  • sliceSize
Expand
プロパティー説明

range

string

range は、CIDR 表記の IP アドレスと接頭辞長を表す RFC 4632/4291 形式の文字列であり、ノードにサブセットが割り当てられている範囲全体を指します。

sliceSize

string

SliceSize は、各ノードに割り当てられる範囲のサブネットまたはスライスのサイズです。

25.1.2. .status

説明
NodeSlicePoolStatus は NodeSlicePool の望ましい状態を定義します
object
必須
  • allocations
Expand
プロパティー説明

allocations

array

allocations はスライスへのノードの割り当てを保持します

allocations[]

object

 

25.1.3. .status.allocations

説明
allocations はスライスへのノードの割り当てを保持します
array

25.1.4. .status.allocations[]

説明
object
必須
  • nodeName
  • sliceRange
Expand
プロパティー説明

nodeName

string

NodeName は、このスライスに割り当てられたノードの名前です。ノード名が空の場合、そのスライスは割り当て可能です。

sliceRange

string

SliceRange はこのスライスのサブネットです

25.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/whereabouts.cni.cncf.io/v1alpha1/nodeslicepools

    • GET: kind が NodeSlicePool のオブジェクトをリスト表示します
  • /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/nodeslicepools

    • DELETE: NodeSlicePool のコレクションを削除します
    • GET: kind が NodeSlicePool のオブジェクトをリスト表示します
    • POST: NodeSlicePool を作成します
  • /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/nodeslicepools/{name}

    • DELETE: NodeSlicePool を削除します
    • GET: 指定された NodeSlicePool を読み取ります
    • PATCH: 指定された NodeSlicePool を部分的に更新します。
    • PUT: 指定された NodeSlicePool を置き換えます

25.2.1. /apis/whereabouts.cni.cncf.io/v1alpha1/nodeslicepools

HTTP メソッド
GET
説明
kind が NodeSlicePool のオブジェクトをリスト表示します
Expand
表25.1 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

NodeSlicePoolList スキーマ

401 - Unauthorized

空白

25.2.2. /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/nodeslicepools

HTTP メソッド
DELETE
説明
NodeSlicePool のコレクションを削除します
Expand
表25.2 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
kind が NodeSlicePool のオブジェクトをリスト表示します
Expand
表25.3 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

NodeSlicePoolList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
NodeSlicePool を作成します
Expand
表25.4 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表25.5 本文パラメーター
パラメーター説明

body

NodeSlicePool スキーマ

 
Expand
表25.6 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

NodeSlicePool スキーマ

201 - Created

NodeSlicePool スキーマ

202 - Accepted

NodeSlicePool スキーマ

401 - Unauthorized

空白

25.2.3. /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/nodeslicepools/{name}

Expand
表25.7 グローバルパスパラメーター
パラメーター説明

name

string

NodeSlicePool の名前

HTTP メソッド
DELETE
説明
NodeSlicePool を削除します
Expand
表25.8 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表25.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された NodeSlicePool を読み取ります
Expand
表25.10 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

NodeSlicePool スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された NodeSlicePool を部分的に更新します
Expand
表25.11 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表25.12 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

NodeSlicePool スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された NodeSlicePool を置き換えます
Expand
表25.13 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表25.14 本文パラメーター
パラメーター説明

body

NodeSlicePool スキーマ

 
Expand
表25.15 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

NodeSlicePool スキーマ

201 - Created

NodeSlicePool スキーマ

401 - Unauthorized

空白

第26章 OverlappingRangeIPReservation [whereabouts.cni.cncf.io/v1alpha1]

説明
OverlappingRangeIPReservation は OverlappingRangeIPReservations API のスキーマです
object
必須
  • spec

26.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

OverlappingRangeIPReservationSpec は OverlappingRangeIPReservation の望ましい状態を定義します

26.1.1. .spec

説明
OverlappingRangeIPReservationSpec は OverlappingRangeIPReservation の望ましい状態を定義します
object
必須
  • podref
Expand
プロパティー説明

containerid

string

 

ifname

string

 

podref

string

 

26.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/whereabouts.cni.cncf.io/v1alpha1/overlappingrangeipreservations

    • GET: kind である OverlappingRangeIPReservation のオブジェクトをリスト表示します
  • /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/overlappingrangeipreservations

    • DELETE: OverlappingRangeIPReservation のコレクションを削除します
    • GET: kind である OverlappingRangeIPReservation のオブジェクトをリスト表示します
    • POST: OverlappingRangeIPReservation を作成します
  • /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/overlappingrangeipreservations/{name}

    • DELETE: OverlappingRangeIPReservation を削除します
    • GET: 指定された OverlappingRangeIPReservation を読み取ります
    • PATCH: 指定された OverlappingRangeIPReservation を部分的に更新します
    • PUT: 指定された OverlappingRangeIPReservation を置き換えます

26.2.1. /apis/whereabouts.cni.cncf.io/v1alpha1/overlappingrangeipreservations

HTTP メソッド
GET
説明
kind である OverlappingRangeIPReservation のオブジェクトをリスト表示します
Expand
表26.1 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

OverlappingRangeIPReservationList スキーマ

401 - Unauthorized

空白

26.2.2. /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/overlappingrangeipreservations

HTTP メソッド
DELETE
説明
OverlappingRangeIPReservation のコレクションを削除します
Expand
表26.2 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
kind である OverlappingRangeIPReservation のオブジェクトをリスト表示します
Expand
表26.3 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

OverlappingRangeIPReservationList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
OverlappingRangeIPReservation を作成します
Expand
表26.4 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表26.5 本文パラメーター
パラメーター説明

body

OverlappingRangeIPReservation スキーマ

 
Expand
表26.6 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

OverlappingRangeIPReservation スキーマ

201 - Created

OverlappingRangeIPReservation スキーマ

202 - Accepted

OverlappingRangeIPReservation スキーマ

401 - Unauthorized

空白

26.2.3. /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/{namespace}/overlappingrangeipreservations/{name}

Expand
表26.7 グローバルパスパラメーター
パラメーター説明

name

string

OverlappingRangeIPReservation の名前

HTTP メソッド
DELETE
説明
OverlappingRangeIPReservation を削除します
Expand
表26.8 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表26.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された OverlappingRangeIPReservation を読み取ります
Expand
表26.10 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

OverlappingRangeIPReservation スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された OverlappingRangeIPReservation を部分的に更新します
Expand
表26.11 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表26.12 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

OverlappingRangeIPReservation スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された OverlappingRangeIPReservation を置き換えます
Expand
表26.13 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表26.14 本文パラメーター
パラメーター説明

body

OverlappingRangeIPReservation スキーマ

 
Expand
表26.15 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

OverlappingRangeIPReservation スキーマ

201 - Created

OverlappingRangeIPReservation スキーマ

401 - Unauthorized

空白

第27章 PodNetworkConnectivityCheck [controlplane.operator.openshift.io/v1alpha1]

説明

PodNetworkConnectivityCheck

互換性レベル 4: 互換性は提供されていません。API は、理由を問わずいつでも変更できます。これらの機能は、長期サポートを必要とするアプリケーションで使用することはできません。

object
必須
  • spec

27.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

spec は、接続チェックのソースとターゲットを定義します

status

object

status には、接続チェックの観測ステータスが含まれます

27.1.1. .spec

説明
spec は、接続チェックのソースとターゲットを定義します
object
必須
  • sourcePod
  • targetEndpoint
Expand
プロパティー説明

sourcePod

string

sourcePod は、条件がチェックされる Pod に名前を付けます

targetEndpoint

string

チェックする EndpointAddress。host:port 形式の TCP アドレス。ホストが DNS 名の場合、DNS 名を解決できないと、チェックが失敗することに注意してください。DNS 名ルックアップをバイパスするホストの IP アドレスを指定します。

tlsClientCert

object

TLSClientCert は、指定されている場合、kubernetes.io/tls タイプシークレットを参照します。'tls.crt' および 'tls.key' エントリーには、オプションの TLS クライアント証明書と、正常に実行するためにクライアント証明書を必要とするエンドポイントをチェックするときに使用されるキーが含まれます。エンドポイントプロセスで過度のロギングを発生させずにスキャンを実行します。シークレットは、このリソースと同じ名前空間に存在する必要があります。

27.1.2. .spec.tlsClientCert

説明
TLSClientCert は、指定されている場合、kubernetes.io/tls タイプシークレットを参照します。'tls.crt' および 'tls.key' エントリーには、オプションの TLS クライアント証明書と、正常に実行するためにクライアント証明書を必要とするエンドポイントをチェックするときに使用されるキーが含まれます。エンドポイントプロセスで過度のロギングを発生させずにスキャンを実行します。シークレットは、このリソースと同じ名前空間に存在する必要があります。
object
必須
  • name
Expand
プロパティー説明

name

string

name は、参照されるシークレットの metadata.name です。

27.1.3. .status

説明
status には、接続チェックの観測ステータスが含まれます
object
Expand
プロパティー説明

conditions

array

conditions は、チェックのステータスを要約します

conditions[]

object

PodNetworkConnectivityCheckCondition は、Pod ネットワーク接続の全体的なステータスを表します。

failures

array

failures には、失敗したチェックアクションのログが含まれます

failures[]

object

LogEntry はイベントを記録します

outages

array

outages には、停止期間のログが含まれます

outages[]

object

OutageEntry は、停止の期間を記録します

successes

array

successes には、成功したチェックアクションのログが含まれます

successes[]

object

LogEntry はイベントを記録します

27.1.4. .status.conditions

説明
conditions は、チェックのステータスを要約します
array

27.1.5. .status.conditions[]

説明
PodNetworkConnectivityCheckCondition は、Pod ネットワーク接続の全体的なステータスを表します。
object
必須
  • status
  • type
Expand
プロパティー説明

lastTransitionTime

``

最後にある状態から別の状態に遷移した時間。

message

string

message は、人間が読める形式で最後の遷移に関する詳細を示します。

reason

string

条件の最後のステータス遷移の理由をマシンリーダブル形式で示します。

status

string

条件のステータス。

type

string

条件の型

27.1.6. .status.failures

説明
failures には、失敗したチェックアクションのログが含まれます
array

27.1.7. .status.failures[]

説明
LogEntry はイベントを記録します
object
必須
  • success
Expand
プロパティー説明

latency

``

latency は、エントリーに記載されているアクションにかかった時間を記録します。

message

string

人間が読める形式でステータスを説明するメッセージ。

reason

string

マシンリーダブル形式で示されたステータスの理由。

success

boolean

success は、ログエントリーの成否を示します。

time

``

チェックアクションの開始時刻。

27.1.8. .status.outages

説明
outages には、停止期間のログが含まれます
array

27.1.9. .status.outages[]

説明
OutageEntry は、停止の期間を記録します
object
Expand
プロパティー説明

end

``

検出された停止の終了

endLogs

array

endLogs には、この停止の終了に関連するログエントリーが含まれています。停止を解決した成功エントリーと、場合によってはそれに先行するいくつかの失敗ログエントリーが含まれている必要があります。

endLogs[]

object

LogEntry はイベントを記録します

message

string

message は、停止の詳細を人間が読める形式で要約します。

start

``

検出された停止の開始

startLogs

array

startLogs には、この停止の開始に関連するログエントリーが含まれています。元の障害、障害モードが変更されたすべてのエントリーが含まれている必要があります。

startLogs[]

object

LogEntry はイベントを記録します

27.1.10. .status.outages[].endLogs

説明
endLogs には、この停止の終了に関連するログエントリーが含まれています。停止を解決した成功エントリーと、場合によってはそれに先行するいくつかの失敗ログエントリーが含まれている必要があります。
array

27.1.11. .status.outages[].endLogs[]

説明
LogEntry はイベントを記録します
object
必須
  • success
Expand
プロパティー説明

latency

``

latency は、エントリーに記載されているアクションにかかった時間を記録します。

message

string

人間が読める形式でステータスを説明するメッセージ。

reason

string

マシンリーダブル形式で示されたステータスの理由。

success

boolean

success は、ログエントリーの成否を示します。

time

``

チェックアクションの開始時刻。

27.1.12. .status.outages[].startLogs

説明
startLogs には、この停止の開始に関連するログエントリーが含まれています。元の障害、障害モードが変更されたすべてのエントリーが含まれている必要があります。
array

27.1.13. .status.outages[].startLogs[]

説明
LogEntry はイベントを記録します
object
必須
  • success
Expand
プロパティー説明

latency

``

latency は、エントリーに記載されているアクションにかかった時間を記録します。

message

string

人間が読める形式でステータスを説明するメッセージ。

reason

string

マシンリーダブル形式で示されたステータスの理由。

success

boolean

success は、ログエントリーの成否を示します。

time

``

チェックアクションの開始時刻。

27.1.14. .status.successes

説明
successes には、成功したチェックアクションのログが含まれます
array

27.1.15. .status.successes[]

説明
LogEntry はイベントを記録します
object
必須
  • success
Expand
プロパティー説明

latency

``

latency は、エントリーに記載されているアクションにかかった時間を記録します。

message

string

人間が読める形式でステータスを説明するメッセージ。

reason

string

マシンリーダブル形式で示されたステータスの理由。

success

boolean

success は、ログエントリーの成否を示します。

time

``

チェックアクションの開始時刻。

27.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/controlplane.operator.openshift.io/v1alpha1/podnetworkconnectivitychecks

    • GET: 種類のオブジェクトをリスト表示する PodNetworkConnectivityCheck
  • /apis/controlplane.operator.openshift.io/v1alpha1/namespaces/{namespace}/podnetworkconnectivitychecks

    • 削除:PodNetworkConnectivityCheck のコレクションを削除します
    • GET: 種類のオブジェクトをリスト表示する PodNetworkConnectivityCheck
    • POST:PodNetworkConnectivityCheck を作成します
  • /apis/controlplane.operator.openshift.io/v1alpha1/namespaces/{namespace}/podnetworkconnectivitychecks/{name}

    • 削除:PodNetworkConnectivityCheck を削除します
    • GET: 指定された PodNetworkConnectivityCheck を読み取ります
    • PATCH: 指定された PodNetworkConnectivityCheck を部分的に更新します
    • PUT: 指定された PodNetworkConnectivityCheck を置き換えます
  • /apis/controlplane.operator.openshift.io/v1alpha1/namespaces/{namespace}/podnetworkconnectivitychecks/{name}/status

    • GET: 指定された PodNetworkConnectivityCheck のステータスを読み取ります
    • PATCH: 指定された PodNetworkConnectivityCheck のステータスを部分的に更新します
    • PUT: 指定された PodNetworkConnectivityCheck のステータスを置き換えます

27.2.1. /apis/controlplane.operator.openshift.io/v1alpha1/podnetworkconnectivitychecks

HTTP メソッド
GET
説明
PodNetworkConnectivityCheck の種類のオブジェクトをリスト表示します
Expand
表27.1 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

PodNetworkConnectivityCheckList スキーマ

401 - Unauthorized

空白

27.2.2. /apis/controlplane.operator.openshift.io/v1alpha1/namespaces/{namespace}/podnetworkconnectivitychecks

HTTP メソッド
DELETE
説明
PodNetworkConnectivityCheck のコレクションを削除します
Expand
表27.2 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
PodNetworkConnectivityCheck の種類のオブジェクトをリスト表示します
Expand
表27.3 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

PodNetworkConnectivityCheckList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
PodNetworkConnectivityCheck を作成します
Expand
表27.4 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表27.5 本文パラメーター
パラメーター説明

body

PodNetworkConnectivityCheck スキーマ

 
Expand
表27.6 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

PodNetworkConnectivityCheck スキーマ

201 - Created

PodNetworkConnectivityCheck スキーマ

202 - Accepted

PodNetworkConnectivityCheck スキーマ

401 - Unauthorized

空白

27.2.3. /apis/controlplane.operator.openshift.io/v1alpha1/namespaces/{namespace}/podnetworkconnectivitychecks/{name}

Expand
表27.7 グローバルパスパラメーター
パラメーター説明

name

string

PodNetworkConnectivityCheck の名前

HTTP メソッド
DELETE
説明
PodNetworkConnectivityCheck を削除します
Expand
表27.8 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表27.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された PodNetworkConnectivityCheck を読み取ります
Expand
表27.10 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

PodNetworkConnectivityCheck スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された PodNetworkConnectivityCheck を部分的に更新します
Expand
表27.11 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表27.12 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

PodNetworkConnectivityCheck スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された PodNetworkConnectivityCheck を置き換えます
Expand
表27.13 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表27.14 本文パラメーター
パラメーター説明

body

PodNetworkConnectivityCheck スキーマ

 
Expand
表27.15 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

PodNetworkConnectivityCheck スキーマ

201 - Created

PodNetworkConnectivityCheck スキーマ

401 - Unauthorized

空白

27.2.4. /apis/controlplane.operator.openshift.io/v1alpha1/namespaces/{namespace}/podnetworkconnectivitychecks/{name}/status

Expand
表27.16 グローバルパスパラメーター
パラメーター説明

name

string

PodNetworkConnectivityCheck の名前

HTTP メソッド
GET
説明
指定された PodNetworkConnectivityCheck のステータスを読み取ります
Expand
表27.17 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

PodNetworkConnectivityCheck スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された PodNetworkConnectivityCheck のステータスを部分的に更新します
Expand
表27.18 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表27.19 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

PodNetworkConnectivityCheck スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された PodNetworkConnectivityCheck のステータスを置き換えます
Expand
表27.20 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表27.21 本文パラメーター
パラメーター説明

body

PodNetworkConnectivityCheck スキーマ

 
Expand
表27.22 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

PodNetworkConnectivityCheck スキーマ

201 - Created

PodNetworkConnectivityCheck スキーマ

401 - Unauthorized

空白

第28章 ReferenceGrant [gateway.networking.k8s.io/v1beta1]

説明

ReferenceGrant は、ポリシーと同じ namespace 内の指定された種類のリソースを参照することが信頼されている、他の namespace 内のリソースの種類を特定します。

各 ReferenceGrant は、一意の信頼関係を表すために使用できます。追加の Reference Grant を使用すると、定義先の namespace のインバウンド参照の信頼済みソースセットに追加できます。

Gateway API 内の namespace をまたいだすべての参照 (namespace をまたぐ Gateway とルートの接続を除く) には、ReferenceGrant が必要です。

ReferenceGrant は、namespace をまたぐ許可済みのオブジェクト参照をユーザーがアサートできるようにする実行時検証の形式です。ReferenceGrant をサポートする実装では、許可がない namespace をまたぐ参照を許可してはなりません。また、許可が削除された場合は、その許可に基づくアクセスを取り消すことで応答する必要があります。

object

28.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

spec は、ReferenceGrant の望ましい状態を定義します。

28.1.1. .spec

説明
spec は、ReferenceGrant の望ましい状態を定義します。
object
必須
  • from
  • to
Expand
プロパティー説明

from

array

from は、"To" で記述されたリソースを参照できる信頼済み namespace と kind を記述します。このリストの各エントリーは、参照元として有効な追加の場所であるとみなされる必要があります。言い換えると、エントリーは OR を使用して結合される必要があります。

サポート: Core

from[]

object

ReferenceGrantFrom は、信頼済み namespace と kind を記述します。

to

array

to は、"From" で記述されたリソースによって参照される可能性のあるリソースを記述します。このリストの各エントリーは、参照先として有効な追加の場所であるとみなされる必要があります。言い換えると、エントリーは OR を使用して結合される必要があります。

サポート: Core

to[]

object

ReferenceGrantTo は、参照先として許可される Kinds を記述します。

28.1.2. .spec.from

説明

from は、"To" で記述されたリソースを参照できる信頼済み namespace と kind を記述します。このリストの各エントリーは、参照元として有効な追加の場所であるとみなされる必要があります。言い換えると、エントリーは OR を使用して結合される必要があります。

サポート: Core

array

28.1.3. .spec.from[]

説明
ReferenceGrantFrom は、信頼済み namespace と kind を記述します。
object
必須
  • group
  • kind
  • namespace
Expand
プロパティー説明

group

string

group は参照先のグループです。空の場合、Kubernetes コア API グループが推論されます。

サポート: Core

kind

string

kind は参照先の kind です。実装ではつしかリソースがサポートされる場合がありますが、次のタイプはこのフィールドの "Core" サポートレベルに含まれています。

SecretObjectReference を許可するために使用される場合:

* ゲートウェイ

BackendObjectReference を許可するために使用される場合:

* GRPCRoute * HTTPRoute * TCPRoute * TLSRoute * UDPRoute

namespace

string

namespace は参照先の namespace です。

サポート: Core

28.1.4. .spec.to

説明

to は、"From" で記述されたリソースによって参照される可能性のあるリソースを記述します。このリストの各エントリーは、参照先として有効な追加の場所であるとみなされる必要があります。言い換えると、エントリーは OR を使用して結合される必要があります。

サポート: Core

array

28.1.5. .spec.to[]

説明
ReferenceGrantTo は、参照先として許可される Kinds を記述します。
object
必須
  • group
  • kind
Expand
プロパティー説明

group

string

group は参照先のグループです。空の場合、Kubernetes コア API グループが推論されます。

サポート: Core

kind

string

kind は参照先の kind です。実装ではつしかリソースがサポートされる場合がありますが、次のタイプはこのフィールドの "Core" サポートレベルに含まれています。

* SecretObjectReference を許可するために使用される場合の Secret * BackendObjectReference を許可するために使用される場合の Service

name

string

name は参照先の名前です。指定されていない場合、このポリシーはローカル namespace 内の指定されたグループと kind のすべてのリソースを参照します。

28.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/gateway.networking.k8s.io/v1beta1/referencegrants

    • GET: kind が ReferenceGrant のオブジェクトをリスト表示します
  • /apis/gateway.networking.k8s.io/v1beta1/namespaces/{namespace}/referencegrants

    • DELETE: ReferenceGrant のコレクションを削除します
    • GET: kind が ReferenceGrant のオブジェクトをリスト表示します
    • POST: ReferenceGrant を作成します
  • /apis/gateway.networking.k8s.io/v1beta1/namespaces/{namespace}/referencegrants/{name}

    • DELETE: ReferenceGrant を削除します
    • GET: 指定された ReferenceGrant を読み取ります
    • PATCH: 指定された ReferenceGrant を部分的に更新します
    • PUT: 指定された ReferenceGrant を置き換えます

28.2.1. /apis/gateway.networking.k8s.io/v1beta1/referencegrants

HTTP メソッド
GET
説明
kind が ReferenceGrant のオブジェクトをリスト表示します
Expand
表28.1 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

ReferenceGrantList スキーマ

401 - Unauthorized

空白

28.2.2. /apis/gateway.networking.k8s.io/v1beta1/namespaces/{namespace}/referencegrants

HTTP メソッド
DELETE
説明
ReferenceGrant のコレクションを削除します
Expand
表28.2 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
kind が ReferenceGrant のオブジェクトをリスト表示します
Expand
表28.3 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

ReferenceGrantList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
ReferenceGrant を作成します
Expand
表28.4 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表28.5 本文パラメーター
パラメーター説明

body

ReferenceGrant スキーマ

 
Expand
表28.6 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

ReferenceGrant スキーマ

201 - Created

ReferenceGrant スキーマ

202 - Accepted

ReferenceGrant スキーマ

401 - Unauthorized

空白

28.2.3. /apis/gateway.networking.k8s.io/v1beta1/namespaces/{namespace}/referencegrants/{name}

Expand
表28.7 グローバルパスパラメーター
パラメーター説明

name

string

ReferenceGrant の名前

HTTP メソッド
DELETE
説明
ReferenceGrant を削除します
Expand
表28.8 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表28.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された ReferenceGrant を読み取ります
Expand
表28.10 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

ReferenceGrant スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された ReferenceGrant を部分的に更新します
Expand
表28.11 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表28.12 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

ReferenceGrant スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された ReferenceGrant を置き換えます
Expand
表28.13 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表28.14 本文パラメーター
パラメーター説明

body

ReferenceGrant スキーマ

 
Expand
表28.15 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

ReferenceGrant スキーマ

201 - Created

ReferenceGrant スキーマ

401 - Unauthorized

空白

第29章 Route [route.openshift.io/v1]

説明

ルートを使用すると、開発者は HTTP(S) 対応の負荷分散とパブリック DNS エントリーを介したプロキシー階層を介してサービスを公開できます。ルートは、TLS オプションと証明書をさらに指定するか、ルーターが HTTP および HTTPS トラフィックに対しても受け入れる必要があるパブリック CNAME を指定する場合があります。管理者は通常、ルーターをクラスターファイアウォールの外側に表示されるように設定し、サービスコンテンツにセキュリティー、キャッシュ、またはトラフィック制御を追加する場合もあります。ルーターは通常、サービスエンドポイントと直接通信します。

ルートが作成されると、host フィールドは変更されない場合があります。通常、ルーターは、競合を解決するときに、特定のホストで最も古いルートを使用します。

ルーターは追加のカスタマイズの対象であり、アノテーションフィールドを介して追加の制御をサポートする場合があります。

管理者は複数のルーターを設定できるため、ルートステータスフィールドは、各ルーターの下のルートの名前と状態に関する情報をクライアントに返すために使用されます。たとえば、クライアントが重複した名前を選択した場合、ルートステータス条件を使用して、ルートを選択できないことを示します。

ルートで HTTP/2 ALPN を有効にするには、カスタム (非ワイルドカード) 証明書が必要です。これにより、クライアント、特に Web ブラウザーによる接続の結合が防止されます。接続の再利用/結合のリスクがあるため、デフォルトの証明書を使用するルートでは HTTP/2ALPN をサポートしていません。そのため、独自のカスタム証明書を持たないルートは、フロントエンドまたはバックエンドのいずれかで HTTP/2 ALPN で有効にされません。

互換性レベル 1: メジャーリリース内で最低 12 カ月または 3 つのマイナーリリース (どちらか長い方) の間 Stable です。

object
必須
  • spec

29.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_v2

metadata は標準オブジェクトのメタデータです。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata を参照してください。

spec

object

RouteSpec は、ルートが公開するホスト名またはパス、セキュリティー情報、およびルートが指す 1 つから 4 つのバックエンド (サービス) を記述します。要求は、各バックエンドに割り当てられた重みに応じてバックエンドに分散されます。ラウンドロビンスケジューリングを使用する場合、各バックエンドに送信される要求の部分は、バックエンドの重みをすべてのバックエンドの重みの合計で割ったものです。バックエンドに複数のエンドポイントがある場合、バックエンドで終了する要求は、エンドポイント間でラウンドロビン分散されます。重みは 0〜256 で、デフォルトは 100 です。重みが 0 の場合は、バックエンドへの要求は送信されません。すべての重みがゼロの場合、ルートにはバックエンドがないと見なされ、標準の 503 応答が返されます。

tls フィールドはオプションであり、ルートの特定の証明書または動作を許可します。ルーターは通常、ワイルドカードドメインでデフォルトの証明書を設定して、明示的な証明書なしでルートを終了しますが、カスタムホスト名は通常、パススルー (TLS サーバー - 名前 - 表示フィールドを介してトラフィックをバックエンドに直接送信する) を選択するか、証明書を提供する必要があります。

status

object

RouteStatus は、どのルーターがルートを確認するかなど、ルートのステータスの関連情報を提供します。

29.1.1. .spec

説明

RouteSpec は、ルートが公開するホスト名またはパス、セキュリティー情報、およびルートが指す 1 つから 4 つのバックエンド (サービス) を記述します。要求は、各バックエンドに割り当てられた重みに応じてバックエンドに分散されます。ラウンドロビンスケジューリングを使用する場合、各バックエンドに送信される要求の部分は、バックエンドの重みをすべてのバックエンドの重みの合計で割ったものです。バックエンドに複数のエンドポイントがある場合、バックエンドで終了する要求は、エンドポイント間でラウンドロビン分散されます。重みは 0〜256 で、デフォルトは 100 です。重みが 0 の場合は、バックエンドへの要求は送信されません。すべての重みがゼロの場合、ルートにはバックエンドがないと見なされ、標準の 503 応答が返されます。

tls フィールドはオプションであり、ルートの特定の証明書または動作を許可します。ルーターは通常、ワイルドカードドメインでデフォルトの証明書を設定して、明示的な証明書なしでルートを終了しますが、カスタムホスト名は通常、パススルー (TLS サーバー - 名前 - 表示フィールドを介してトラフィックをバックエンドに直接送信する) を選択するか、証明書を提供する必要があります。

object
必須
  • to
Expand
プロパティー説明

alternateBackends

array

alternateBackends を使用すると、最大 3 つの追加のバックエンドをルートに割り当てることができます。Kind は Service のみ使用でき、デフォルトは Service になります。RouteTargetReference オブジェクトの重みフィールドを使用して、相対的な優先順位を指定します。

alternateBackends[]

object

RouteTargetReference は、エンドポイントに解決されるターゲットを指定します。kind は 'Service' のみ使用できます。'weight' フィールドを使用して、1 つを他よりも強調します。

host

string

ホストは、サービスを指すエイリアス/DNS です。任意。指定しない場合、ルート名は通常自動的に選択されます。DNS952 サブドメインの規則に従う必要があります。

httpHeaders

object

RouteHTTPHeaders は、HTTP ヘッダーのポリシーを定義します。

path

string

トラフィックをサービスにルーティングするために、ルーターが監視するパス。任意。

port

object

RoutePort は、ルーターからサービスエンドポイントのエンドポイントへのポートマッピングを定義します。

subdomain

string

サブドメインは、Ingress コントローラーのドメイン内で (サブドメインとして) 要求される DNS サブドメインです。ホストが設定されている場合、このフィールドは無視されます。Ingress コントローラーは、この提案された名前を無視できます。その場合、コントローラーは、割り当てられた名前を status.ingress 配列に報告するか、ルートの許可を拒否します。この値が設定されていて、サーバーがこのフィールドをサポートしていない場合、ホストは自動的に入力されます。それ以外の場合、ホストは空のままになります。フィールドにはドットで区切られた複数の部分が含まれる場合がありますが、すべての Ingress コントローラーが要求を受け入れるとは限りません。このフィールドは、ルートの更新/カスタムホスト権限を持つユーザーを除いて、作成後に変更することはできません。

例: サブドメイン frontend は、ルーターサブドメイン apps.mycluster.com を自動的に受信して、完全なホスト名 frontend.apps.mycluster.com を取得します。

tls

object

TLSConfig は、ルートを保護し、終了を提供するために使用される設定を定義します。

to

object

RouteTargetReference は、エンドポイントに解決されるターゲットを指定します。kind は 'Service' のみ使用できます。'weight' フィールドを使用して、1 つを他よりも強調します。

wildcardPolicy

string

ルートにワイルドカードポリシーがある場合。現在、'Subdomain' または 'None' のみが許可されています。

29.1.2. .spec.alternateBackends

説明
alternateBackends を使用すると、最大 3 つの追加のバックエンドをルートに割り当てることができます。Kind は Service のみ使用でき、デフォルトは Service になります。RouteTargetReference オブジェクトの重みフィールドを使用して、相対的な優先順位を指定します。
array

29.1.3. .spec.alternateBackends[]

説明
RouteTargetReference は、エンドポイントに解決されるターゲットを指定します。kind は 'Service' のみ使用できます。'weight' フィールドを使用して、1 つを他よりも強調します。
object
必須
  • kind
  • name
Expand
プロパティー説明

kind

string

ルートが参照しているターゲットの kind。現在、'Service' のみが許可されています。

name

string

参照されているサービス/ターゲットの名前。例: サービスの名前

weight

integer

0〜256 の整数としての重み (デフォルトは 100)。これは、他のターゲット参照オブジェクトに対するターゲットの相対的な重みを指定します。0 は、このバックエンドへの要求を抑制します。

29.1.4. .spec.httpHeaders

説明
RouteHTTPHeaders は、HTTP ヘッダーのポリシーを定義します。
object
Expand
プロパティー説明

actions

object

RouteHTTPHeaderActions は、HTTP 要求および応答ヘッダーに対するアクションの設定を定義します。

29.1.5. .spec.httpHeaders.actions

説明
RouteHTTPHeaderActions は、HTTP 要求および応答ヘッダーに対するアクションの設定を定義します。
object
Expand
プロパティー説明

request

array

request は、変更する HTTP リクエストヘッダーのリストです。現在、actions では、Set または Delete をヘッダー値として定義できます。ここで定義されたアクションは、ルートを介して行われたすべてのリクエストのリクエストヘッダーを変更します。これらのアクションは、クラスター内の定義された特定ルート、つまりルート経由の接続に適用されます。現在、actions では、Set または Delete をヘッダー値として定義できます。ルートアクションは、リクエストヘッダーの IngressController アクションの後に実行されます。アクションは、このリストで定義した順序で適用されます。最大 20 個のリクエストヘッダーアクションを設定できます。このフィールドを使用して、クライアントからアプリケーションへの接続を転送するときに設定または削除する必要がある HTTP リクエストヘッダーを指定できます。使用できるサンプルフェッチャーは、"req.hdr" と "ssl_c_der" です。使用できるコンバーターは、"lower" と "base64" です。ヘッダー値の例は、"%[req.hdr(X-target),lower]"、"%{+Q}[ssl_c_der,base64]" などです。この API を使用してルートリソース経由で直接適用されたリクエストヘッダー設定は、IngressController またはルートアノテーションの spec.httpHeaders.actions 経由で適用された同じ名前のヘッダーのヘッダー設定をオーバーライドします。注記: ルートで TLS パススルーが使用されている場合、このフィールドは使用できません。

request[]

object

RouteHTTPHeader は、HTTP ヘッダーを設定または削除するための設定を指定します。

response

array

response は、変更する HTTP レスポンスヘッダーのリストです。現在、actions では、Set または Delete をヘッダー値として定義できます。ここで定義されたアクションは、ルートを介して行われたすべてのリクエストのレスポンスヘッダーを変更します。これらのアクションは、クラスター内の定義された特定ルート、つまりルート経由の接続に適用されます。ルートアクションは、レスポンスヘッダーの IngressController アクションの前に実行されます。アクションは、このリストで定義した順序で適用されます。最大 20 個のレスポンスヘッダーアクションを設定できます。このフィールドを使用して、アプリケーションからクライアントにレスポンスを転送するときに設定または削除する必要がある HTTP レスポンスヘッダーを指定できます。使用できるサンプルフェッチャーは、"res.hdr" と "ssl_c_der" です。使用できるコンバーターは、"lower" と "base64" です。ヘッダー値の例は、"%[res.hdr(X-target),lower]"、"%{+Q}[ssl_c_der,base64]" などです。注記: ルートで TLS パススルーが使用されている場合、このフィールドは使用できません。

response[]

object

RouteHTTPHeader は、HTTP ヘッダーを設定または削除するための設定を指定します。

29.1.6. .spec.httpHeaders.actions.request

説明
request は、変更する HTTP リクエストヘッダーのリストです。現在、actions では、Set または Delete をヘッダー値として定義できます。ここで定義されたアクションは、ルートを介して行われたすべてのリクエストのリクエストヘッダーを変更します。これらのアクションは、クラスター内の定義された特定ルート、つまりルート経由の接続に適用されます。現在、actions では、Set または Delete をヘッダー値として定義できます。ルートアクションは、リクエストヘッダーの IngressController アクションの後に実行されます。アクションは、このリストで定義した順序で適用されます。最大 20 個のリクエストヘッダーアクションを設定できます。このフィールドを使用して、クライアントからアプリケーションへの接続を転送するときに設定または削除する必要がある HTTP リクエストヘッダーを指定できます。使用できるサンプルフェッチャーは、"req.hdr" と "ssl_c_der" です。使用できるコンバーターは、"lower" と "base64" です。ヘッダー値の例は、"%[req.hdr(X-target),lower]"、"%{+Q}[ssl_c_der,base64]" などです。この API を使用してルートリソース経由で直接適用されたリクエストヘッダー設定は、IngressController またはルートアノテーションの spec.httpHeaders.actions 経由で適用された同じ名前のヘッダーのヘッダー設定をオーバーライドします。注記: ルートで TLS パススルーが使用されている場合、このフィールドは使用できません。
array

29.1.7. .spec.httpHeaders.actions.request[]

説明
RouteHTTPHeader は、HTTP ヘッダーを設定または削除するための設定を指定します。
object
必須
  • name
  • action
Expand
プロパティー説明

action

object

RouteHTTPHeaderActionUnion は、HTTP ヘッダーに対して実行するアクションを指定します。

name

string

name は、アクション実行対象のヘッダーの名前を指定します。値は、RFC 2616 セクション 4.2 で定義されている有効な HTTP ヘッダー名である必要があります。名前は、英数字と特殊文字 "-!#$%&'*+.^_`" のみで構成する必要があります。ヘッダー名 Strict-Transport-Security、Proxy、Cookie、Set-Cookie は予約されており、この API 経由で変更することはできません。255 文字以内の長さである必要があります。ヘッダー名は一意である必要があります。

29.1.8. .spec.httpHeaders.actions.request[].action

説明
RouteHTTPHeaderActionUnion は、HTTP ヘッダーに対して実行するアクションを指定します。
object
必須
  • type
Expand
プロパティー説明

set

object

RouteSetHTTPHeader は、HTTP ヘッダーに設定する必要がある値を指定します。

type

string

type は、ヘッダーに適用するアクションのタイプを定義します。使用できる値は、Set または Delete です。Set を使用すると、HTTP リクエストヘッダーとレスポンスヘッダーを設定できます。Delete を使用すると、HTTP リクエストヘッダーとレスポンスヘッダーを削除できます。

29.1.9. .spec.httpHeaders.actions.request[].action.set

説明
RouteSetHTTPHeader は、HTTP ヘッダーに設定する必要がある値を指定します。
object
必須
  • value
Expand
プロパティー説明

value

string

value は、ヘッダー値を指定します。動的な値を追加できます。値は、http://cbonte.github.io/haproxy-dconv/2.6/configuration.html#8.2.6 で定義されている HAProxy 形式の文字列として解釈され、HAProxy の %[] 構文を使用できます。または、https://datatracker.ietf.org/doc/html/rfc7230#section-3.2 で定義されている有効な HTTP ヘッダー値である必要があります。このフィールドの値は、16384 文字以内の長さにする必要があります。動的な値を補間した に追加されたすべてのヘッダーの合計サイズが、IngressController の spec.tuningOptions.headerBufferMaxRewriteBytes の値を超えてはならないことに注意してください。

29.1.10. .spec.httpHeaders.actions.response

説明
response は、変更する HTTP レスポンスヘッダーのリストです。現在、actions では、Set または Delete をヘッダー値として定義できます。ここで定義されたアクションは、ルートを介して行われたすべてのリクエストのレスポンスヘッダーを変更します。これらのアクションは、クラスター内の定義された特定ルート、つまりルート経由の接続に適用されます。ルートアクションは、レスポンスヘッダーの IngressController アクションの前に実行されます。アクションは、このリストで定義した順序で適用されます。最大 20 個のレスポンスヘッダーアクションを設定できます。このフィールドを使用して、アプリケーションからクライアントにレスポンスを転送するときに設定または削除する必要がある HTTP レスポンスヘッダーを指定できます。使用できるサンプルフェッチャーは、"res.hdr" と "ssl_c_der" です。使用できるコンバーターは、"lower" と "base64" です。ヘッダー値の例は、"%[res.hdr(X-target),lower]"、"%{+Q}[ssl_c_der,base64]" などです。注記: ルートで TLS パススルーが使用されている場合、このフィールドは使用できません。
array

29.1.11. .spec.httpHeaders.actions.response[]

説明
RouteHTTPHeader は、HTTP ヘッダーを設定または削除するための設定を指定します。
object
必須
  • name
  • action
Expand
プロパティー説明

action

object

RouteHTTPHeaderActionUnion は、HTTP ヘッダーに対して実行するアクションを指定します。

name

string

name は、アクション実行対象のヘッダーの名前を指定します。値は、RFC 2616 セクション 4.2 で定義されている有効な HTTP ヘッダー名である必要があります。名前は、英数字と特殊文字 "-!#$%&'*+.^_`" のみで構成する必要があります。ヘッダー名 Strict-Transport-Security、Proxy、Cookie、Set-Cookie は予約されており、この API 経由で変更することはできません。255 文字以内の長さである必要があります。ヘッダー名は一意である必要があります。

29.1.12. .spec.httpHeaders.actions.response[].action

説明
RouteHTTPHeaderActionUnion は、HTTP ヘッダーに対して実行するアクションを指定します。
object
必須
  • type
Expand
プロパティー説明

set

object

RouteSetHTTPHeader は、HTTP ヘッダーに設定する必要がある値を指定します。

type

string

type は、ヘッダーに適用するアクションのタイプを定義します。使用できる値は、Set または Delete です。Set を使用すると、HTTP リクエストヘッダーとレスポンスヘッダーを設定できます。Delete を使用すると、HTTP リクエストヘッダーとレスポンスヘッダーを削除できます。

29.1.13. .spec.httpHeaders.actions.response[].action.set

説明
RouteSetHTTPHeader は、HTTP ヘッダーに設定する必要がある値を指定します。
object
必須
  • value
Expand
プロパティー説明

value

string

value は、ヘッダー値を指定します。動的な値を追加できます。値は、http://cbonte.github.io/haproxy-dconv/2.6/configuration.html#8.2.6 で定義されている HAProxy 形式の文字列として解釈され、HAProxy の %[] 構文を使用できます。または、https://datatracker.ietf.org/doc/html/rfc7230#section-3.2 で定義されている有効な HTTP ヘッダー値である必要があります。このフィールドの値は、16384 文字以内の長さにする必要があります。動的な値を補間した に追加されたすべてのヘッダーの合計サイズが、IngressController の spec.tuningOptions.headerBufferMaxRewriteBytes の値を超えてはならないことに注意してください。

29.1.14. .spec.port

説明
RoutePort は、ルーターからサービスエンドポイントのエンドポイントへのポートマッピングを定義します。
object
必須
  • targetPort
Expand
プロパティー説明

targetPort

IntOrString

このルートが指すサービスによって選択された Pod のターゲットポート。これが文字列の場合は、ターゲットエンドポイントのポートリストで名前付きポートとして検索されます。必須

29.1.15. .spec.tls

説明
TLSConfig は、ルートを保護し、終了を提供するために使用される設定を定義します。
object
必須
  • termination
Expand
プロパティー説明

caCertificate

string

caCertificate は、証明書機関の証明書の内容を提供します

certificate

string

certificate は証明書の内容を提供します。これは、証明書チェーンではなく、単一のサービス証明書である必要があります。CA 証明書を含めないでください。

destinationCACertificate

string

destinationCACertificate は、最終的な宛先の CA 証明書の内容を提供します。reencrypt の停止を使用する場合は、ルーターがセキュアな接続のヘルスチェックに使用するためにこのファイルを提供する必要があります。このフィールドが指定されていない場合、ルーターは独自の宛先 CA を提供し、短いサービス名 (service.namespace.svc) を使用してホスト名の検証を実行する可能性があります。これにより、インフラストラクチャーが生成した証明書を自動的に検証できます。

externalCertificate

object

LocalObjectReference には、同じ namespace 内で参照オブジェクトを見つけるのに十分な情報が含まれます。

insecureEdgeTerminationPolicy

string

insecureEdgeTerminationPolicy は、ルートへの安全でない接続に必要な動作を示します。各ルーターは公開するポートを独自に決定することがありますが、通常はポート 80 になります。

ルートで insecureEdgeTerminationPolicy が指定されていない場合、デフォルトの動作は "None" になります。

* Allow - トラフィックはセキュアではないポートでサーバーに送信されます (edge/reencrypt terminations のみ)。

* None - トラフィックはセキュアではないポートに移動できません (デフォルト)。

*Redirect - クライアントはセキュアなポートにリダイレクトされます。

key

string

key はキーファイルの内容を提供します。

termination

string

termination はターミネーションタイプを示します。

* edge -TLS Termination はルーターによって行われ、http はバックエンドとの通信に使用されます (デフォルト)。* passthrough - トラフィックはルーターが TLS Termination を提供せずに宛先に直接送信されます。* reencrypt -TLS Termination はルーターとによって行われ、https はバックエンドとの通信に使用されます。

注記: passthrough termination は httpHeader アクションと互換性がありません

29.1.16. .spec.tls.externalCertificate

説明
LocalObjectReference には、同じ namespace 内で参照オブジェクトを見つけるのに十分な情報が含まれます。
object
Expand
プロパティー説明

name

string

参照先の名前。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

29.1.17. .spec.to

説明
RouteTargetReference は、エンドポイントに解決されるターゲットを指定します。kind は 'Service' のみ使用できます。'weight' フィールドを使用して、1 つを他よりも強調します。
object
必須
  • kind
  • name
Expand
プロパティー説明

kind

string

ルートが参照しているターゲットの kind。現在、'Service' のみが許可されています。

name

string

参照されているサービス/ターゲットの名前。例: サービスの名前

weight

integer

0〜256 の整数としての重み (デフォルトは 100)。これは、他のターゲット参照オブジェクトに対するターゲットの相対的な重みを指定します。0 は、このバックエンドへの要求を抑制します。

29.1.18. .status

説明
RouteStatus は、どのルーターがルートを確認するかなど、ルートのステータスの関連情報を提供します。
object
Expand
プロパティー説明

ingress

array

ingress は、ルートが公開する可能性のある場所を表します。Ingress ポイントのリストには、Host または RouterName の値が重複して含まれる可能性があります。Ready になると、ルートはライブと見なされます。

ingress[]

object

RouteIngress は、ルートが公開されている場所に関する情報を保持します。

29.1.19. .status.ingress

説明
ingress は、ルートが公開する可能性のある場所を表します。Ingress ポイントのリストには、Host または RouterName の値が重複して含まれる可能性があります。Ready になると、ルートはライブと見なされます。
array

29.1.20. .status.ingress[]

説明
RouteIngress は、ルートが公開されている場所に関する情報を保持します。
object
Expand
プロパティー説明

conditions

array

Conditions はルートの状態であり、空の場合があります。

conditions[]

object

RouteIngressCondition には、特定のルーターにおけるこのルートの現況に関する情報が含まれます。

host

string

Host は、ルートが公開されるホスト文字列です。この値は必須です。

routerCanonicalHostname

string

CanonicalHostname は、このルートに要求されたホストの CNAME として使用できるルーターの外部ホスト名です。この値はオプションであり、すべての場合に設定できるとは限りません。

routerName

string

名前は、ルーターが自身を識別するために選択した名前です。この値は必須です。

wildcardPolicy

string

Wildcard policy は、このルートが公開されている場所で許可されたワイルドカードポリシーです。

29.1.21. .status.ingress[].conditions

説明
Conditions はルートの状態であり、空の場合があります。
array

29.1.22. .status.ingress[].conditions[]

説明
RouteIngressCondition には、特定のルーターにおけるこのルートの現況に関する情報が含まれます。
object
必須
  • type
  • status
Expand
プロパティー説明

lastTransitionTime

Time

この条件が最後に遷移した RFC3339 の日付と時刻

message

string

最後の遷移に関する詳細を示す人間が読めるメッセージ。

reason

string

(簡単な) 状態の最後の遷移の理由であり、通常は機械と人間が読み取れる定数です。

status

string

ステータスは、状態のステータスです。True、False、Unknown の場合があります。

type

string

タイプは条件のタイプです。現在は Admitted または UnservableInFutureVersions のみです。

29.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/route.openshift.io/v1/routes

    • GET: kind が Route のオブジェクトを一覧表示または監視します。
  • /apis/route.openshift.io/v1/watch/routes

    • GET: ルートのリストへの個々の変更を監視します。非推奨です。代わりに、リスト操作で 'watch' パラメーターを使用してください。
  • /apis/route.openshift.io/v1/namespaces/{namespace}/routes

    • DELETE: ルートのコレクションを削除します。
    • GET: kind が Route のオブジェクトを一覧表示または監視します。
    • POST: ルートを作成します。
  • /apis/route.openshift.io/v1/watch/namespaces/{namespace}/routes

    • GET: ルートのリストへの個々の変更を監視します。非推奨です。代わりに、リスト操作で 'watch' パラメーターを使用してください。
  • /apis/route.openshift.io/v1/namespaces/{namespace}/routes/{name}

    • DELETE: ルートを削除します。
    • GET: 指定されたルートを読み取ります。
    • PATCH: 指定されたルートを部分的に更新します。
    • PUT: 指定されたルートを置き換えます。
  • /apis/route.openshift.io/v1/watch/namespaces/{namespace}/routes/{name}

    • GET: kind が Route のオブジェクトに対する変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用し、'fieldSelector' パラメーターで 1 つの項目にフィルタリングします。
  • /apis/route.openshift.io/v1/namespaces/{namespace}/routes/{name}/status

    • GET: 指定されたルートのステータスを読み取ります。
    • PATCH: 指定されたルートのステータスを部分的に更新します。
    • PUT: 指定されたルートのステータスを置き換えます。

29.2.1. /apis/route.openshift.io/v1/routes

HTTP メソッド
GET
説明
kind が Route のオブジェクトを一覧表示して監視します。
Expand
表29.1 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

RouteList スキーマ

401 - Unauthorized

空白

29.2.2. /apis/route.openshift.io/v1/watch/routes

HTTP メソッド
GET
説明
ルートのリストへの個々の変更を監視します。非推奨です。代わりに、リスト操作で 'watch' パラメーターを使用してください。
Expand
表29.2 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

WatchEvent スキーマ

401 - Unauthorized

空白

29.2.3. /apis/route.openshift.io/v1/namespaces/{namespace}/routes

HTTP メソッド
DELETE
説明
ルートのコレクションを削除します。
Expand
表29.3 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表29.4 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status_v7 スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
kind が Route のオブジェクトを一覧表示して監視します。
Expand
表29.5 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

RouteList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
ルートの作成
Expand
表29.6 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表29.7 本文パラメーター
パラメーター説明

body

Route スキーマ

 
Expand
表29.8 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Route スキーマ

201 - Created

Route スキーマ

202 - Accepted

Route スキーマ

401 - Unauthorized

空白

29.2.4. /apis/route.openshift.io/v1/watch/namespaces/{namespace}/routes

HTTP メソッド
GET
説明
ルートのリストへの個々の変更を監視します。非推奨です。代わりに、リスト操作で 'watch' パラメーターを使用してください。
Expand
表29.9 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

WatchEvent スキーマ

401 - Unauthorized

空白

29.2.5. /apis/route.openshift.io/v1/namespaces/{namespace}/routes/{name}

Expand
表29.10 グローバルパスパラメーター
パラメーター説明

name

string

ルートの名前

HTTP メソッド
DELETE
説明
ルーターを削除します。
Expand
表29.11 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表29.12 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status_v7 スキーマ

202 - Accepted

Status_v7 スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定されたルートを読み取ります。
Expand
表29.13 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

Route スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定されたルートを部分的に更新します。
Expand
表29.14 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表29.15 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Route スキーマ

201 - Created

Route スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定されたルートを置き換えます。
Expand
表29.16 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表29.17 本文パラメーター
パラメーター説明

body

Route スキーマ

 
Expand
表29.18 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Route スキーマ

201 - Created

Route スキーマ

401 - Unauthorized

空白

29.2.6. /apis/route.openshift.io/v1/watch/namespaces/{namespace}/routes/{name}

Expand
表29.19 グローバルパスパラメーター
パラメーター説明

name

string

ルートの名前

HTTP メソッド
GET
説明
Kind が Route のオブジェクトへの変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用し、'fieldSelector' パラメーターで 1 つの項目にフィルタリングします。
Expand
表29.20 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

WatchEvent スキーマ

401 - Unauthorized

空白

29.2.7. /apis/route.openshift.io/v1/namespaces/{namespace}/routes/{name}/status

Expand
表29.21 グローバルパスパラメーター
パラメーター説明

name

string

ルートの名前

HTTP メソッド
GET
説明
指定されたルートのステータスを読み取ります。
Expand
表29.22 HTTP 応答
HTTP コードレスポンスのボディー

200 - OK

Route スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定されたルートのステータスを部分的に更新します。
Expand
表29.23 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表29.24 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Route スキーマ

201 - Created

Route スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定されたルートのステータスを置き換えます。
Expand
表29.25 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表29.26 本文パラメーター
パラメーター説明

body

Route スキーマ

 
Expand
表29.27 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Route スキーマ

201 - Created

Route スキーマ

401 - Unauthorized

空白

第30章 Service [v1]

説明
サービスは、プロキシーがリッスンするローカルポート (たとえば 3306) と、プロキシーを介して送信された要求に応答する Pod を決定するセレクターで構成されるソフトウェアサービス (たとえば、mysql) の名前付き抽象化です。
object

30.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

ServiceSpec は、ユーザーがサービスで作成する属性を記述します。

status

object

ServiceStatus は、サービスの現在のステータスを表します。

30.1.1. .spec

説明
ServiceSpec は、ユーザーがサービスで作成する属性を記述します。
object
Expand
プロパティー説明

allocateLoadBalancerNodePorts

boolean

allocateLoadBalancerNodePorts は、NodePorts がタイプ LoadBalancer のサービスに自動的に割り当てられるかどうかを定義します。デフォルトは "true" です。クラスターロードバランサーが NodePorts に依存していない場合は、"false" に設定できます。呼び出し元が (値を指定して) 特定の NodePort を要求した場合、このフィールドに関係なく、それらの要求は尊重されます。このフィールドは、タイプ LoadBalancer のサービスに対してのみ設定でき、タイプが他のタイプに変更された場合にクリアされます。

clusterIP

string

clusterIP はサービスの IP アドレスであり、通常はランダムに割り当てられます。アドレスが手動で指定され、範囲内にあり (システム設定に従って)、使用されていない場合、アドレスはサービスに割り当てられます。そうしないと、サービスの作成が失敗します。タイプフィールドも ExternalName に変更されている場合 (このフィールドは空白である必要があります)、またはタイプフィールドが ExternalName から変更されている場合 (この場合、このフィールドはオプションで指定できます) を除き、更新によってこのフィールドを変更することはできません。)。有効な値は、"None"、空の文字列 ("")、または有効な IP アドレスです。これを "None" に設定すると、"headless service" (仮想 IP なし) になります。これは、直接エンドポイント接続が優先され、プロキシーが不要な場合に役立ちます。タイプ ClusterIP、NodePort、および LoadBalancer にのみ適用されます。タイプ ExternalName のサービスを作成するときにこのフィールドを指定すると、作成は失敗します。このフィールドは、サービスを ExternalName タイプに更新するときに消去されます。詳細: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

clusterIPs

array (string)

ClusterIPs は、このサービスに割り当てられた IP アドレスのリストであり、通常はランダムに割り当てられます。アドレスが手動で指定され、範囲内にあり (システム設定に従って)、使用されていない場合、アドレスはサービスに割り当てられます。そうしないと、サービスの作成が失敗します。タイプフィールドも ExternalName に変更されている場合 (このフィールドは空である必要があります)、またはタイプフィールドが ExternalName から変更されている場合 (この場合、上記のように、このフィールドはオプションで指定できます) でない限り、このフィールドは更新によって変更できません。)。有効な値は、"None"、空の文字列 ("")、または有効な IP アドレスです。これを "None" に設定すると、"headless service" (仮想 IP なし) になります。これは、直接エンドポイント接続が優先され、プロキシーが不要な場合に役立ちます。タイプ ClusterIP、NodePort、および LoadBalancer にのみ適用されます。タイプ ExternalName のサービスを作成するときにこのフィールドを指定すると、作成は失敗します。このフィールドは、サービスを ExternalName タイプに更新するときに消去されます。このフィールドが指定されていない場合、clusterIP フィールドから初期化されます。このフィールドを指定する場合、クライアントは clusterIPs[0] と clusterIP の値が同じであることを確認する必要があります。

このフィールドには、最大 2 つのエントリー (デュアルスタック IP、順序を問わず) を保持できます。これらの IP は、ipFamilies フィールドの値に対応している必要があります。clusterIP と ipFamilies はどちらも、ipFamilyPolicy フィールドによって管理されます。詳細: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

externalIPs

array (string)

externalIPs は、クラスター内のノードがこのサービスのトラフィックも受け入れる IP アドレスのリストです。これらの IP は Kubernetes によって管理されていません。ユーザーは、トラフィックがこの IP を持つノードに確実に到着するようにする責任があります。一般的な例は、Kubernetes システムの一部ではない外部ロードバランサーです。

externalName

string

externalName は、検出メカニズムがこのサービスのエイリアスとして返す外部参照です (DNS CNAME レコードなど)。プロキシーは含まれません。小文字の RFC-1123 ホスト名 (https://tools.ietf.org/html/rfc1123) である必要があり、タイプ は "ExternalName" である必要があります。

externalTrafficPolicy

string

externalTrafficPolicy は、ノードがサービスの "外部に面した" アドレス (NodePort、ExternalIP、および LoadBalancer IP) の 1 つで受信するサービストラフィックを分散する方法を記述します。"Local" に設定すると、プロキシーは、外部ロードバランサーがノード間のサービストラフィックのバランスを取ることを想定した方法でサービスを設定します。そのため、各ノードは、クライアントのソース IP をマスカレードすることなく、サービスの node-local エンドポイントにのみトラフィックを配信します。(エンドポイントのないノードに誤って送信されたトラフィックはドロップされます。)デフォルト値の "Cluster" では、すべてのエンドポイントに均等にルーティングするという標準動作が使用されます (トポロジーやその他の機能によって変更される可能性があります)。クラスター内から External IP または LoadBalancer IP に送信されるトラフィックは常に "クラスター" セマンティクスを取得しますが、クラスター内から NodePort に送信するクライアントは、ノードの選択時にトラフィックポリシーを考慮する必要がある場合があることに注意してください。

使用可能な列挙値: - "Cluster" は、トラフィックをすべてのエンドポイントにルーティングします。- "Local" は、トラフィックを受信したノードと同じノード上のエンドポイントにのみルーティングし、トラフィックの送信元 IP を保持します (ローカルエンドポイントがない場合はトラフィックをドロップします)。

healthCheckNodePort

integer

healthCheckNodePort は、サービスのヘルスチェック nodePort を指定します。これは、type が LoadBalancer に設定され、externalTrafficPolicy が Local に設定されている場合にのみ適用されます。値が指定され、範囲内にあり、使用されていない場合、その値が使用されます。指定しない場合、値が自動的に割り当てられます。外部システム (ロードバランサーなど) は、このポートを使用して、特定のノードがこのサービスのエンドポイントを保持しているかどうかを判断できます。このフィールドを必要としないサービスを作成するときにこのフィールドを指定すると、作成は失敗します。このフィールドは、サービスを更新して不要になると消去されます (タイプの変更など)。このフィールドは、一度設定すると更新できません。

internalTrafficPolicy

string

InternalTrafficPolicy は、ノードが ClusterIP 上で受信するサービストラフィックを分散する方法を記述します。"Local" に設定すると、プロキシーは、Pod と同じノード上のサービスのエンドポイントのみと対話すると想定し、ローカルエンドポイントがない場合はトラフィックをドロップします。デフォルト値の "Cluster" では、すべてのエンドポイントに均等にルーティングするという標準動作が使用されます (トポロジーやその他の機能によって変更される可能性があります)。

使用可能な列挙値: - "Cluster" は、トラフィックをすべてのエンドポイントにルーティングします。- "Local" は、クライアント Pod と同じノード上のエンドポイントにのみトラフィックをルーティングします (ローカルエンドポイントがない場合はトラフィックをドロップします)。

ipFamilies

array (string)

IPFamilies は、このサービスに割り当てられた IP ファミリー (IPv4、IPv6 など) のリストです。このフィールドは通常、クラスター設定と ipFamilyPolicy フィールドに基づいて自動的に割り当てられます。このフィールドを手動で指定した場合、要求されたファミリーはクラスターで使用可能であり、ipFamilyPolicy で許可されている場合は、それが使用されます。そうしないと、サービスの作成が失敗します。このフィールドは条件付きで変更可能です。セカンダリー IP ファミリーを追加または削除することはできますが、サービスのプライマリー IP ファミリーを変更することはできません。有効な値は "IPv4" および "IPv6" です。このフィールドは、タイプ ClusterIP、NodePort、および LoadBalancer のサービスにのみ適用され、"ヘッドレス" サービスに適用されます。このフィールドは、サービスを ExternalName タイプに更新するときに消去されます。

このフィールドには、最大 2 つのエントリー (デュアルスタックファミリー、いずれかの順序) を含めることができます。これらのファミリーは、指定されている場合、clusterIPs フィールドの値に対応している必要があります。clusterIP と ipFamilies はどちらも、ipFamilyPolicy フィールドによって管理されます。

ipFamilyPolicy

string

IPFamilyPolicy は、このサービスが必要とする、または要求するデュアルスタック性を表します。値が指定されていない場合、このフィールドは SingleStack に設定されます。サービスには、"SingleStack" (単一の IP ファミリー)、"PreferDualStack" (デュアルスタック設定クラスター上の 2 つの IP ファミリー、またはシングルスタッククラスター上の単一の IP ファミリー)、または "RequireDualStack" (デュアルスタック上の 2 つの IP ファミリー) があります。設定されたクラスター、それ以外の場合は失敗します)。ipFamilies フィールドと clusterIPs フィールドは、このフィールドの値によって異なります。このフィールドは、サービスを ExternalName タイプに更新するときに消去されます。

使用可能な列挙値: - "PreferDualStack" は、クラスターがデュアルスタック用に設定されている場合に、このサービスがデュアルスタックが優先されることを示します。クラスターがデュアルスタック用に設定されていない場合、サービスには単一の IPFamily が割り当てられます。IPFamily が service.spec.ipFamilies で設定されていない場合、サービスにはデフォルトの IPFamily がクラスターに割り当てられます。- "RequireDualStack" は、このサービスにデュアルスタックが必要であることを示します。単一スタッククラスターで IPFamilyPolicyRequireDualStack を使用すると、検証エラーが発生します。このサービスに割り当てられた IPFamilies (およびその順序) は、service.spec.ipFamilies に基づいています。service.spec.ipFamilies が指定されていない場合は、クラスター上での設定方法に従って割り当てられます。service.spec.ipFamilies のエントリーが 1 つだけの場合、代替 IPFamily が apiserver によって追加されます。- "SingleStack" は、このサービスには IPFamily が 1 つ必要であることを示します。割り当てられる IPFamily は、クラスターで使用されるデフォルトの IPFamily、または service.spec.ipFamilies フィールドで識別される IPFamily に基づきます。

loadBalancerClass

string

loadBalancerClass は、このサービスが属するロードバランサー実装のクラスです。指定する場合、このフィールドの値は、"internal-vip" や "example.com/internal-vip" などのオプションの接頭辞を付けたラベルスタイルの識別子である必要があります。接頭辞のない名前はエンドユーザー用に予約されています。このフィールドは、サービスタイプが 'LoadBalancer' の場合にのみ設定できます。設定されていない場合、デフォルトのロードバランサーの実装が使用されます。現在、これは通常、クラウドプロバイダーの統合を通じて行われますが、デフォルトの実装に適用する必要があります。設定されている場合、ロードバランサーの実装は一致するクラスのサービスを監視していると見なされます。デフォルトのロードバランサーの実装 (クラウドプロバイダーなど) は、このフィールドを設定するサービスを無視する必要があります。このフィールドは、サービスを作成または更新して 'LoadBalancer' と入力する場合にのみ設定できます。一度設定すると変更できません。このフィールドは、サービスが 'LoadBalancer' 以外のタイプに更新されると消去されます。

loadBalancerIP

string

サービスタイプ: LoadBalancer にのみ適用されます。この機能は、ロードバランサーの作成時に、基礎となるクラウドプロバイダーが loadBalancerIP の指定をサポートするかどうかによって異なります。クラウドプロバイダーがこの機能をサポートしていない場合、このフィールドは無視されます。非推奨: このフィールドは仕様が不十分であり、その意味は実装により異なります。これを使用した場合、移植性がなく、デュアルスタックをサポートしない可能性があります。利用可能な場合は、実装固有のアノテーションを使用することが推奨されます。

loadBalancerSourceRanges

array (string)

プラットフォームで指定およびサポートされている場合、これによりクラウドプロバイダーのロードバランサーを通過するトラフィックが制限され、指定されたクライアント IP に制限されます。クラウドプロバイダーがこの機能をサポートしていない場合、このフィールドは無視されます。詳細: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/

ports

array

このサービスによって公開されるポートのリスト。詳細: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

ports[]

object

ServicePort には、サービスのポートに関する情報が含まれています。

publishNotReadyAddresses

boolean

publishNotReadyAddresses は、このサービスのエンドポイントを処理するエージェントは、準備完了/準備完了の兆候を無視する必要があることを示します。このフィールドを設定する主な使用例は、StatefulSet のヘッドレスサービスがピア検出の目的で Pod の SRV DNS レコードを伝播することです。サービスのエンドポイントと EndpointSlice リソースを生成する Kubernetes コントローラーは、Pod 自体が準備完了でなくても、すべてのエンドポイントが "準備完了" と見なされることを意味すると解釈します。Endpoints または EndpointSlice リソースを介して Kubernetes で生成されたエンドポイントのみを消費するエージェントは、この動作を安全に想定できます。

selector

object (string)

このセレクターと一致するラベルキーと値を使用して、サービストラフィックを Pod にルーティングします。空または存在しない場合、サービスにはエンドポイントを管理する外部プロセスがあると見なされ、Kubernetes はこれを変更しません。タイプ ClusterIP、NodePort、および LoadBalancer にのみ適用されます。タイプが ExternalName の場合は無視されます。詳細: https://kubernetes.io/docs/concepts/services-networking/service/

sessionAffinity

string

"ClientIP" と "None" をサポートします。セッションアフィニティーを維持するために使用されます。クライアント IP ベースのセッションアフィニティーを有効にします。ClientIP または None である必要があります。デフォルトは None です。詳細: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

使用可能な列挙値: - "ClientIP" は、クライアント IP ベースです。- "None" - セッションアフィニティーなしです。

sessionAffinityConfig

object

SessionAffinityConfig は、セッションアフィニティーの設定を表します。

trafficDistribution

string

TrafficDistribution を使用して、トラフィックをサービスエンドポイントに分散する方法の設定を表現できます。実装ではこのフィールドをヒントとして使用できますが、必ず適用されるわけではありません。フィールドが設定されていない場合、実装ではデフォルトのルーティングストラテジーが適用されます。"PreferClose" に設定されている場合、実装ではトポロジー的に近いエンドポイント (同じゾーンなど) が優先される必要があります。これはベータフィールドであり、ServiceTrafficDistribution 機能を有効にする必要があります。

type

string

タイプは、サービスの公開方法を決定します。デフォルトは ClusterIP です。有効なオプションは、ExternalName、ClusterIP、NodePort、および LoadBalancer です。"ClusterIP" は、負荷分散のためにクラスター内部の IP アドレスをエンドポイントに割り当てます。エンドポイントは、セレクターによって決定されます。指定されていない場合は、Endpoints オブジェクトまたは EndpointSlice オブジェクトを手動で作成します。clusterIP が "None" の場合、仮想 IP は割り当てられず、エンドポイントは仮想 IP ではなくエンドポイントのセットとして公開されます。"NodePort" は ClusterIP に基づいて構築され、clusterIP と同じエンドポイントにルーティングするすべてのノードにポートを割り当てます。"LoadBalancer" は NodePort 上に構築され、clusterIP と同じエンドポイントにルーティングする外部ロードバランサー (現在のクラウドでサポートされている場合) を作成します。"ExternalName" は、このサービスを指定された externalName にエイリアスします。他のいくつかのフィールドは、ExternalName サービスには適用されません。詳細: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types

使用可能な列挙値: - "ClusterIP" は、クラスター IP を介してクラスター内でのみサービスにアクセスできることを意味します。- "ExternalName" とは、サービスが、kubedns または同等の機能が CNAME レコードとして返す外部名への参照のみで構成されており、関連する Pod の公開やプロキシーは行われないことを意味します。- "LoadBalancer" は、'NodePort' タイプに加えて、外部ロードバランサー (クラウドプロバイダーがサポートしている場合) を介してサービスが公開されることを意味します。- "NodePort" は、'ClusterIP' タイプに加えて、サービスが各ノードの 1 つのポートで公開されることを意味します。

30.1.2. .spec.ports

説明
このサービスによって公開されるポートのリスト。詳細: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
array

30.1.3. .spec.ports[]

説明
ServicePort には、サービスのポートに関する情報が含まれています。
object
必須
  • port
Expand
プロパティー説明

appProtocol

string

このポートのアプリケーションプロトコル。これは、実装が理解できるプロトコルの動作をさらに多く提供できるようにヒントとして使用されます。このフィールドは、標準の Kubernetes ラベル構文に従います。有効な値は以下のいずれかになります。

* 接頭辞のないプロトコル名 - IANA 標準サービス名用に予約されています (RFC-6335 および https://www.iana.org/assignments/service-names に準拠)。

* Kubernetes によって定義された接頭辞の名前: * 'kubernetes.io/h2c' - クリアテキスト経由の HTTP/2 事前知識 (https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior- を参照)。* 'kubernetes.io/ws' - クリアテキスト経由の WebSocket (https://www.rfc-editor.org/rfc/rfc6455 を参照)。* 'kubernetes.io/wss' - TLS 経由の WebSocket (https://www.rfc-editor.org/rfc/rfc6455 を参照)。

* 他のプロトコルは、mycompany.com/my-custom-protocol など、実装定義の接頭辞名を使用する必要があります。

name

string

サービス内のこのポートの名前。これは DNS_LABEL である必要があります。ServiceSpec 内のすべてのポートには、一意の名前を付ける必要があります。サービスのエンドポイントを検討する場合、これは EndpointPort の 'name' フィールドと一致する必要があります。このサービスで ServicePort が 1 つだけ定義されている場合はオプション。

nodePort

integer

タイプが NodePort または LoadBalancer の場合に、このサービスが公開される各ノードのポート。通常、システムによって割り当てられます。値が指定され、範囲内にあり、使用されていない場合、その値が使用されます。指定されていない場合、操作は失敗します。指定されていない場合、このサービスでポートが必要な場合はポートが割り当てられます。このフィールドを必要としないサービスを作成するときにこのフィールドを指定すると、作成は失敗します。このフィールドは、サービスを更新して不要になると消去されます (たとえば、タイプを NodePort から ClusterIP に変更する場合)。詳細: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport

port

integer

このサービスによって公開されるポート。

protocol

string

このポートの IP プロトコル。"TCP"、"UDP"、および "SCTP" をサポートします。デフォルトは TCP です。

使用可能な列挙値: - "SCTP" は SCTP プロトコル、"TCP" は TCP プロトコル、"UDP" は UDP プロトコルです。

targetPort

IntOrString

サービスの対象となる Pod でアクセスするポートの番号または名前。番号は 1〜65535 の範囲である必要があります。名前は IANA_SVC_NAME である必要があります。これが文字列の場合、ターゲット Pod のコンテナーポートで名前付きポートとして検索されます。これが指定されていない場合、'port' フィールドの値が使用されます (ID マップ)。このフィールドは、clusterIP = None のサービスでは無視されるため、省略するか、'port' フィールドと同じに設定する必要があります。詳細: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service

30.1.4. .spec.sessionAffinityConfig

説明
SessionAffinityConfig は、セッションアフィニティーの設定を表します。
object
Expand
プロパティー説明

clientIP

object

ClientIPConfig は、クライアント IP ベースのセッションアフィニティーの設定を表します。

30.1.5. .spec.sessionAffinityConfig.clientIP

説明
ClientIPConfig は、クライアント IP ベースのセッションアフィニティーの設定を表します。
object
Expand
プロパティー説明

timeoutSeconds

integer

timeoutSeconds は、ClientIP タイプのセッションスティッキー時間の秒数を指定します。ServiceAffinity == "ClientIP" の場合、値は >0 && ⇐86400(for 1 day) である必要があります。デフォルト値は 10800(3 時間) です。

30.1.6. .status

説明
ServiceStatus は、サービスの現在のステータスを表します。
object
Expand
プロパティー説明

conditions

array (Condition)

現在のサービス状態

loadBalancer

object

LoadBalancerStatus はロードバランサーのステータスを表します。

30.1.7. .status.loadBalancer

説明
LoadBalancerStatus はロードバランサーのステータスを表します。
object
Expand
プロパティー説明

ingress

array

Ingress はロードバランサーの Ingress ポイントを含むリストです。サービス向けのトラフィックは、これらの Ingress ポイントに送信する必要があります。

ingress[]

object

LoadBalancerIngress は、ロードバランサーの入力ポイントのステータスを表します。サービスを対象としたトラフィックは、入力ポイントに送信する必要があります。

30.1.8. .status.loadBalancer.ingress

説明
Ingress はロードバランサーの Ingress ポイントを含むリストです。サービス向けのトラフィックは、これらの Ingress ポイントに送信する必要があります。
array

30.1.9. .status.loadBalancer.ingress[]

説明
LoadBalancerIngress は、ロードバランサーの入力ポイントのステータスを表します。サービスを対象としたトラフィックは、入力ポイントに送信する必要があります。
object
Expand
プロパティー説明

hostname

string

ホスト名は、DNS ベースのロードバランサー入力ポイント (通常は AWS ロードバランサー) に設定されます

ip

string

IP は、IP ベースのロードバランサー入力ポイント (通常は GCE または OpenStack ロードバランサー) に設定されます

ipMode

string

IPMode はロードバランサー IP の動作を指定します。これは、ip フィールドが指定されている場合にのみ指定できます。これを "VIP" に設定すると、トラフィックは宛先がロードバランサーの IP とポートに設定された状態でノードに送信されます。これを "Proxy" に設定すると、トラフィックは宛先がノードの IP とノードポート、または Pod の IP とポートに設定された状態でノードまたは Pod に送信されます。サービス実装では、この情報を使用してトラフィックルーティングを調整する場合があります。

ports

array

ポートは、サービスポートのレコードのリストです。使用する場合、サービスで定義されているすべてのポートにエントリーが必要です。

ports[]

object

PortStatus は、サービスポートのエラー状態を表します。

30.1.10. .status.loadBalancer.ingress[].ports

説明
ポートは、サービスポートのレコードのリストです。使用する場合、サービスで定義されているすべてのポートにエントリーが必要です。
array

30.1.11. .status.loadBalancer.ingress[].ports[]

説明
PortStatus は、サービスポートのエラー状態を表します。
object
必須
  • port
  • protocol
Expand
プロパティー説明

error

string

エラーは、サービスポートの問題を記録することです。エラーの形式は、次のルールに準拠する必要があります。- 組み込みのエラー値をこのファイルに指定し、キャメルケース名を使用する必要があります - クラウドプロバイダー固有のエラー値には、次の名前を付ける必要があります foo.example.com/CamelCase の形式に準拠します。

port

integer

ポートは、ステータスがここに記録されるサービスポートのポート番号です。

protocol

string

プロトコルは、ステータスがここに記録されるサービスポートのプロトコルです。サポートされる値は、"TCP"、"UDP"、"SCTP" です。

使用可能な列挙値: - "SCTP" は SCTP プロトコル、"TCP" は TCP プロトコル、"UDP" は UDP プロトコルです。

30.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /api/v1/services

    • GET: サービスの種類のオブジェクトをリスト表示または監視します。
  • /api/v1/watch/services

    • GET: サービスのリストに対する個々の変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用してください。
  • /api/v1/namespaces/{namespace}/services

    • DELETE: サービスのコレクションを削除します。
    • GET: サービスの種類のオブジェクトをリスト表示または監視します。
    • POST: サービスを作成します。
  • /api/v1/watch/namespaces/{namespace}/services

    • GET: サービスのリストに対する個々の変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用してください。
  • /api/v1/namespaces/{namespace}/services/{name}

    • 削除: サービスを削除します
    • GET: 指定されたサービスを読み取ります
    • PATCH: 指定されたサービスを部分的に更新します
    • PUT: 指定されたサービスを置き換えます
  • /api/v1/watch/namespaces/{namespace}/services/{name}

    • GET: サービスの種類のオブジェクトへの変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用し、'fieldSelector' パラメーターで単一の項目にフィルター処理します。
  • /api/v1/namespaces/{namespace}/services/{name}/status

    • GET: 指定されたサービスのステータスを読み取ります
    • PATCH: 指定されたサービスのステータスを部分的に更新します
    • PUT: 指定されたサービスのステータスを置き換えます

30.2.1. /api/v1/services

HTTP メソッド
GET
説明
種類のオブジェクトをリスト表示または監視するサービス
Expand
表30.1 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

ServiceList スキーマ

401 - Unauthorized

空白

30.2.2. /api/v1/watch/services

HTTP メソッド
GET
説明
サービスのリストに対する個々の変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用してください。
Expand
表30.2 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

WatchEvent スキーマ

401 - Unauthorized

空白

30.2.3. /api/v1/namespaces/{namespace}/services

HTTP メソッド
DELETE
説明
Service のコレクションを削除します。
Expand
表30.3 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表30.4 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
種類のオブジェクトをリスト表示または監視するサービス
Expand
表30.5 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

ServiceList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
サービスを作成します。
Expand
表30.6 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表30.7 本文パラメーター
パラメーター説明

body

Service スキーマ

 
Expand
表30.8 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Service スキーマ

201 - Created

Service スキーマ

202 - Accepted

Service スキーマ

401 - Unauthorized

空白

30.2.4. /api/v1/watch/namespaces/{namespace}/services

HTTP メソッド
GET
説明
サービスのリストに対する個々の変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用してください。
Expand
表30.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

WatchEvent スキーマ

401 - Unauthorized

空白

30.2.5. /api/v1/namespaces/{namespace}/services/{name}

Expand
表30.10 グローバルパスパラメーター
パラメーター説明

name

string

サービスの名前

HTTP メソッド
DELETE
説明
サービスを削除する
Expand
表30.11 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表30.12 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Service スキーマ

202 - Accepted

Service スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定されたサービスを読む
Expand
表30.13 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Service スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定されたサービスを部分的に更新します
Expand
表30.14 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表30.15 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Service スキーマ

201 - Created

Service スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定されたサービスを交換してください
Expand
表30.16 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表30.17 本文パラメーター
パラメーター説明

body

Service スキーマ

 
Expand
表30.18 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Service スキーマ

201 - Created

Service スキーマ

401 - Unauthorized

空白

30.2.6. /api/v1/watch/namespaces/{namespace}/services/{name}

Expand
表30.19 グローバルパスパラメーター
パラメーター説明

name

string

サービスの名前

HTTP メソッド
GET
説明
サービスの種類のオブジェクトへの変更を監視します。非推奨: 代わりに、リスト操作で 'watch' パラメーターを使用し、'fieldSelector' パラメーターで単一の項目にフィルター処理します。
Expand
表30.20 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

WatchEvent スキーマ

401 - Unauthorized

空白

30.2.7. /api/v1/namespaces/{namespace}/services/{name}/status

Expand
表30.21 グローバルパスパラメーター
パラメーター説明

name

string

サービスの名前

HTTP メソッド
GET
説明
指定されたサービスのステータスを読み取ります
Expand
表30.22 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Service スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定されたサービスのステータスを部分的に更新します
Expand
表30.23 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表30.24 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Service スキーマ

201 - Created

Service スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定されたサービスのステータスを置き換えます
Expand
表30.25 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表30.26 本文パラメーター
パラメーター説明

body

Service スキーマ

 
Expand
表30.27 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Service スキーマ

201 - Created

Service スキーマ

401 - Unauthorized

空白

第31章 UserDefinedNetwork [k8s.ovn.org/v1]

説明
UserDefinedNetwork は、Namespace のネットワーク要求を記述します。
object
必須
  • spec

31.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

UserDefinedNetworkSpec は、UserDefinedNetworkSpec の望ましい状態を定義します。

status

object

UserDefinedNetworkStatus には、UserDefinedNetwork の観測ステータスが含まれます。

31.1.1. .spec

説明
UserDefinedNetworkSpec は、UserDefinedNetworkSpec の望ましい状態を定義します。
object
必須
  • topology
Expand
プロパティー説明

layer2

object

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

layer3

object

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

topology

string

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

許可される値は、"Layer3"、"Layer2" です。Layer3 トポロジーでは、ノードごとにレイヤー 2 セグメントが作成され、それぞれが異なるサブネットを持ちます。レイヤー 3 ルーティングは、ノードサブネットを相互接続するために使用されます。Layer2 トポロジーでは、すべてのノードで共有される 1 つの論理スイッチが作成されます。

31.1.2. .spec.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 の場合、このフィールドは省略する必要があります。

31.1.3. .spec.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 に設定されています。

31.1.4. .spec.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

 

31.1.5. .spec.layer3.subnets

説明

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

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

array

31.1.6. .spec.layer3.subnets[]

説明
object
必須
  • cidr
Expand
プロパティー説明

cidr

string

CIDR は L3Subnet を指定します。これは、ノードごとに小さなサブネットに分割されます。

hostSubnet

integer

HostSubnet は、各ノードのサブネットサイズを指定します。

設定されていない場合は自動的に割り当てられます。

31.1.7. .status

説明
UserDefinedNetworkStatus には、UserDefinedNetwork の観測ステータスが含まれます。
object
Expand
プロパティー説明

conditions

array

 

conditions[]

object

条件には、この API リソースの現在の状態の詳細が含まれます。

31.1.8. .status.conditions

説明
array

31.1.9. .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 の条件のタイプ。

31.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/k8s.ovn.org/v1/userdefinednetworks

    • GET: kind が UserDefinedNetwork のオブジェクトをリスト表示します
  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/userdefinednetworks

    • DELETE: UserDefinedNetwork のコレクションを削除します
    • GET: kind が UserDefinedNetwork のオブジェクトをリスト表示します
    • POST: UserDefinedNetwork を作成します
  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/userdefinednetworks/{name}

    • DELETE: UserDefinedNetwork を削除します
    • GET: 指定された UserDefinedNetwork を読み取ります
    • PATCH: 指定された UserDefinedNetwork を部分的に更新します
    • PUT: 指定された UserDefinedNetwork を置き換えます
  • /apis/k8s.ovn.org/v1/namespaces/{namespace}/userdefinednetworks/{name}/status

    • GET: 指定された UserDefinedNetwork のステータスを読み取ります
    • PATCH: 指定された UserDefinedNetwork のステータスを部分的に更新します
    • PUT: 指定された UserDefinedNetwork のステータスを置き換えます

31.2.1. /apis/k8s.ovn.org/v1/userdefinednetworks

HTTP メソッド
GET
説明
kind が UserDefinedNetwork のオブジェクトをリスト表示します
Expand
表31.1 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

UserDefinedNetworkList スキーマ

401 - Unauthorized

空白

31.2.2. /apis/k8s.ovn.org/v1/namespaces/{namespace}/userdefinednetworks

HTTP メソッド
DELETE
説明
UserDefinedNetwork のコレクションを削除します
Expand
表31.2 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
kind が UserDefinedNetwork のオブジェクトをリスト表示します
Expand
表31.3 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

UserDefinedNetworkList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
UserDefinedNetwork を作成します
Expand
表31.4 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表31.5 本文パラメーター
パラメーター説明

body

UserDefinedNetwork スキーマ

 
Expand
表31.6 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

UserDefinedNetwork スキーマ

201 - Created

UserDefinedNetwork スキーマ

202 - Accepted

UserDefinedNetwork スキーマ

401 - Unauthorized

空白

31.2.3. /apis/k8s.ovn.org/v1/namespaces/{namespace}/userdefinednetworks/{name}

Expand
表31.7 グローバルパスパラメーター
パラメーター説明

name

string

UserDefinedNetwork の名前

HTTP メソッド
DELETE
説明
UserDefinedNetwork を削除します
Expand
表31.8 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

Expand
表31.9 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

Status スキーマ

202 - Accepted

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された UserDefinedNetwork を読み取ります
Expand
表31.10 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

UserDefinedNetwork スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された UserDefinedNetwork を部分的に更新します
Expand
表31.11 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表31.12 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

UserDefinedNetwork スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された UserDefinedNetwork を置き換えます
Expand
表31.13 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表31.14 本文パラメーター
パラメーター説明

body

UserDefinedNetwork スキーマ

 
Expand
表31.15 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

UserDefinedNetwork スキーマ

201 - Created

UserDefinedNetwork スキーマ

401 - Unauthorized

空白

31.2.4. /apis/k8s.ovn.org/v1/namespaces/{namespace}/userdefinednetworks/{name}/status

Expand
表31.16 グローバルパスパラメーター
パラメーター説明

name

string

UserDefinedNetwork の名前

HTTP メソッド
GET
説明
指定された UserDefinedNetwork のステータスを読み取ります
Expand
表31.17 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

UserDefinedNetwork スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された UserDefinedNetwork のステータスを部分的に更新します
Expand
表31.18 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表31.19 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

UserDefinedNetwork スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された UserDefinedNetwork のステータスを置き換えます
Expand
表31.20 クエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

Expand
表31.21 本文パラメーター
パラメーター説明

body

UserDefinedNetwork スキーマ

 
Expand
表31.22 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

UserDefinedNetwork スキーマ

201 - Created

UserDefinedNetwork スキーマ

401 - Unauthorized

空白

Legal Notice

Copyright © 2025 Red Hat

OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).

Modified versions must remove all Red Hat trademarks.

Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.

Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.

Linux® is the registered trademark of Linus Torvalds in the United States and other countries.

Java® is a registered trademark of Oracle and/or its affiliates.

XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.

MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.

Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.

The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.

All other trademarks are the property of their respective owners.

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

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

会社概要

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

Theme

© 2025 Red Hat