10.4.3. オブジェクト一覧の生成
CLI を使用して、標準出力にオブジェクト一覧を返すテンプレートを定義するファイルを処理できます。
oc process -f <filename>
$ oc process -f <filename>
または、テンプレートがすでに現在のプロジェクトにアップロードされている場合には以下を実行します。
oc process <template_name>
$ oc process <template_name>
テンプレートを処理し、oc create の出力をパイプして、テンプレートからオブジェクトを作成することができます。
oc process -f <filename> | oc create -f -
$ oc process -f <filename> | oc create -f -
または、テンプレートがすでに現在のプロジェクトにアップロードされている場合には以下を実行します。
oc process <template> | oc create -f -
$ oc process <template> | oc create -f -
上書きする <name>=<value> の各ペアに -p オプションを追加することで、ファイルに定義された parameter の値を上書きできます。パラメーター参照は、テンプレートアイテム内のテキストフィールドに表示される場合があります。
たとえば、テンプレートの以下の POSTGRESQL_USER および POSTGRESQL_DATABASE パラメーターを上書きし、カスタマイズされた環境変数の設定を出力します。
例10.1 テンプレートからのオブジェクト一覧の作成
oc process -f my-rails-postgresql \
-p POSTGRESQL_USER=bob \
-p POSTGRESQL_DATABASE=mydatabase
$ oc process -f my-rails-postgresql \
-p POSTGRESQL_USER=bob \
-p POSTGRESQL_DATABASE=mydatabase
JSON ファイルは、ファイルにリダイレクトすることも、oc create コマンドで処理済みの出力をパイプして、テンプレートをアップロードせずに直接適用することも可能です。
oc process -f my-rails-postgresql \
-p POSTGRESQL_USER=bob \
-p POSTGRESQL_DATABASE=mydatabase \
| oc create -f -
$ oc process -f my-rails-postgresql \
-p POSTGRESQL_USER=bob \
-p POSTGRESQL_DATABASE=mydatabase \
| oc create -f -
多数のパラメーターがある場合は、それらをファイルに保存してからそのファイルを oc process に渡すことができます。
cat postgres.env POSTGRESQL_USER=bob POSTGRESQL_DATABASE=mydatabase $ oc process -f my-rails-postgresql --param-file=postgres.env
$ cat postgres.env
POSTGRESQL_USER=bob
POSTGRESQL_DATABASE=mydatabase
$ oc process -f my-rails-postgresql --param-file=postgres.env
--param-file の引数として "-" を使用して、標準入力から環境を読み込むこともできます。
sed s/bob/alice/ postgres.env | oc process -f my-rails-postgresql --param-file=-
$ sed s/bob/alice/ postgres.env | oc process -f my-rails-postgresql --param-file=-