2.8. CRD
2.8.1. カスタムリソース定義からのリソースの管理 リンクのコピーリンクがクリップボードにコピーされました!
以下では、開発者がカスタムリソース定義 (CRD) にあるカスタムリソース (CR) をどのように管理できるかを説明します。
2.8.1.1. カスタムリソース定義 リンクのコピーリンクがクリップボードにコピーされました!
						Kubernetes API では、リソース は特定の種類の API オブジェクトのコレクションを保管するエンドポイントです。たとえば、ビルトインされた Pods リソースには、Pod オブジェクトのコレクションが含まれます。
					
カスタムリソース定義 (CRD) オブジェクトは、クラスター内に新規の固有オブジェクト kind を定義し、Kubernetes API サーバーにそのライフサイクル全体を処理させます。
カスタムリソース (CR) オブジェクトは、クラスター管理者によってクラスターに追加された CRD から作成され、すべてのクラスターユーザーが新規リソースタイプをプロジェクトに追加できるようにします。
Operator はとりわけ CRD を必要な RBAC ポリシーおよび他のソフトウェア固有のロジックでパッケージ化することで CRD を利用します。
2.8.1.2. ファイルからのカスタムリソースの作成 リンクのコピーリンクがクリップボードにコピーされました!
カスタムリソース定義 (CRD) がクラスターに追加された後に、クラスターリソース (CR) は CR 仕様を使用するファイルを使って CLI で作成できます。
手順
CR の YAML ファイルを作成します。以下の定義例では、
cronSpecとimageのカスタムフィールドがKind: CronTabの CR に設定されます。このKindは、CRD オブジェクトのspec.kindフィールドから取得されます。CR の YAML ファイルサンプル
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルの作成後に、オブジェクトを作成します。
oc create -f <file_name>.yaml
$ oc create -f <file_name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
2.8.1.3. カスタムリソースの検査 リンクのコピーリンクがクリップボードにコピーされました!
CLI を使用してクラスターに存在するカスタムリソース (CR) オブジェクトを検査できます。
前提条件
- CR オブジェクトがアクセスできる namespace にあること。
 
手順
CR の特定の kind に関する情報を取得するには、以下を実行します。
oc get <kind>
$ oc get <kind>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc get crontab
$ oc get crontabCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME KIND my-new-cron-object CronTab.v1.stable.example.com
NAME KIND my-new-cron-object CronTab.v1.stable.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow リソース名では大文字と小文字が区別されず、CRD で定義される単数形または複数形のいずれか、および任意の短縮名を指定できます。以下に例を示します。
oc get crontabs
$ oc get crontabsCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc get crontab
$ oc get crontabCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc get ct
$ oc get ctCopy to Clipboard Copied! Toggle word wrap Toggle overflow CR の未加工の YAML データを確認することもできます。
oc get <kind> -o yaml
$ oc get <kind> -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc get ct -o yaml
$ oc get ct -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow