第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}]
   },
]
タイプ
object

10.1. 仕様

プロパティータイプ説明

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 ]

10.1.1. .subsets

説明
すべてのエンドポイントのセットは、すべてのサブセットの和集合です。アドレスは、共有する IP に従ってサブセットに配置されます。複数のポートを持つ単一のアドレス。一部は準備ができており、一部は準備ができていません (異なるコンテナーからのものであるため)。その結果、アドレスは異なるポートの異なるサブセットに表示されます。同じサブセットの Addresses と NotReadyAddresses の両方にアドレスは表示されません。サービスを設定するアドレスとポートのセット。
タイプ
array

10.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}]
}

結果として作成されるエンドポイントは以下のように表示できます。

a: [ 10.10.1.1:8675, 10.10.2.2:8675 ],
b: [ 10.10.1.1:309, 10.10.2.2:309 ]
タイプ
object
プロパティータイプ説明

addresses

array

準備完了としてマークされた関連ポートを提供する IP アドレス。これらのエンドポイントは、ロードバランサーとクライアントが利用するのに安全であると見なす必要があります。

addresses[]

object

EndpointAddress は、単一の IP アドレスを記述するタプルです。

notReadyAddresses

array

関連するポートを提供しているが、開始がまだ完了していないか、最近準備チェックに失敗したか、最近活性チェックに失敗したために現在準備完了としてマークされていない IP アドレス。

notReadyAddresses[]

object

EndpointAddress は、単一の IP アドレスを記述するタプルです。

ポート

array

関連する IP アドレスで使用可能なポート番号。

ports[]

object

EndpointPort は、単一のポートを記述するタプルです。

10.1.3. .subsets[].addresses

説明
準備完了としてマークされた関連ポートを提供する IP アドレス。これらのエンドポイントは、ロードバランサーとクライアントが利用するのに安全であると見なす必要があります。
タイプ
array

10.1.4. .subsets[].addresses[]

説明
EndpointAddress は、単一の IP アドレスを記述するタプルです。
タイプ
object
必須
  • ip
プロパティータイプ説明

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 には参照先のオブジェクトを調査または変更するのに十分な情報が含まれます。

10.1.5. .subsets[].addresses[].targetRef

説明
ObjectReference には参照先のオブジェクトを調査または変更するのに十分な情報が含まれます。
タイプ
object
プロパティータイプ説明

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

10.1.6. .subsets[].notReadyAddresses

説明
関連するポートを提供しているが、開始がまだ完了していないか、最近準備チェックに失敗したか、最近活性チェックに失敗したために現在準備完了としてマークされていない IP アドレス。
タイプ
array

10.1.7. .subsets[].notReadyAddresses[]

説明
EndpointAddress は、単一の IP アドレスを記述するタプルです。
タイプ
object
必須
  • ip
プロパティータイプ説明

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 には参照先のオブジェクトを調査または変更するのに十分な情報が含まれます。

10.1.8. .subsets[].notReadyAddresses[].targetRef

説明
ObjectReference には参照先のオブジェクトを調査または変更するのに十分な情報が含まれます。
タイプ
object
プロパティータイプ説明

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

10.1.9. .subsets[].ports

説明
関連する IP アドレスで使用可能なポート番号。
タイプ
array

10.1.10. .subsets[].ports[]

説明
EndpointPort は、単一のポートを記述するタプルです。
タイプ
object
必須
  • port
プロパティータイプ説明

appProtocol

string

このポートのアプリケーションプロトコル。これは、実装が理解できるプロトコルの動作をさらに多く提供できるようにヒントとして使用されます。このフィールドは、標準の Kubernetes ラベル構文に従います。有効な値は以下のいずれかになります。

* 接頭辞のないプロトコル名 - IANA 標準サービス名用に予約されています (RFC-6335 および https://www.iana.org/assignments/service-names に準拠)。

* Kubernetes で定義された接頭辞名:* 'kubernetes.io/h2c' - https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior- * 'kubernetes.io/ws' - WebSocket over cleartext で説明されているように、 https://www.rfc-editor.org/rfc/rfc6455 * 'kubernetes.io/wss' - WebSocket over TLS で説明されているように、クリアテキストの HTTP/2 の事前知識

* 他のプロトコルは、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 プロトコルです。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

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

会社概要

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

© 2024 Red Hat, Inc.