第12章 EndpointSlice [discovery.k8s.io/v1]
- 説明
-
EndpointSlice は、一連のサービスエンドポイントを表します。ほとんどの EndpointSlices は、Service オブジェクトで選択された Pod を表すために EndpointSlice コントローラーによって作成されます。特定のサービスには、エンドポイントの完全なセットを生成するために参加する必要がある複数の EndpointSlice オブジェクトが存在する場合があります。
kubernetes.io/service-name
ラベルにサービス名が含まれるサービスの namespace で EndpointSlices をリストすることにより、特定のサービスのすべてのスライスを見つけることができます。 - 型
-
object
- 必須
-
addressType
-
endpoints
-
12.1. 仕様 リンクのコピーリンクがクリップボードにコピーされました!
プロパティー | 型 | 説明 |
---|---|---|
|
| addressType は、この EndpointSlice によって伝送されるアドレスのタイプを指定します。このスライスのすべてのアドレスは同じタイプである必要があります。このフィールドは、作成後は不変です。現在、次のアドレスタイプがサポートされています。* IPv4:IPv4 アドレスを表します。* IPv6:IPv6 アドレスを表します。* FQDN: 完全修飾ドメイン名を表します。(非推奨)EndpointSlice コントローラーは生成され、kube-proxy のみが addressType "IPv4" および "IPv6" のスライスのみを生成します。FQDN タイプにはセマンティクスが定義されていません。
使用可能な列挙値: - |
|
| apiVersion はオブジェクトのこの表現のバージョンスキーマを定義します。サーバーは認識されたスキーマを最新の内部値に変換し、認識されない値は拒否することがあります。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources を参照してください。 |
|
| エンドポイントは、このスライス内の一意のエンドポイントのリストです。各スライスには、最大 1000 のエンドポイントを含めることができます。 |
|
| エンドポイントは、サービスを実装する単一の論理的な "バックエンド" を表します。 |
|
| kind はこのオブジェクトが表す REST リソースを表す文字列の値です。サーバーはクライアントが要求を送信するエンドポイントからこれを推測できることがあります。これは更新できません。CamelCase を使用します。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。 |
| 標準オブジェクトのメタデータ。 | |
|
| ポートは、このスライスの各エンドポイントによって公開されるネットワークポートのリストを指定します。各ポートには一意の名前を付ける必要があります。各スライスには、最大 100 個のポートを含めることができます。サービスには常に 1 つ以上のポートがあるため、EndpointSlice コントローラーによって生成された EndpointSlices は常に少なくとも 1 つのポートを持ちます。他の目的で使用される endpointslices には、空のポートリストがある場合があります。 |
|
| EndpointPort は、EndpointSlice によって使用されるポートを表します |
12.1.1. .endpoints リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- エンドポイントは、このスライス内の一意のエンドポイントのリストです。各スライスには、最大 1000 のエンドポイントを含めることができます。
- 型
-
array
12.1.2. .endpoints[] リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- エンドポイントは、サービスを実装する単一の論理的な "バックエンド" を表します。
- 型
-
object
- 必須
-
addresses
-
プロパティー | 型 | 説明 |
---|---|---|
|
| このエンドポイントのアドレス。addressType "IPv4" または "IPv6" の EndpointSlices の場合、値は正規の形式の IP アドレスです。他の addressType 値の構文およびセマンティクスは定義されません。これには、少なくとも 1 つのアドレスが含まれている必要がありますが、100 を超えてはなりません。EndpointSlice コントローラーによって生成された endpoint スライスには、常に 1 つのアドレスがあります。最初を超える追加のアドレスにはセマンティクスが定義されておらず、kube-proxy はこれらを確認しません。 |
|
| EndpointConditions は、エンドポイントの現在の状態を表します。 |
|
| deprecatedTopology には、v1beta1API のトポロジー情報部分が含まれています。このフィールドは非推奨であり、v1beta1 API が削除されると削除されます (kubernetes v1.24 より早く)。このフィールドは値を保持できますが、v1 API を介して書き込むことはできず、このフィールドに書き込もうとすると、黙って無視されます。トポロジー情報は、代わりに zone フィールドと nodeName フィールドにあります。 |
|
| EndpointHints は、エンドポイントの消費方法を説明するヒントを提供します。 |
|
| このエンドポイントのホスト名。このフィールドは、エンドポイントのコンシューマーがエンドポイントを相互に区別するために使用できます (DNS 名など)。同じホスト名を使用する複数のエンドポイントは代替可能と見なす必要があります (たとえば、DNS の複数の A 値)。小文字で、DNS ラベル (RFC 1123) 検証に合格する必要があります。 |
|
| nodeName は、このエンドポイントをホストしているノードの名前を表します。これは、ノードにローカルなエンドポイントを決定するために使用できます。 |
| targetRef は、このエンドポイントを表す Kubernetes オブジェクトへの参照です。 | |
|
| zone は、このエンドポイントが存在するゾーンの名前です。 |
12.1.3. .endpoints[].conditions リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- EndpointConditions は、エンドポイントの現在の状態を表します。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| ready は、エンドポイントを管理しているシステムに応じて、このエンドポイントがトラフィックを受信する準備ができていることを示します。nil 値は true として解釈する必要があります。一般に、エンドポイントは提供され、終了していない場合は準備完了としてマークする必要がありますが、関連付けられたサービスが publishNotReadyAddresses フラグを設定した場合など、これは場合によっては上書きできます。 |
|
| serving は、エンドポイントを管理しているシステムに応じて、このエンドポイントがトラフィックを受信できることを示します。Pod でサポートされるエンドポイントの場合、EndpointSlice コントローラーは、Pod の Ready 状態が True の場合に、エンドポイントを機能としてマークします。nil 値は true として解釈する必要があります。 |
|
| 終了は、このエンドポイントが終了していることを示します。nil 値は false として解釈する必要があります。 |
12.1.4. .endpoints[].hints リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- EndpointHints は、エンドポイントの消費方法を説明するヒントを提供します。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| forNodes は、トポロジー対応ルーティングを使用する場合に、このエンドポイントが消費する必要があるノードを示します。最大 8 つのエントリーを含めることができます。これはアルファベット機能であり、PreferSameTrafficDistribution フィーチャーゲートが有効になっている場合にのみ使用されます。 |
|
| ForNode は、このエンドポイントを消費するノードに関する情報を提供します。 |
|
| forZones は、トポロジー対応ルーティングを使用する場合に、このエンドポイントが消費する必要があるゾーンを示します。最大 8 つのエントリーを含めることができます。 |
|
| ForZone は、このエンドポイントを消費するゾーンに関する情報を提供します。 |
12.1.5. .endpoints[].hints.forNodes リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- forNodes は、トポロジー対応ルーティングを使用する場合に、このエンドポイントが消費する必要があるノードを示します。最大 8 つのエントリーを含めることができます。これはアルファベット機能であり、PreferSameTrafficDistribution フィーチャーゲートが有効になっている場合にのみ使用されます。
- 型
-
array
12.1.6. .endpoints[].hints.forNodes[] リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- ForNode は、このエンドポイントを消費するノードに関する情報を提供します。
- 型
-
object
- 必須
-
name
-
プロパティー | 型 | 説明 |
---|---|---|
|
| name はノードの名前を表します。 |
12.1.7. .endpoints[].hints.forZones リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- forZones は、トポロジー対応ルーティングを使用する場合に、このエンドポイントが消費する必要があるゾーンを示します。最大 8 つのエントリーを含めることができます。
- 型
-
array
12.1.8. .endpoints[].hints.forZones[] リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- ForZone は、このエンドポイントを消費するゾーンに関する情報を提供します。
- 型
-
object
- 必須
-
name
-
プロパティー | 型 | 説明 |
---|---|---|
|
| name はゾーンの名前を表します。 |
12.1.9. .ports リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- ポートは、このスライスの各エンドポイントによって公開されるネットワークポートのリストを指定します。各ポートには一意の名前を付ける必要があります。各スライスには、最大 100 個のポートを含めることができます。サービスには常に 1 つ以上のポートがあるため、EndpointSlice コントローラーによって生成された EndpointSlices は常に少なくとも 1 つのポートを持ちます。他の目的で使用される endpointslices には、空のポートリストがある場合があります。
- 型
-
array
12.1.10. .ports[] リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- EndpointPort は、EndpointSlice によって使用されるポートを表します
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| このポートのアプリケーションプロトコル。これは、実装が理解できるプロトコルの動作をさらに多く提供できるようにヒントとして使用されます。このフィールドは、標準の 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 は、このポートの名前を表します。EndpointSlice のすべてのポートには、一意の名前を付ける必要があります。EndpointSlice が Kubernetes サービスから派生している場合、これは Service.ports[].name に対応します。名前は空の文字列であるか、DNS_LABEL 検証に合格する必要があります。*長さは 63 文字以下である必要があります。* 小文字の英数字または '-' で構成する必要があります。*英数字で開始および終了する必要があります。デフォルトは空の文字列です。 |
|
| port は、エンドポイントのポート番号を表します。EndpointSlice が Kubernetes サービスから派生している場合、これはサービスのターゲットポートに設定する必要があります。他の目的で使用されるエンドポイントスライスは、nil ポートを持つ場合があります。 |
|
| protocol は、このポートの IP プロトコルを表します。UDP、TCP、または SCTP である必要があります。デフォルトは TCP です。
使用可能な列挙値: - |