第3章 CustomResourceDefinition [apiextensions.k8s.io/v1]
- 説明
- CustomResourceDefinition は、API サーバーで公開する必要があるリソースを表します。その名前は <.spec.name>.<.spec.group> の形式でなければなりません。
- 型
- 
						object
- 必須
- 
								spec
 
- 
								
3.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 | |
| 
								 | 
								 | CustomResourceDefinitionSpec は、ユーザーがリソースをどのように表示するかを表します。 | 
| 
								 | 
								 | CustomResourceDefinitionStatus は CustomResourceDefinition の状態を示します。 | 
3.1.1. .spec
- 説明
- CustomResourceDefinitionSpec は、ユーザーがリソースをどのように表示するかを表します。
- 型
- 
								object
- 必須
- 
										group
- 
										names
- 
										scope
- 
										versions
 
- 
										
| プロパティー | 型 | 説明 | 
|---|---|---|
| 
									 | 
									 | CustomResourceConversion は、CR のさまざまなバージョンを変換する方法を説明します。 | 
| 
									 | 
									 | 
									group は、定義されたカスタムリソースの API グループです。カスタムリソースは  | 
| 
									 | 
									 | CustomResourceDefinitionNames は、この CustomResourceDefinition を提供する名前を示します | 
| 
									 | 
									 | 
									preserveUnknownFields は、OpenAPI スキーマで指定されていないオブジェクトフィールドを、ストレージに永続化するときに保持する必要があることを示します。apiVersion、kind、metadata、およびメタデータ内の既知のフィールドは常に保持されます。このフィールドは、 | 
| 
									 | 
									 | 
									スコープは、定義されたカスタムリソースがクラスタースコープか名前空間スコープかを示します。許可される値は、 | 
| 
									 | 
									 | version は、定義されたカスタムリソースのすべての API バージョンのリストです。バージョン名は、提供されたバージョンが API ディスカバリーにリストされる順序を計算するために使用されます。バージョン文字列が "kube-like" の場合、辞書式順序で並べられた "kube-like" ではないバージョン文字列の上に並べ替えられます。"Kube のような" バージョンは "v" で始まり、その後に数字 (メジャーバージョン) が続き、オプションで文字列 "alpha" または "beta" と別の数字 (マイナーバージョン) が続きます。これらは、最初に GA > ベータ > アルファ (GA はベータやアルファなどの接尾辞のないバージョン) でソートされ、次にメジャーバージョン、次にマイナーバージョンでソートされます。バージョンのソート済みリストの例: v10、v2、v1、v11beta2、v10beta3、v3beta1、v12alpha1、v11alpha2、foo1、foo10。 | 
| 
									 | 
									 | CustomResourceDefinitionVersion は、CRD のバージョンを表します。 | 
3.1.2. .spec.conversion
- 説明
- CustomResourceConversion は、CR のさまざまなバージョンを変換する方法を説明します。
- 型
- 
								object
- 必須
- 
										strategy
 
- 
										
| プロパティー | 型 | 説明 | 
|---|---|---|
| 
									 | 
									 | 
									ストラテジーは、カスタムリソースがバージョン間でどのように変換されるかを指定します。許可される値は次のとおりです。-  | 
| 
									 | 
									 | WebhookConversion は、変換 Webhook を呼び出す方法を説明します | 
3.1.3. .spec.conversion.webhook
- 説明
- WebhookConversion は、変換 Webhook を呼び出す方法を説明します
- 型
- 
								object
- 必須
- 
										conversionReviewVersions
 
- 
										
| プロパティー | 型 | 説明 | 
|---|---|---|
| 
									 | 
									 | WebhookClientConfig には、Webhook との TLS 接続を確立するための情報が含まれています。 | 
| 
									 | 
									 | 
									conversionReviewVersions は、Webhook が期待する優先される  | 
3.1.4. .spec.conversion.webhook.clientConfig
- 説明
- WebhookClientConfig には、Webhook との TLS 接続を確立するための情報が含まれています。
- 型
- 
								object
| プロパティー | 型 | 説明 | 
|---|---|---|
| 
									 | 
									 | caBundle は、PEM でエンコードされた CA バンドルであり、Webhook のサーバー証明書を検証するために使用されます。指定しない場合、apiserver のシステム信頼ルートが使用されます。 | 
| 
									 | 
									 | ServiceReference は、Service.legacy.k8s.io への参照を保持します | 
| 
									 | 
									 | 
									url は、Webhook の場所を標準の URL 形式 ( 
									 
									この Webhook を呼び出す必要がある可能性のある apiserver を実行するすべてのホストでこの Webhook を実行するように細心の注意を払わない限り、 スキームは "https" である必要があります。URL は "https://" で始まる必要があります。 パスはオプションであり、存在する場合は、URL で許可される任意の文字列にすることができます。パスを使用して、クラスター識別子などの任意の文字列を Webhook に渡すことができます。 ユーザーまたは基本認証 ("user:password@" など) を使用することは許可されていません。フラグメント ("#…") とクエリーパラメーター ("?…") も許可されていません。 | 
3.1.5. .spec.conversion.webhook.clientConfig.service
- 説明
- ServiceReference は、Service.legacy.k8s.io への参照を保持します
- 型
- 
								object
- 必須
- 
										namespace
- 
										name
 
- 
										
| プロパティー | 型 | 説明 | 
|---|---|---|
| 
									 | 
									 | name はサービスの名前です。必須 | 
| 
									 | 
									 | namespace は、サービスの名前空間です。必須 | 
| 
									 | 
									 | path は、Webhook が接続されるオプションの URL パスです。 | 
| 
									 | 
									 | 
									port は、Webhook が接続されるオプションのサービスポートです。 | 
3.1.6. .spec.names
- 説明
- CustomResourceDefinitionNames は、この CustomResourceDefinition を提供する名前を示します
- 型
- 
								object
- 必須
- 
										複数
- 
										kind
 
- 
										
| プロパティー | 型 | 説明 | 
|---|---|---|
| 
									 | 
									 | 
									カテゴリーは、このカスタムリソースが属するグループ化されたリソースのリストです (例: 'すべて')。これは API 検出ドキュメントで公開され、クライアントが  | 
| 
									 | 
									 | 
									kind は、リソースのシリアル化された種類です。通常は CamelCase で単数です。カスタムリソースインスタンスは、この値を API 呼び出しの  | 
| 
									 | 
									 | listKind は、このリソースのリストのシリアル化された種類です。デフォルトは "`kind`List" です。 | 
| 
									 | 
									 | 
									複数形は、提供するリソースの複数形の名前です。カスタムリソースは  | 
| 
									 | 
									 | 
									shortNames はリソースの短縮名であり、API 検出ドキュメントで公開され、クライアントが  | 
| 
									 | 
									 | 
									singular は、リソースの単数名です。すべて小文字である必要があります。デフォルトは小文字  | 
3.1.7. .spec.versions
- 説明
- version は、定義されたカスタムリソースのすべての API バージョンのリストです。バージョン名は、提供されたバージョンが API ディスカバリーにリストされる順序を計算するために使用されます。バージョン文字列が "kube-like" の場合、辞書式順序で並べられた "kube-like" ではないバージョン文字列の上に並べ替えられます。"Kube のような" バージョンは "v" で始まり、その後に数字 (メジャーバージョン) が続き、オプションで文字列 "alpha" または "beta" と別の数字 (マイナーバージョン) が続きます。これらは、最初に GA > ベータ > アルファ (GA はベータやアルファなどの接尾辞のないバージョン) でソートされ、次にメジャーバージョン、次にマイナーバージョンでソートされます。バージョンのソート済みリストの例: v10、v2、v1、v11beta2、v10beta3、v3beta1、v12alpha1、v11alpha2、foo1、foo10。
- 型
- 
								array
3.1.8. .spec.versions[]
- 説明
- CustomResourceDefinitionVersion は、CRD のバージョンを表します。
- 型
- 
								object
- 必須
- 
										name
- 
										served
- 
										storage
 
- 
										
| プロパティー | 型 | 説明 | 
|---|---|---|
| 
									 | 
									 | additionalPrinterColumns は、テーブル出力で返される追加の列を指定します。詳細は、https://kubernetes.io/docs/reference/using-api/api-concepts/#receiving-resources-as-tables を参照してください。列が指定されていない場合、カスタムリソースの経過時間を表示する単一の列が使用されます。 | 
| 
									 | 
									 | CustomResourceColumnDefinition は、サーバー側の印刷用の列を指定します。 | 
| 
									 | 
									 | deprecated は、このバージョンのカスタムリソース API が非推奨であることを示します。true に設定すると、このバージョンへの API リクエストは、サーバー応答で警告ヘッダーを受け取ります。デフォルトは false です。 | 
| 
									 | 
									 | 
									deprecationWarning は、API クライアントに返されるデフォルトの警告を上書きします。 | 
| 
									 | 
									 | 
									name はバージョン名です。たとえば、"v1"、"v2beta1" などです。カスタムリソースは、このバージョンで  | 
| 
									 | 
									 | CustomResourceValidation は、CustomResources の検証メソッドのリストです。 | 
| 
									 | 
									 | 提供は、このバージョンが REST API を介して提供されることを有効/無効にするフラグです。 | 
| 
									 | 
									 | storage は、カスタムリソースをストレージに永続化するときにこのバージョンを使用する必要があることを示します。storage=true のバージョンが 1 つだけ存在する必要があります。 | 
| 
									 | 
									 | CustomResourceSubresources は、CustomResources のステータスとスケールサブリソースを定義します。 | 
3.1.9. .spec.versions[].additionalPrinterColumns
- 説明
- additionalPrinterColumns は、テーブル出力で返される追加の列を指定します。詳細は、https://kubernetes.io/docs/reference/using-api/api-concepts/#receiving-resources-as-tables を参照してください。列が指定されていない場合、カスタムリソースの経過時間を表示する単一の列が使用されます。
- 型
- 
								array
3.1.10. .spec.versions[].additionalPrinterColumns[]
- 説明
- CustomResourceColumnDefinition は、サーバー側の印刷用の列を指定します。
- 型
- 
								object
- 必須
- 
										name
- 
										type
- 
										jsonPath
 
- 
										
| プロパティー | 型 | 説明 | 
|---|---|---|
| 
									 | 
									 | description は、この列の人間が読める形式の説明です。 | 
| 
									 | 
									 | format は、この列のオプションの OpenAPI タイプ定義です。'name' 形式は、クライアントが列がリソース名であることを識別するのを支援するために、1 次 ID 列に適用されます。詳細は、https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types を参照してください。 | 
| 
									 | 
									 | jsonPath は、この列の値を生成するために各カスタムリソースに対して評価される単純な JSON パス (つまり、配列表記を使用) です。 | 
| 
									 | 
									 | name は、人間が読める形式の列の名前です。 | 
| 
									 | 
									 | priority は、他の列と比較したこの列の相対的な重要度を定義する整数です。数値が小さいほど優先度が高いと見なされます。限られたスペースのシナリオで省略される可能性のある列には、0 より大きい優先順位を与える必要があります。 | 
| 
									 | 
									 | type は、この列の OpenAPI 型定義です。詳細は、https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types を参照してください。 | 
3.1.11. .spec.versions[].schema
- 説明
- CustomResourceValidation は、CustomResources の検証メソッドのリストです。
- 型
- 
								object
| プロパティー | 型 | 説明 | 
|---|---|---|
| 
									 | openAPIV3Schema は、検証とプルーニングに使用する OpenAPIv3 スキーマです。 | 
3.1.12. .spec.versions[].subresources
- 説明
- CustomResourceSubresources は、CustomResources のステータスとスケールサブリソースを定義します。
- 型
- 
								object
| プロパティー | 型 | 説明 | 
|---|---|---|
| 
									 | 
									 | CustomResourceSubresourceScale は、CustomResources のスケールサブリソースを提供する方法を定義します。 | 
| 
									 | 
									 | 
									CustomResourceSubresourceStatus は、CustomResources のステータスサブリソースを提供する方法を定義します。ステータスは、CustomResource 内の  | 
3.1.13. .spec.versions[].subresources.scale
- 説明
- CustomResourceSubresourceScale は、CustomResources のスケールサブリソースを提供する方法を定義します。
- 型
- 
								object
- 必須
- 
										specReplicasPath
- 
										statusReplicasPath
 
- 
										
| プロパティー | 型 | 説明 | 
|---|---|---|
| 
									 | 
									 | 
									labelSelectorPath は、 | 
| 
									 | 
									 | 
									specReplicasPath は、 | 
| 
									 | 
									 | 
									statusReplicasPath は、 | 
3.1.14. .spec.versions[].subresources.status
- 説明
- 
								CustomResourceSubresourceStatus は、CustomResources のステータスサブリソースを提供する方法を定義します。ステータスは、CustomResource 内の .statusJSON パスで表されます。設定すると、*カスタムリソースの/status サブリソースを公開します*/status サブリソースへの PUT リクエストはカスタムリソースオブジェクトを取得し、ステータススタンザ以外の変更を無視します*カスタムリソースへの PUT/POST/PATCH リクエストは変更を無視しますステータススタンザ
- 型
- 
								object
3.1.15. .status
- 説明
- CustomResourceDefinitionStatus は CustomResourceDefinition の状態を示します。
- 型
- 
								object
| プロパティー | 型 | 説明 | 
|---|---|---|
| 
									 | 
									 | CustomResourceDefinitionNames は、この CustomResourceDefinition を提供する名前を示します | 
| 
									 | 
									 | 条件は、CustomResourceDefinition の特定の側面の状態を示します | 
| 
									 | 
									 | CustomResourceDefinitionCondition には、この Pod の現在の状態の詳細が含まれています。 | 
| 
									 | 
									 | 
									storedVersions は、これまでに永続化された CustomResources のすべてのバージョンをリスト表示します。これらのバージョンを追跡すると、etcd に保存されているバージョンの移行パスが可能になります。このフィールドは変更可能であるため、移行コントローラーは別のバージョンへの移行を完了し (古いオブジェクトがストレージに残っていないことを確認)、残りのバージョンをこのリストから削除できます。このリストに存在するバージョンは、 | 
3.1.16. .status.acceptedNames
- 説明
- CustomResourceDefinitionNames は、この CustomResourceDefinition を提供する名前を示します
- 型
- 
								object
- 必須
- 
										複数
- 
										kind
 
- 
										
| プロパティー | 型 | 説明 | 
|---|---|---|
| 
									 | 
									 | 
									カテゴリーは、このカスタムリソースが属するグループ化されたリソースのリストです (例: 'すべて')。これは API 検出ドキュメントで公開され、クライアントが  | 
| 
									 | 
									 | 
									kind は、リソースのシリアル化された種類です。通常は CamelCase で単数です。カスタムリソースインスタンスは、この値を API 呼び出しの  | 
| 
									 | 
									 | listKind は、このリソースのリストのシリアル化された種類です。デフォルトは "`kind`List" です。 | 
| 
									 | 
									 | 
									複数形は、提供するリソースの複数形の名前です。カスタムリソースは  | 
| 
									 | 
									 | 
									shortNames はリソースの短縮名であり、API 検出ドキュメントで公開され、クライアントが  | 
| 
									 | 
									 | 
									singular は、リソースの単数名です。すべて小文字である必要があります。デフォルトは小文字  | 
3.1.17. .status.conditions
- 説明
- 条件は、CustomResourceDefinition の特定の側面の状態を示します
- 型
- 
								array
3.1.18. .status.conditions[]
- 説明
- CustomResourceDefinitionCondition には、この Pod の現在の状態の詳細が含まれています。
- 型
- 
								object
- 必須
- 
										type
- 
										status
 
- 
										
| プロパティー | 型 | 説明 | 
|---|---|---|
| 
									 | time | lastTransitionTime は、ある状態から別の状態に最後に遷移した時間です。 | 
| 
									 | 
									 | message は、最後の遷移の詳細を示す人が判読できるメッセージです。 | 
| 
									 | 
									 | 理由は、条件の最後の遷移の一意の 1 単語の CamelCase 理由です。 | 
| 
									 | 
									 | status は、状態のステータスです。True、False、Unknown の場合があります。 | 
| 
									 | 
									 | type は、条件のタイプです。タイプには、Established、NamesAccepted、および Terminating が含まれます。 |