10.4. CLI を使用してテンプレートから作成する手順
CLI を使用して、テンプレートを処理し、オブジェクトを作成するために生成された設定を使用できます。
10.4.1. ラベル リンクのコピーリンクがクリップボードにコピーされました!
ラベルは、Pod などの生成されたオブジェクトを管理し、整理するために使用されます。テンプレートで指定されるラベルは、テンプレートから生成されるすべてのオブジェクトに適用されます。
コマンドラインからテンプレートにラベルを追加する機能もあります。
oc process -f <filename> -l name=otherLabel
$ oc process -f <filename> -l name=otherLabel
10.4.2. パラメーター リンクのコピーリンクがクリップボードにコピーされました!
上書きできるパラメーターの一覧は、テンプレートの parameters セクションに表示されます。以下のコマンドで使用するファイルを指定して、CLI でパラメーター一覧を追加できます。
oc process --parameters -f <filename>
$ oc process --parameters -f <filename>
または、テンプレートがすでにアップロードされている場合には、以下を実行します。
oc process --parameters -n <project> <template_name>
$ oc process --parameters -n <project> <template_name>
たとえば、デフォルトの openshift プロジェクトにあるクイックスタートテンプレートのいずれかに対してパラメーターを一覧表示する場合に、以下のような出力が表示されます。
この出力から、テンプレートの処理時に正規表現のようなジェネレーターで生成された複数のパラメーターを特定できます。
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=-