8.4. CLI を使用してテンプレートからオブジェクトを作成する手順
CLI を使用して、テンプレートを処理し、オブジェクトを作成するために生成された設定を使用できます。
8.4.1. ラベルの追加
ラベルは、Pod などの生成されたオブジェクトを管理し、整理するために使用されます。テンプレートで指定されるラベルは、テンプレートから生成されるすべてのオブジェクトに適用されます。
手順
コマンドラインからテンプレートにラベルを追加します。
$ oc process -f <filename> -l name=otherLabel
8.4.2. パラメーターの一覧表示
上書きできるパラメーターの一覧は、テンプレートのparameters
セクションに表示されます。
手順
CLI で以下のコマンドを使用し、使用するファイルを指定して、パラメーターを一覧表示することができます。
$ oc process --parameters -f <filename>
または、テンプレートがすでにアップロードされている場合には、以下を実行します。
$ oc process --parameters -n <project> <template_name>
たとえば、デフォルトの openshift プロジェクトにあるクイックスタートテンプレートのいずれかに対してパラメーターを一覧表示する場合に、以下のような出力が表示されます。
$ oc process --parameters -n openshift rails-postgresql-example NAME DESCRIPTION GENERATOR VALUE SOURCE_REPOSITORY_URL The URL of the repository with your application source code https://github.com/sclorg/rails-ex.git SOURCE_REPOSITORY_REF Set this to a branch name, tag or other ref of your repository if you are not using the default branch CONTEXT_DIR Set this to the relative path to your project if it is not in the root of your repository APPLICATION_DOMAIN The exposed hostname that will route to the Rails service rails-postgresql-example.openshiftapps.com GITHUB_WEBHOOK_SECRET A secret string used to configure the GitHub webhook expression [a-zA-Z0-9]{40} SECRET_KEY_BASE Your secret key for verifying the integrity of signed cookies expression [a-z0-9]{127} APPLICATION_USER The application user that is used within the sample application to authorize access on pages openshift APPLICATION_PASSWORD The application password that is used within the sample application to authorize access on pages secret DATABASE_SERVICE_NAME Database service name postgresql POSTGRESQL_USER database username expression user[A-Z0-9]{3} POSTGRESQL_PASSWORD database password expression [a-zA-Z0-9]{8} POSTGRESQL_DATABASE database name root POSTGRESQL_MAX_CONNECTIONS database max connections 10 POSTGRESQL_SHARED_BUFFERS database shared buffers 12MB
この出力から、テンプレートの処理時に正規表現のようなジェネレーターで生成された複数のパラメーターを特定できます。
8.4.3. オブジェクト一覧の生成
CLI を使用して、標準出力にオブジェクト一覧を返すテンプレートを定義するファイルを処理できます。
手順
標準出力にオブジェクト一覧を返すテンプレートを定義するファイルを処理します。
$ oc process -f <filename>
または、テンプレートがすでに現在のプロジェクトにアップロードされている場合には以下を実行します。
$ oc process <template_name>
テンプレートを処理し、
oc create
の出力をパイプして、テンプレートからオブジェクトを作成します。$ oc process -f <filename> | oc create -f -
または、テンプレートがすでに現在のプロジェクトにアップロードされている場合には以下を実行します。
$ oc process <template> | oc create -f -
上書きする
<name>=<value>
の各ペアに、-p
オプションを追加することで、ファイルに定義されたパラメーターの値を上書きできます。パラメーター参照は、テンプレートアイテム内のテキストフィールドに表示される場合があります。たとえば、テンプレートの以下の
POSTGRESQL_USER
およびPOSTGRESQL_DATABASE
パラメーターを上書きし、カスタマイズされた環境変数の設定を出力します。テンプレートからのオブジェクト一覧の作成
$ 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
に渡すことができます。$ 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=-