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=-