第12章 EndpointSlice [discovery.k8s.io/v1]


説明
EndpointSlice は、一連のサービスエンドポイントを表します。ほとんどの EndpointSlices は、Service オブジェクトで選択された Pod を表すために EndpointSlice コントローラーによって作成されます。特定のサービスには、エンドポイントの完全なセットを生成するために参加する必要がある複数の EndpointSlice オブジェクトが存在する場合があります。kubernetes.io/service-name ラベルにサービス名が含まれるサービスの namespace で EndpointSlices をリストすることにより、特定のサービスのすべてのスライスを見つけることができます。
object
必須
  • addressType
  • endpoints

12.1. 仕様

Expand
プロパティー説明

addressType

string

addressType は、この EndpointSlice によって伝送されるアドレスのタイプを指定します。このスライスのすべてのアドレスは同じタイプである必要があります。このフィールドは、作成後は不変です。現在、次のアドレスタイプがサポートされています。* IPv4:IPv4 アドレスを表します。* IPv6:IPv6 アドレスを表します。* FQDN: 完全修飾ドメイン名を表します。(非推奨)EndpointSlice コントローラーは生成され、kube-proxy のみが addressType "IPv4" および "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

ポートは、このスライスの各エンドポイントによって公開されるネットワークポートのリストを指定します。各ポートには一意の名前を付ける必要があります。各スライスには、最大 100 個のポートを含めることができます。サービスには常に 1 つ以上のポートがあるため、EndpointSlice コントローラーによって生成された EndpointSlices は常に少なくとも 1 つのポートを持ちます。他の目的で使用される endpointslices には、空のポートリストがある場合があります。

ports[]

object

EndpointPort は、EndpointSlice によって使用されるポートを表します

12.1.1. .endpoints

説明
エンドポイントは、このスライス内の一意のエンドポイントのリストです。各スライスには、最大 1000 のエンドポイントを含めることができます。
array

12.1.2. .endpoints[]

説明
エンドポイントは、サービスを実装する単一の論理的な "バックエンド" を表します。
object
必須
  • addresses
Expand
プロパティー説明

addresses

array (string)

このエンドポイントのアドレス。addressType "IPv4" または "IPv6" の EndpointSlices の場合、値は正規の形式の IP アドレスです。他の addressType 値の構文およびセマンティクスは定義されません。これには、少なくとも 1 つのアドレスが含まれている必要がありますが、100 を超えてはなりません。EndpointSlice コントローラーによって生成された endpoint スライスには、常に 1 つのアドレスがあります。最初を超える追加のアドレスにはセマンティクスが定義されておらず、kube-proxy はこれらを確認しません。

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 値は true として解釈する必要があります。一般に、エンドポイントは提供され、終了していない場合は準備完了としてマークする必要がありますが、関連付けられたサービスが publishNotReadyAddresses フラグを設定した場合など、これは場合によっては上書きできます。

サービング

boolean

serving は、エンドポイントを管理しているシステムに応じて、このエンドポイントがトラフィックを受信できることを示します。Pod でサポートされるエンドポイントの場合、EndpointSlice コントローラーは、Pod の Ready 状態が True の場合に、エンドポイントを機能としてマークします。nil 値は true として解釈する必要があります。

terminating

boolean

終了は、このエンドポイントが終了していることを示します。nil 値は false として解釈する必要があります。

12.1.4. .endpoints[].hints

説明
EndpointHints は、エンドポイントの消費方法を説明するヒントを提供します。
object
Expand
プロパティー説明

forNodes

array

forNodes は、トポロジー対応ルーティングを使用する場合に、このエンドポイントが消費する必要があるノードを示します。最大 8 つのエントリーを含めることができます。これはアルファベット機能であり、PreferSameTrafficDistribution フィーチャーゲートが有効になっている場合にのみ使用されます。

forNodes[]

object

ForNode は、このエンドポイントを消費するノードに関する情報を提供します。

forZones

array

forZones は、トポロジー対応ルーティングを使用する場合に、このエンドポイントが消費する必要があるゾーンを示します。最大 8 つのエントリーを含めることができます。

forZones[]

object

ForZone は、このエンドポイントを消費するゾーンに関する情報を提供します。

12.1.5. .endpoints[].hints.forNodes

説明
forNodes は、トポロジー対応ルーティングを使用する場合に、このエンドポイントが消費する必要があるノードを示します。最大 8 つのエントリーを含めることができます。これはアルファベット機能であり、PreferSameTrafficDistribution フィーチャーゲートが有効になっている場合にのみ使用されます。
array

12.1.6. .endpoints[].hints.forNodes[]

説明
ForNode は、このエンドポイントを消費するノードに関する情報を提供します。
object
必須
  • name
Expand
プロパティー説明

name

string

name はノードの名前を表します。

12.1.7. .endpoints[].hints.forZones

説明
forZones は、トポロジー対応ルーティングを使用する場合に、このエンドポイントが消費する必要があるゾーンを示します。最大 8 つのエントリーを含めることができます。
array

12.1.8. .endpoints[].hints.forZones[]

説明
ForZone は、このエンドポイントを消費するゾーンに関する情報を提供します。
object
必須
  • name
Expand
プロパティー説明

name

string

name はゾーンの名前を表します。

12.1.9. .ports

説明
ポートは、このスライスの各エンドポイントによって公開されるネットワークポートのリストを指定します。各ポートには一意の名前を付ける必要があります。各スライスには、最大 100 個のポートを含めることができます。サービスには常に 1 つ以上のポートがあるため、EndpointSlice コントローラーによって生成された EndpointSlices は常に少なくとも 1 つのポートを持ちます。他の目的で使用される endpointslices には、空のポートリストがある場合があります。
array

12.1.10. .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 は、エンドポイントのポート番号を表します。EndpointSlice が Kubernetes サービスから派生している場合、これはサービスのターゲットポートに設定する必要があります。他の目的で使用されるエンドポイントスライスは、nil ポートを持つ場合があります。

protocol

string

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

Theme

© 2025 Red Hat