第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. 仕様 リンクのコピーリンクがクリップボードにコピーされました!
プロパティー | 型 | 説明 |
---|---|---|
|
| apiVersion はオブジェクトのこの表現のバージョンスキーマを定義します。サーバーは認識されたスキーマを最新の内部値に変換し、認識されない値は拒否することがあります。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources を参照してください。 |
|
| kind はこのオブジェクトが表す REST リソースを表す文字列の値です。サーバーはクライアントが要求を送信するエンドポイントからこれを推測できることがあります。これは更新できません。CamelCase を使用します。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。 |
| 標準オブジェクトのメタデータ。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata を参照してください。 | |
|
| Spec は、GatewayClass の望ましい状態を定義します。 |
|
| status は、GatewayClass の現在の状態を定義します。 実装では、コントローラー名を指定するすべての GatewayClass リソースにステータスを設定する必要があります。 |
16.1.1. .spec リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- Spec は、GatewayClass の望ましい状態を定義します。
- 型
-
object
- 必須
-
controllerName
-
プロパティー | 型 | 説明 |
---|---|---|
|
| ControllerName は、このクラスのゲートウェイを管理しているコントローラーの名前です。このフィールドの値は、接頭辞としてドメインが追加されたパスである必要があります。 例: "example.net/gateway-controller" このフィールドは変更不可であり、空にすることはできません。 サポート: Core |
|
| description は、GatewayClass をより詳細に説明するために役立ちます。 |
|
| ParametersRef は、GatewayClass に対応する設定パラメーターが含まれるリソースへの参照です。コントローラーに追加の設定が必要ない場合はオプションです。 ParametersRef は、標準の Kubernetes リソース (つまり ConfigMap) または実装固有のカスタムリソースを参照できます。タースコープと namespace スコープのリソースが対象です。 参照先が見つからない場合、サポートされていない kind を参照している場合、またはそのリソース内のデータが不正な形式である場合、GatewayClass は "Accepted" ステータス条件が "False" に設定され、"InvalidParameters" の理由で拒否される必要があります。
この GatewayClass のゲートウェイは独自の サポート: 実装固有 |
16.1.2. .spec.parametersRef リンクのコピーリンクがクリップボードにコピーされました!
- 説明
ParametersRef は、GatewayClass に対応する設定パラメーターが含まれるリソースへの参照です。コントローラーに追加の設定が必要ない場合はオプションです。
ParametersRef は、標準の Kubernetes リソース (つまり ConfigMap) または実装固有のカスタムリソースを参照できます。タースコープと namespace スコープのリソースが対象です。
参照先が見つからない場合、サポートされていない kind を参照している場合、またはそのリソース内のデータが不正な形式である場合、GatewayClass は "Accepted" ステータス条件が "False" に設定され、"InvalidParameters" の理由で拒否される必要があります。
この GatewayClass のゲートウェイは独自の
parametersRef
を提供する場合があります。両方が指定されている場合、マージ動作は実装固有です。一般的に、GatewayClass では、ゲートウェイによってオーバーライドできるデフォルトを指定することが推奨されます。サポート: 実装固有
- 型
-
object
- 必須
-
group
-
kind
-
name
-
プロパティー | 型 | 説明 |
---|---|---|
|
| group は参照先のグループです。 |
|
| kind は参照先の kind です。 |
|
| name は参照先の名前です。 |
|
| namespace は参照先の namespace です。このフィールドは、namespace スコープのリソースを参照する場合は必須です。クラスタースコープのリソースを参照する場合は、設定を解除する必要があります。 |
16.1.3. .status リンクのコピーリンクがクリップボードにコピーされました!
- 説明
status は、GatewayClass の現在の状態を定義します。
実装では、コントローラー名を指定するすべての GatewayClass リソースにステータスを設定する必要があります。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| Conditions は、この GatewayClass のコントローラーからの現在のステータスです。 コントローラーは、各 condition のタイプに応じて GatewayClassConditionType の値を使用して条件を公開することを優先する必要があります。 |
|
| 条件には、この 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
-
プロパティー | 型 | 説明 |
---|---|---|
|
| lastTransitionTime は、ある状態から別の状態に最後に遷移した時間です。これは、基本的な条件が変更された時点となります。不明な場合には、API フィールドが変更された時点を使用することも可能です。 |
|
| message は、遷移の詳細を示す人が判読できるメッセージです。空の文字列の場合もあります。 |
|
| observedGeneration は、それをベースに条件が設定された .metadata.generation を表します。たとえば、.metadata.generation が現在 12 で、.status.conditions[x].observedGeneration が 9 の場合、インスタンスの現在の状態に対して条件が古くなっています。 |
|
| reason には、条件の最後の遷移の理由を示すプログラムによる識別子が含まれます。特定の条件タイプのプロデューサーは、このフィールドの期待値と意味、および値が保証された API と見なされるかどうかを定義できます。値は CamelCase 文字列である必要があります。このフィールドには空白を指定できません。 |
|
| 条件のステータス、True、False、Unknown のいずれか。 |
|
| CamelCase または foo.example.com/CamelCase の条件のタイプ。 |